HomeAPIsCompany Enrichment API
Company Enrichment APIREST · JSON · HubSpot app

Company Enrichment API: complete your business data

Send a domain, a company name or a registration number and get the full record back from the official trade register: identity, address, industry codes, size, financials, group structure and contacts. One call per record, or the whole CRM on a schedule.

7-day free trial · No credit card? Request a custom trial ↓ · 9 on Kiyoh (88 reviews)
375M+
companies to enrich against
45.1M
with a website on record
200+
countries, one schema
<200 ms
median response
GET /api/website/html?extract=true&url=heineken.com
IdentityFirmographicsFinancialsGroup structureContacts
The basics

What is a company enrichment API?

A company enrichment API takes a record you already have, with gaps in it, and fills the gaps from a trusted source. You send what you know about the company, a domain or a name or a registration number, and get back everything the register knows: legal name, registration details, address, legal form, status, industry codes, employees, revenue, directors, and where it sits in its group.

The difference from a company lookup is where you start. A lookup finds a company you do not have. Enrichment completes and corrects the ones you do: the 40,000 accounts in the CRM with half the fields empty, the inbound leads that arrive as an email address, the supplier list with three spellings of the same firm. Data teams call the same job data appending. Either way, this is built on official registers, so what comes back is the registered entity, not a best guess from a website.

How a domain resolves to a record, step by step →

Three ways to match

By domainThe key most CRM records have. The API reads the site's imprint or footer, extracts the legal name or registration number, and searches the register with it.
By company nameName plus country. Trade names and spellings resolve to the registered entity, so two versions of one customer come back as one record.
By registration numberKVK, Companies House, HRB, SIREN: the number the register issued. The surest match there is, and the one compliance teams want on file.
Try the API

Enrich a company record right now

The same call your integration would make: search by company name, open the record, and see every field the register holds for it. No key needed for the sample.

  • Enrich by domain, company name or registration number
  • Full company information: name, address, legal form, status, SIC and NACE codes, directors, financials
  • One JSON schema for every market, one integration
  • No key for the sample, production key on signup

Start enriching in 3 steps

1

Try it here, no key.

Paste a domain in the box above and see the record that comes back.

2

Get a key on signup.

7-day free trial, plans from $34 a month, key issued at once.

3

Enrich your records.

One call per record, or on a schedule. HubSpot users install the app instead.

Domain enrichment: from a website to the registered company

A domain is the key most CRM records already carry, and the hardest to match well: the website names the brand, not the legal entity. So the API does not guess from the domain. It reads the page, finds the imprint or footer, extracts the registration number or legal name it publishes, and searches the register with that. What comes back is the entity that owns the site, not a company with a similar name.

  • Legal name and registration number taken from the site's own imprint
  • Falls back to the register's website field when the page publishes nothing
  • 45.1M companies have a website on record; for the rest, match by name or number
  • Returns the operating company and its global headquarters, so you know the parent too
A company record with empty fields on the left and the same fields filled and verified on the right
Company name and registration number resolving to one registered entity

Enrich by company name or registration number

When the record has no domain, it still has a name, and often a number. A name with a country resolves through the register's own spellings and trade names, so "Heineken", "Heineken NV" and "HEINEKEN N.V." come back as one entity with one ID. A registration number skips the matching entirely: it is the key the register issued, and it is the match a compliance team wants to see on the record.

  • Name plus country: trade names and spellings resolve to the registered entity
  • Registration number plus country: KVK, Companies House, HRB, SIREN and 200+ more
  • One register ID per legal entity, which is what collapses duplicate accounts
  • Status, legal form and address corrected on every pass
A group structure: one parent connected to its subsidiaries and brands

Enrich the group, not just the company

