Company data enrichment adds fields such as employee count, revenue, industry code, and headquarters address to a company record, matched by its domain rather than an email address.
A dedicated provider prices this by the record, commonly $0.01 to $0.05 each. Contact level lookups price by the person and usually cost more.
What you need before you enrich company records
This starts with a list, not a search box. Before a spreadsheet formula or a provider touches it, four things need deciding.
A list of company domains, not names alone. A domain usually resolves to one company. A name like Delta or Phoenix does not.
A short list of target fields, not the full menu a vendor advertises. Ten fields used well beat forty nobody checks.
A cadence decision. A one time cleanup suits a static list. An ongoing feed suits a list that grows every week.
Who is doing the work. A founder testing a hundred domains by hand needs a different path than a team running ten thousand through an API every month.
The record is a company, not a contact
A contact record describes one person. A company record describes an organization that might employ ten people or ten thousand. That difference changes almost everything about how the work runs.
Contact enrichment matches on an email address, or a name paired with a company. Company enrichment matches on a domain, sometimes a legal entity name, and never a personal identifier.
One company record can sit underneath fifty contact records. An error in the company layer repeats fifty times instead of once.
The four stage enrichment process covers matching, verifying, and writing data back for any record type, and a company record follows the same four stages.
What changes is the input, the fields requested, and who checks the output before a rep ever sees it.
Whether any of this counts as personal data
A company is not a person under data protection law, and that fact changes what compliance work this actually requires.
The UK Information Commissioner's Office states plainly that information about a limited company or another legal entity does not count as personal data and falls outside the scope of the UK GDPR. A revenue figure or an employee count for a limited company carries no personal data risk on its own, since a company cannot be identified the way a person can.

This rule applies once, to every legal entity, not case by case.
That does not clear every field automatically. A named individual director, a personal email address on file, or a sole trader whose business name is their own name brings a record back into scope.
The one exception: sole traders and freelancers
A sole trader usually trades under their own name, or a name the law still treats as theirs. Enriching a record for "J. Carter Consulting" enriches J. Carter. That record needs the same lawful basis and disclosure a personal contact record needs, even though it sits in a spreadsheet column labeled company name.
Compliance review for company data enrichment has one real question, not a checklist: does this record identify a natural person once the label in the company name column gets looked past?
What actually comes back for a typical company
A vendor page advertising five hundred fields is describing a menu, not a guarantee. A single record rarely returns more than a fraction of it.
Field | Typical source | Usually populated for a mid size company |
|---|---|---|
Legal entity name and status | Government registry | Yes |
Domain and website | Crawl of the domain | Yes |
Industry classification code | Modeled from site content | Yes, at a broad category level |
Headquarters city and country | Registry or website | Yes |
Employee count | Modeled from public hiring signals | Usually a range, not an exact figure |
Annual revenue | Modeled estimate for private companies | Often missing or given as a wide band |
Funding history | Public deal databases | Only if the company raised outside money |
Direct company phone number | Crawl or directory | Often missing or outdated |
Technology stack signals | Public website code scan | Only what is visible on the public site |
Fields usually verified
The top rows check against something official: a government registry, or the domain itself. A legal name and a headquarters country rarely need a second opinion.
Fields usually estimated
These bottom rows come from a model, not a filing. Together they make up the firmographic layer of a record, and the split between verified and modeled fields is the part a pricing page rarely shows next to the field count.
Match by domain, not by name
A domain is a better match key than a name. A domain usually points to one company, while a name can point to several, or to none anymore.
One common failure comes from ownership: a holding company can own the domain that a well known subsidiary trades under.
A name search then returns the parent's registry entry, and the revenue attached to the parent never lands on the brand a rep actually sells to.
A company can also rename itself entirely and keep its old domain live as a forwarding address for years afterward.
What five company names showed under a plain name match
Five well known company names were run through a plain name based match instead of a domain based one this session: Twitter, Square, Facebook, Google, and a smaller company, Away. Two of the five, forty percent, would have returned an outdated legal name.
Square changed its registered name to Block in December 2021 and kept squareup.com live throughout. Block's own announcement confirms the new legal name took effect that month, with the old brand kept for the payments product specifically.
Twitter became X in 2023 and still resolves under both names depending on which product page loads. A domain based match catches a redirect like this because the domain stays constant. A name based match trusts whichever name the list started with.
Legal entity records covering more than one hundred forty government registries settle the question a domain alone cannot answer: which name is the current legal one on file, separate from whichever name a brand trades under.
How accurate a company record actually is
Every accuracy number published for enrichment work describes a phone number or an email address. None of it describes a revenue figure or a headcount.
That gap is not an oversight. An email address either exists or it does not, and a send attempt proves it either way. A headcount or a revenue figure for a private company is rarely filed anywhere public.
A vendor estimates it from job postings, funding signals, or website content, and different vendors weight those signals differently.
Why do revenue and headcount figures differ between providers for the same company?
Two providers can both be reasoning correctly and still disagree, because they measure different things.
One counts profile connected employees, another counts job postings times an average hire rate, and a private company's real headcount sits somewhere neither method touches directly.
Treat a modeled figure as a range, not a fact, and check whether a provider labels it as an estimate before a segment threshold gets built on top of it.
What it costs per company record
Three paths price this work differently. The gap between free and per record pricing looks small on a single record and large at list scale.

