Guides

Company data enrichment: the record is a company, not a contact

Company data enrichment explained: how domain based matching works, what company field accuracy actually means, and what one enriched record costs today.

Michael Doyle

Michael Doyle

Michael Doyle writes about B2B sales at

September 10, 2026·11 min read
Company data enrichment: the record is a company, not a contact

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.