Most CRMs do not know which of their accounts belong together. Every enriched record comes back with its local, national and global headquarters and the number of companies in the group, so the structure appears in your data by itself: two accounts turn out to be sisters under one parent, and a customer turns out to be one brand of many.

  • Duplicates collapse: one register ID per entity, one parent above them
  • Territories and roll-ups follow the real ownership, not a guess
  • Upsell across the group: a customer's siblings are your warmest shortlist
Integrations

Enrich in HubSpot without writing code

CompanyData Enrichment is a HubSpot app. Install it from the Marketplace, open a company record, and the enrichment card shows what the register holds; apply, and the fields are written back.

  • Installs from the HubSpot Marketplace, no developer needed
  • Enrichment card on every company record, fields updated on apply
  • Same register-sourced record the API returns
  • Trial and subscription managed inside the app

Everywhere else

Salesforce, Dynamics, PipedriveA call per record through the REST API, with the JavaScript or Python SDK.
Data warehouseBulk enrichment on a schedule; the same records also ship as a monthly file.
Zapier and webhooksEnrich on the event: a form submit, a new deal, a changed domain.
AI agentsSearch and export exposed as tools through the MCP server.
Need your whole CRM enriched as a one-off?

No integration, no code. Send us the file and our data experts enrich the entire base against the registers, tailored to your fields and markets. Start with a free data audit of what you hold.

Get a free data audit
Endpoints

Three calls, one enriched record

Resolve the domain, find the entity in the register, pull the full record. Authenticate with an x-api-key header; the same key works for all three.

/api/website/html
Resolve a domain

Fetches the page and, with extract=true, returns the company signals in it: legal name, registration or VAT number, source and reliability per candidate.

/api/company/search
Find the entity

By registration number, by name and country, or by website. Returns the matching records with their register IDs.

/api/company/export
Pull the full record

Every field for one ID: identity, address, industry codes, size, financials, executives and the headquarters chain.

# 1. Resolve the domain to company signals
curl "https://app.companydata.com/api/website/html?url=heineken.com&extract=true" \
  -H "x-api-key: $COMPANYDATA_API_KEY"

# 2. Search the register with the registration number it found
curl "https://app.companydata.com/api/company/search?nationalId=33011433&countryCode=NL" \
  -H "x-api-key: $COMPANYDATA_API_KEY"
Response, trimmed
{
  "meta": { "totalCount": 1, "currentPage": 1, "pageSize": 25 },
  "data": {
    "records": [{
      "ID": "0123456789",
      "Company Name": "Heineken N.V.",
      "Company Registration Number": "33011433",
      "Country": "Netherlands",
      "City": "Amsterdam",
      "Founding Year": 1864,
      "Business Legal Type - Description": "Public limited company",
      "Legal Status Code Description": "Active",
      "Business Category Code 1 - Description": "Malt beverages",
      "Employees Total": 89000,
      "Yearly Revenue in U.S. Dollars": 39100000000,
      "Number of Companies in Group": 465,
      "Global Headquarter Company Name": "Heineken N.V.",
      "Website": "theheinekencompany.com"
    }]
  }
}
See what comes back

Every field the register holds, for any company

Pick a company and open the record: identity, address, industry codes, size, revenue, executives and group. Any of the 375M+ on file.

Try one:

Ready to enrich your own records? Get your API key →

Coverage

374,878,429 companies to enrich against

Every one from an official register, refreshed monthly. 13,878,084 of them were founded in 2026 and are already there to match.

80.8MChina
64.6MUSA
35.7MIndia
29.9MBrazil
14.5MFrance
8.9MUK

Updated August 2026. Counts come from the platform at request time.

Enriched from the register, not from the web

Most enrichment tools fill your records from the web: a company's website, its LinkedIn page, whatever a crawler found. That works for the 40 to 50 million companies that have those, and fails quietly for the rest: the holding above your customer, the subsidiary that signs the contract, the builder with no website. For marketing that is often enough. For a CRM that has to be right, it means the record you just enriched describes a brand, not a legal entity, and two spellings of one customer stay two accounts.

