Map the full family of websites a company actually operates
Type a company name and get its whole web footprint in one table, with every site checked against your CRM so you know who is already a customer.
Build me a research workbench for mapping the full family of websites a company actually operates. I open it when I am vetting a partner, sizing up a competitor, or running diligence on an acquisition target, and I want a company's whole web footprint in one table instead of a pile of browser tabs.
The app opens on a list of saved portfolios. Each row shows the portfolio name, the company it was built from, the confirmed root domain, how many domains it holds and when I last ran it. I can open one to pick up where I left off, or start a new portfolio.
Starting a new portfolio begins with a company name. Use the BuiltWith Company to URL API to resolve that name to candidate root domains, and show me the candidates with the rank, country, spend estimate and social links that come back so I can pick the right one. Do not expand anything until I confirm the root domain. Company to URL returns candidate matches rather than a single answer, and getting this step wrong builds the entire portfolio on the wrong company.
Once I confirm the root domain, expand the portfolio with the BuiltWith Relationships API Lookup, which returns sites sharing analytics IDs, advertising IDs and IP addresses with the confirmed domain. Relationships is credit metered at one credit per 500 relationships and paginates with a numeric OFFSET, so load it a page at a time behind a Load more control with the running credit cost visible on screen. Never pull the whole set in one go without me asking for it.
Every discovered domain lands in a table. Enrich each one with the BuiltWith Domain API Lookup so I can see its technology stack, traffic rank, country and spend estimate next to the identifier that linked it into the portfolio. Let me sort and filter by any of those columns. Company to URL, Relationships and Tags all accept up to 16 comma separated lookups per request, so batch the enrichment and any multi branch expansion into batched calls rather than firing one request per domain.
When one thread looks interesting, let me chase a single identifier further. Selecting a shared identifier on a row, such as an IP address, an AdSense publisher ID or a Google Analytics code, runs a BuiltWith Tags API reverse lookup on that identifier and shows everything else carrying it, with a control to pull any of those results into the portfolio as new rows.
Cross reference the whole set against our CRM using HubSpot Search Companies, matching on the company domain. Give every row a clear status: already a customer, an open prospect somebody owns, or untouched. Show the matched HubSpot company name and record owner where there is one, and link out to the record.
Shared identifiers produce false positives, because a marketing agency or a shared host will reuse a tag across unrelated clients. Let me mark any domain as not related. That exclusion is saved against the portfolio and the domain stays hidden every time I open or re run that portfolio, not just for the current session. This is core functionality, not a nice to have, because a portfolio full of an agency's other clients is worthless. Keep a separate excluded list I can review and restore from, since I will occasionally rule something out too fast.
Portfolios save under a name I choose and hold the confirmed root domain, the discovered domains with their enrichment, the exclusion list and my notes, so I can come back weeks later and find everything as I left it. Finally, let me export the confirmed set to a Google Sheet with Append Values, adding one row per domain with the domain, a stack summary, rank, country, spend estimate, CRM status and owner, so the deal team can work straight from the spreadsheet.
What does this prompt do?
- Start from a company name, confirm the right main website, then expand outward to every other site that shares its tracking codes, advertising accounts or hosting
- See each discovered site in one table with its technology stack, traffic rank, country and estimated monthly spend
- Check every site against your HubSpot companies so you can tell customers from open prospects from names nobody has touched
- Mark false matches as not related once and they stay hidden next time you open that portfolio, then send the confirmed list to a Google Sheet for the deal team
What do I need to use this?
- A BuiltWith account on a paid plan, since the relationship and domain lookups this uses are not part of the free tier
- A HubSpot login with permission to view companies
- A Google account and a spreadsheet you want the confirmed list added to
How can I customize it?
- Change how far the expansion goes, so it stops after a set number of pages instead of chasing every last related site
- Adjust what counts as a customer versus an open prospect by pointing at different HubSpot fields such as lifecycle stage or record owner
- Change which columns get exported to the spreadsheet and the order they appear in
FAQs
Why do completely unrelated websites show up in my results?
If I mark a site as not related, is it gone forever?
Will this burn through my BuiltWith credits?
Can I save a portfolio and come back to it weeks later?
What if the company name I type matches the wrong website?
Related templates
Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.
Pick a date, a starting point and a radius, then build a sequenced day of customer visits that lands straight on your calendar.
One screen where reps filter for companies that fit, see who is actually reachable at each account, and save only the addresses that verify.
Drag creators through Sourced to Wrapped on a board grouped by campaign, with audience stats on every card and a one-click brief for each creator.
Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.
See the projected bounce rate for any outbound send before it goes out, and keep the launch button locked until the list is clean enough to be safe.
Stop guessing how many websites a company really runs.
Map a target's full web footprint, see which properties your team already knows, and hand the deal team a clean list.