domain enrichment: look up any company

You have a domain. Maybe it's from a website visitor log, a form submission, an email address, or a list of target accounts. You want to know: who is this company?

Domain enrichment takes a website URL and returns everything publicly knowable about the company behind it: name, industry, size, location, tech stack, social profiles, and more.

What Domain Enrichment Returns

Starting with just a domain:

$ enrich domain vercel.com --json
{
  "domain": "vercel.com",
  "company": "Vercel",
  "description": "Frontend cloud platform for building web experiences",
  "industry": "Cloud Computing / Developer Tools",
  "headcount": "500-1000",
  "founded": 2015,
  "location": "San Francisco, CA",
  "funding": "$313M total raised",
  "tech_stack": ["Next.js", "React", "Node.js", "Go", "Turborepo"],
  "social": {
    "twitter": "vercel",
    "linkedin": "company/vercel",
    "github": "vercel"
  }
}

One domain. A complete company profile.

How It Works

Domain enrichment providers maintain databases that map millions of domains to company records. The data comes from:

  • Company websites — About pages, team pages, footer information
  • DNS and WHOIS records — Registration data, nameservers
  • Technology detection — Scanning sites for JavaScript libraries, CDNs, analytics tools, marketing platforms
  • Public filings — SEC filings, corporate registrations
  • Professional networks — Employee data aggregated by company domain
  • News and press — Funding announcements, acquisitions, leadership changes

When you query a domain, the provider looks it up in their database and returns the compiled profile.

Use Cases

Website Visitor Identification

A visitor lands on your site from shopify.com. Without enrichment, you know nothing about them. With domain enrichment:

$ enrich domain shopify.com --json | jq '{company, industry, headcount}'
{
  "company": "Shopify",
  "industry": "E-Commerce Platform",
  "headcount": "10000+"
}

Now you know a 10,000+ employee e-commerce company is checking out your product. That's a signal worth routing to your enterprise sales team.

Account-Based Marketing (ABM)

You have a list of 200 target account domains. Enrichment gives you the firmographic data to segment them:

$ cat target_domains.txt | while read domain; do
    enrich domain "$domain" --json
  done | jq -r '[.domain, .company, .headcount, .industry] | @csv' > accounts.csv

Now you can:

  • Prioritize large companies over small ones
  • Group accounts by industry for vertical-specific messaging
  • Identify which accounts use competing technologies

Competitive Intelligence

What tech stack does your competitor use?

$ enrich domain competitor.com --json | jq '.tech_stack'
["React", "AWS", "Segment", "Intercom", "Stripe", "Datadog"]

They use Segment for analytics, Intercom for support, and Datadog for monitoring. If you sell an alternative to any of those, you know their stack.

Lead Scoring

Not all leads are equal. A signup from google.com is different from a signup from a 5-person agency. Domain enrichment provides the signals for automatic lead scoring:

$ enrich domain "$lead_domain" --json | jq '
  if .headcount | test("1000|5000|10000") then "enterprise"
  elif .headcount | test("100|200|500") then "mid-market"
  else "smb"
  end'

Email Domain Intelligence

Every professional email reveals a domain. Before enriching the person, enrich the company:

$ echo "sarah@datadog.com" | cut -d'@' -f2 | xargs enrich domain --json

This gives you company context even when person-level enrichment returns sparse results.

Tech Stack Detection

One of the most valuable aspects of domain enrichment is technology detection. By analyzing a website's HTML, JavaScript, HTTP headers, and DNS records, enrichment providers can identify:

  • Frontend frameworks — React, Vue, Angular, Next.js, Nuxt
  • Backend technologies — Node.js, Python/Django, Ruby on Rails, Go
  • Cloud infrastructure — AWS, GCP, Azure, Cloudflare
  • Analytics — Google Analytics, Segment, Mixpanel, Amplitude
  • Marketing tools — HubSpot, Marketo, Mailchimp, Intercom
  • Payment processing — Stripe, Braintree, PayPal
  • Monitoring — Datadog, New Relic, Sentry
  • CMS — WordPress, Contentful, Sanity, Ghost

This is goldmine data for selling developer tools and SaaS products. If a company uses Segment and you sell a Segment alternative, they're a qualified prospect by definition.

$ cat domains.txt | while read d; do
    enrich domain "$d" --json
  done | jq 'select(.tech_stack[] | test("Segment"))' | jq -r '.company'

Domain Enrichment vs. WHOIS Lookup

WHOIS gives you domain registration data: registrar, creation date, expiration date, nameservers, and (sometimes) registrant contact info. Since GDPR, most WHOIS records are redacted for privacy.

Domain enrichment goes far beyond WHOIS. It identifies the business behind the domain, not just the domain's registration details.

WHOISDomain Enrichment
RegistrarYesNo
Registration dateYesSometimes
Company nameSometimes (redacted)Yes
IndustryNoYes
HeadcountNoYes
RevenueNoYes
Tech stackNoYes
Social profilesNoYes
Funding dataNoYes

WHOIS tells you who registered the domain. Enrichment tells you about the business.

Tips for Better Domain Enrichment

Use Root Domains

Enrich stripe.com, not docs.stripe.com or www.stripe.com. Enrichment providers map root domains to companies. Subdomains may not match.

Handle Redirects

Some domains redirect to others. stripe.dev redirects to stripe.com. If enrichment returns nothing for a domain, check if it redirects.

Filter Out Non-Company Domains

Free email providers (gmail.com, yahoo.com), URL shorteners (bit.ly), and CDNs (cloudfront.net) aren't companies. Filter them out before enriching:

$ cat domains.txt | grep -v -E '(gmail|yahoo|hotmail|outlook|bit\.ly|cloudfront|amazonaws)' > company_domains.txt

Combine with Person Enrichment

Domain enrichment gives you the company. Person enrichment gives you the people. Together, you get the full picture:

$ enrich domain stripe.com --json > company.json
$ enrich email ceo@stripe.com --json > person.json
$ jq -s '.[0] * .[1]' company.json person.json

Getting Started

$ brew install enrichcli/tap/enrichcli

$ enrich domain stripe.com
$ enrich domain vercel.com
$ enrich domain linear.app

$ cat domains.txt | while read d; do enrich domain "$d" --json; done > results.jsonl

50 free enrichments per day. No browser, no dashboard, no annual contract.

start enriching data from the command line.

get started free

50 free enrichments per day. no credit card required.