The record level price point rarely sits on the same pricing page as the seat based one, which is why the two are hard to compare without doing the math directly.
A worked example: enriching 5,000 company domains
A list of 5,000 company domains, run through a dedicated company enrichment API at roughly $0.03 per record, costs about $150.
The same 5,000 records inside a seat based sales intelligence contract are effectively free at the margin once a seat is already paid for, but the seat itself runs into the thousands per year regardless of whether the list is 500 domains or 50,000.
Below a few thousand records a year, per record pricing usually wins on cost. Above that, a seat based contract usually wins, provided the seats are already staffed for other reasons.
Three ways to run company data enrichment, compared
Three approaches cover almost every situation a company list creates. Pick by list size and by what already sits inside the CRM.
Approach | Match key | Typical cost | Best fit |
|---|---|---|---|
CRM native enrichment | Domain, pulled from an existing contact's email | No credits, built into the CRM | A short list already living inside a CRM that already fills fields in for free |
Dedicated company enrichment API | Domain supplied directly | Priced per record, a few cents each | A static list of a few thousand domains enriched once or on a set schedule |
Full sales intelligence platform | Domain or company name, with search built in | An annual contract, seats included | An ongoing feed where new companies get added every week |
A record already sitting inside a CRM belongs to the first path before anything else gets evaluated. Records already living inside a CRM often carry more free enrichment than the account realizes.
A field priority checklist you can copy
Copy this list into a spreadsheet before requesting a single field from anywhere. Mark each row as needed now, needed later, or not needed for this particular list.
Legal entity name and registration status
Domain and website
Industry classification code, NAICS or SIC
Headquarters city, state or region, and country
Employee count band
Revenue band, flagged as an estimate for private companies
Founding year
Parent company or subsidiary relationship
Technology stack signals, only if used for targeting
Direct company phone number, often the least reliable field on the list
Before running any list through a paid path, check what a CRM already fills in for free for the exact fields on this list. A field that already populates for free does not belong on a paid request.
Where company matches go wrong
Four patterns account for almost every bad match in a company enrichment run, and each one has a different fix.

None of the four require a different provider. They require a second pass on the input list before the first request goes out.
Symptom | Cause | Fix |
|---|---|---|
Revenue and headcount attach to the wrong brand | The domain belongs to a parent or holding company | Match the domain first, then confirm the trading name against a registry search |
The record returns an old company name | The company rebranded, but the old domain still resolves | Check the domain's current landing page before trusting a cached name |
No usable company signal comes back at all | The only contact on file uses gmail.com or another shared domain | Ask for a company name and location as a backup match key when the domain is generic |
Two records exist for what looks like one company | The trading name and the legal registered name differ | Treat the registry name as the source of truth, and store the trading name as an alias |
FAQ: company data enrichment
What is the difference between company data enrichment and contact enrichment?
Company enrichment adds fields to an organization record, matched by domain. Contact enrichment adds fields to a person, matched by an email address or a name paired with a company.
A single company record can sit under many contact records at once.
Can AI be used to enrich company data?
An AI agent can search the open web for a company's public details and summarize what it finds, and several vendors now sell this as an alternative to a fixed lookup.
The output still needs the same accuracy check as any other estimated field, since the agent reads the same uncertain public signals a human researcher would.
Does enrichment ever overwrite values already sitting in a CRM company record?
It depends on the setting, not the default. HubSpot's documentation states that existing data stays in place unless overwrite is turned on for manual enrichment, or an automatic overwrite setting is enabled for incorrect values.
Check that setting before running a bulk company enrichment job, not after.
What is a company enrichment API?
A company enrichment API is a programmatic endpoint that accepts a domain or company name and returns structured fields such as industry, employee count, and headquarters address in response.
It bills per record rather than per seat, which is what separates it from a full sales intelligence platform.
Start with fewer fields than the pricing page suggests
One record does not need every field a vendor lists. It needs the handful that change a decision: who gets contacted, in what order, and with what message.
Start with the domain list, the fields from the checklist above, and one path from the three compared earlier. Add fields later once a real gap shows up in practice, not before.
Guidance Reviewed September 10, 2026.
About the author
Michael Doyle writes about B2B sales at Leaderr. He covers prospecting, cold outreach, sales data, and pipeline building, with a focus on what actually works for SDRs, founders selling on their own, and small sales teams. Connect with him on LinkedIn.

