Skip to main content
The Company Enrichment API takes something you know about a company, such as its domain, and returns a full company record: name, description, industry, size, revenue, location, and social profiles. Paid expansions add funding, technologies, and headcount.

Ways to enrich

Examples

Every method in cURL, four SDKs, and the CLI.

Company schema

Every field in the record you get back.

Enrich your first company

This request enriches a company by its domain. You need an API key, which you can create at app.companyenrich.com/access-keys.
The response is one company record. This example is shortened and shows a fictional company. See the company schema for every field.

Request parameters

When you enrich by properties and send several of them, all of them must match. If several companies match, the API returns the highest-ranked one.

Companies that are not stored yet

When you enrich a domain that CompanyEnrich has not stored yet, the API enriches it on demand and waits for the result before it responds. Set waitForEnrichment to false to get an immediate answer from stored data only. A company that is not stored yet is then scheduled for background enrichment when eligible, and the response depends on the method: Ask again later to get the company once it has been enriched.

When a company is not found

A lookup that finds nothing is not charged:
  • Enrichment by domain and by ID return 404.
  • A batch returns one item per domain with a status. Only found items include a company and cost credits.
Enrichment by properties is the exception. It costs 1 credit when a company is returned, and also when the properties you sent cannot be resolved to a company domain.

Enrich a list of companies

The two differ in how they treat duplicates and credits:
  • Batch enriches a duplicate domain once and shares the result. Domains that resolve to the same company are charged once.
  • Bulk treats each input as its own request, so duplicates are processed separately. It keeps the input order.
  • Bulk checks your balance when you create the job and returns 402 unless it covers every domain, including the expansions you asked for. Credits are not reserved, and you are charged as results complete.
A bulk result has one record per input domain with its index, domain, statusCode, a success flag, and either the company or an error. See Enrich thousands of domains in the background.

Add more data with expand

Enrichment returns the standard company profile. The expand parameter adds paid data. Expansions are charged only for companies that are returned. The company schema lists the fields each expansion returns.

What enrichment costs

  • 1 credit for each company returned, plus 1 for each expansion.
  • Nothing when no company is found, except for enrichment by properties.
  • In a batch, several domains that resolve to the same company are charged once.
For example, enriching stripe.com with technologies and workforce costs 1 + 2 = 3 credits. See Credits for every price.

Limits

Common questions

Can I enrich a company by name?

Yes. Send name to POST /v2/companies/enrich. A name alone can match several companies, in which case the API returns the highest-ranked one. Add a social profile such as linkedinUrl to narrow the match, or use the domain when you have it.

Can I enrich a company by its LinkedIn URL?

Yes. Send linkedinUrl or linkedinId to the same endpoint. Twitter/X, Facebook, Instagram, and YouTube URLs work too.

Am I charged when no company is found?

No, with one exception. Enrichment by properties costs 1 credit when the properties you sent cannot be resolved to a company domain.

What happens when a company is not in your dataset yet?

The API enriches it on demand and waits for the result. If you would rather not wait, set waitForEnrichment to false. See Companies that are not stored yet.

Should I use batch or bulk?

Use a batch for up to 50 domains when you want the answer in the same request. Use a bulk job for larger lists, when a background job and a file download suit you better.

How do I know how fresh a record is?

Every company record has an updatedAt field with the time it was last updated.

Company Enrichment API examples

Every enrichment method, ready to run.

Company schema

Every field in a company record.

Company Search API

Find companies by filters, description, or similarity.

API reference

The full request and response specification, with a playground.