This API starts every record at the official trade register of its country. That is why it can return a registration number, a legal form, filed accounts and the group structure, and why the same company always resolves to the same ID. Tools such as Clearbit, built into one CRM, and web-data APIs such as Coresignal are strong on technographics and hiring signals; this is what you use when the identity fields have to hold up.

Some teams take both: a monthly bulk file for the base, the API on top for new records and re-enrichment. Same registers, delivered both ways.

Among the registers behind the API: KVK (Netherlands), Companies House (UK), SEC EDGAR (USA) and 200+ more official authorities.

CRM-native toolsWeb-data APIsCompanyData API
SourceWeb and partner dataWebsites and social profilesOfficial registers in 200+ countries
CoverageCompanies with a web presenceCompanies with a web presenceEvery registered legal entity
Match keysDomain, emailDomain, nameDomain, name, registration number
Legal fieldsRarelyRarelyRegistration number, legal form, filed accounts, ownership
DuplicatesPer toolSame company under many spellingsOne record per legal entity, with its group
UpdatesOn re-fetchWhen a page is re-crawledMonthly register feeds
Runs inOne CRMYour codeYour code, HubSpot app, or MCP
Use cases

How teams use the Company Enrichment API

Sales, RevOps and data teams, on the same three calls. Starting from a base that needs cleaning first? That is a separate job, and we do it too: see data cleansing.

Enterprise data cleansing, before you enrich →

CRM hygiene

Re-enrich every account on a schedule so addresses, legal forms, directors and status stay current without anyone checking a register by hand.

Inbound forms

A work email or domain comes in, the full company record is on the lead before sales opens it.

Duplicates and territories

One register ID per legal entity collapses duplicate accounts, and the group structure shows which accounts roll up to the same parent.

Upsell across the group

Enrich one customer and see every company in its group. A relationship with one brand becomes a shortlist of its siblings.

Data warehouse and MDM

Verified identity fields as the golden record: registration number, legal name, legal form, status, on one schema in every market.

Agents and automations

Expose enrichment as a tool through the MCP server. An SDR agent qualifies an account against the register before it writes a word.

Trusted sources

What a register-sourced record does for a CRM

Every enriched field comes from the official register of the company's country. What lands in your CRM is what the register holds, not what a website says, and that changes how the CRM behaves.

  • One legal entity per record, so duplicates collapse instead of multiplying
  • Registration number, legal form and status on every account, ready for compliance
  • Every plumber, holding and subsidiary, not only the companies with a website
  • Re-enriched monthly, so a customer that dissolves or moves shows up in your data
  • Group structure on each record, so territories follow the real ownership
See our data sources
The register network the API connects to, worldwide

Company Enrichment API pricing

Public prices, a 7-day trial on every plan, one credit per enrichment. Teams enriching a whole CRM or running enrichment inside their platform get a custom plan.

Two ways to enrich

Sign up yourself. Pick a plan, start a 7-day trial, and the key is issued at once. Plans from $34 a month, prices public, one credit per enriched record, 50 requests per second. Right for enriching inbound leads, a form, or a CRM of a few thousand accounts.

Or talk to us. For a full CRM re-enrichment, a data warehouse, or a platform where your own customers share one key. Custom plans have no rate limit, are priced on volume from €500 a month, and start with a few weeks of testing on your own records, up to 1,000 free calls, no credit card.

Tell us what you want to enrich and how many records you hold.

* Card-free trials are for teams that fit a custom plan: platforms, higher volumes, or many end users on one key. Self-serve plans start a 7-day trial at signup.

Self-serveCustom plan
Rate limit50 requests per secondNone
PricingPublic, from $34 a monthOn volume, from €500 a month
Trial7 days, card at signupA few weeks, up to 1,000 calls, no card*
SupportDocs and emailDedicated contact and SLA
ContractMonthly or yearlyAnnual, on volume

What our customers say

