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.
Integrations
BuiltWith
HubSpot
Google Sheets
Type
Categories
- Sales
- Operations
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 it does
- 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 you’ll need
- 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 to 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
Use cases
- Research & Monitoring
- Lead Enrichment