Real feedback from the people using CompanyData every day.

9/10 on Kiyoh from verified reviews

★★★★

Account team are very responsive and data is very helpful. We've been dealing with Bolddata for a few years and have found them to be a very efficient team who are able to quickly provide good data.

Ann Sofie Westlake
Ann Sofie Westlake
Head of Marketing, Quartix
★★★★★

Extremely reliable, high quality service, and very competitive prices. Excellent! The very best firm we've ever worked with.

Helmut Huberti, M.D.
Helmut Huberti, M.D.
World Arthrosis Org., Heidelberg
★★★★★

Quality data, fast and efficient service.

Jérôme Pinneau
Jérôme Pinneau
Finquest, Luxembourg

Frequently asked questions

What is a company enrichment API?

A company enrichment API takes a partial record you already hold, such as a domain, a company name or a registration number, and returns the complete company record: legal name, registration details, address, industry codes, size, financials, group structure and contacts.

The difference from a lookup is the starting point. A lookup finds a company you do not have yet. Enrichment completes and corrects the ones you do, one record at a time or on a schedule across a whole CRM.

What can I enrich by?

Three keys: a website domain, a company name with a country, or an official registration number with a country. The registration number is the surest match. The domain is the most common one in a CRM, and it resolves through the page itself: the API reads the imprint or footer, extracts the legal name or registration number, and searches the register with that.

About 44.8 million of the 376 million companies on file have a website on record, so where a record has no domain, name and number still match.

Can I enrich HubSpot or Salesforce records?

Yes. For HubSpot there is a native app, CompanyData Enrichment, installed from the HubSpot Marketplace: it adds an enrichment card to company records and writes the verified fields back on apply. For Salesforce and any other system, the REST API does the same through a call per record, and the JavaScript and Python SDKs cover the integration code.

How does enrichment avoid duplicate accounts?

Every record resolves to one legal entity with one register ID, so two spellings of the same company in your CRM come back as the same record. The record also carries the group: local, national and global headquarters, and the number of companies in the group. That is how you see that two accounts are sisters under one parent, and how you find the group members you do not have yet.

How is this different from Clearbit or Coresignal?

The source. Most enrichment tools are built on data collected from the web, which means they hold the companies that have a website and a social profile and miss the rest. This API starts every record at the official trade register of its country, so it covers every registered legal entity, with or without a website, and returns fields the web does not carry: registration numbers, legal forms, filed accounts and ownership.

Both approaches have a place. Web data is strong on technographics and hiring signals. Register data is what you need when the record has to be right.

How fresh is the enriched data?

The registers are re-read every month, so a business dissolved or newly registered this month shows up within weeks. Re-enrich on a schedule and the changes land in your records: address moves, new directors, a changed legal form, a company that stopped trading.

Is the enrichment GDPR compliant?

Yes. The data is business information from public registers with a documented source and lawful basis. Where records contain personal data, such as director names, the provenance and the basis for processing come with it.

How much does company enrichment cost?

Self-serve plans start at $34 a month on a yearly plan, or $39 monthly, and are priced on credits; one enrichment costs one credit. Every plan opens with a 7-day trial. Teams enriching a large CRM or running enrichment inside their own platform can take a custom plan, priced on volume from €500 a month, with no rate limit.

Is there a free trial?

Two. Sign up for any plan and the first 7 days are free, with a key issued at once. Or, if your use case fits a custom plan, request a trial on your own data: a few weeks with up to 1,000 free calls and no credit card.

Test enrichment on your own records, no credit card

Tell us what you want to enrich and how many records you hold. You get a trial key for a few weeks with up to 1,000 free calls, plus a real enriched sample from your own list, within 24 hours.

* Card-free trials are for teams that fit a custom plan: platforms, higher volumes, or many end users on one key. Self-serve plans start a 7-day trial at signup.

or call +31 (0)20 705 2360

Call us: +31 (0)20 705 2360