Home/Offers/Sales, Marketing & Ad Tech/Company Enrichment API

Sales, Marketing & Ad Tech

Company Enrichment API

Your customers type a company name into a form. Everything your product then wants to do depends on resolving that string to an actual organisation.

  • CRM vendors
  • Sales engagement platforms
  • Marketing automation software
  • Data platforms and CDPs

What your customers would see

example interface
Mockup of the Account Enrichment interfacedata.yourcrm.com/enrichmentPlatformOverviewExploreAlertsAPI keysUsageSettingsAccount EnrichmentAccountRECORDS ENRICHED2.4M▲ +118kRESOLUTION RATE94%▲ +2ptsAMBIGUOUS3.1%▼ -0.4ptsCHANGES DETECTED8,420▲ +1.2kMatch reviewconfidence rankedINPUTRESOLVED ENTITYCONFIDENCEacme industries incExample Industries Inc — OH, US96%example-industries.comExample Industries Inc — 840 staff98%Northbridge ToolingSubsidiary of Example Industries87%Acme Holdings LLCAmbiguous — 2 candidates returned61%

MockupIllustrative mockup of the interface we would build. Figures shown are examples, not results from a live deployment.

The problem this solves

Every go-to-market product hits the same wall early. A lead arrives as an email domain and a free-text company name. Routing, scoring, territory assignment, pricing tier and reporting all need firmographics the form did not collect. So the vendor buys enrichment, discovers the coverage is thin outside large US companies, and ends up stitching two or three providers together with reconciliation logic nobody owns.

The hard part is not collecting attributes. It is entity resolution. 'Acme', 'Acme Inc', 'ACME Corporation' and a subsidiary trading under a different name may be one buying entity or four. Mergers, rebrands and holding structures mean a correct answer last year is wrong now. Most enrichment errors that reach a sales team are resolution errors rather than attribute errors, and they are the ones that erode trust in the data fastest.

The second structural issue is staleness. Firmographics are treated as static fields and refreshed on a vendor's schedule, which means headcount figures drift and acquired companies persist as independent records. Change detection — a company moved, was acquired, opened a location, cut headcount — is usually worth more to a sales team than the attributes themselves.

Who buys this

CRM vendors, Sales engagement platforms, Marketing automation software, Data platforms and CDPs

What the API returns

What comes back

  • Resolved company identity with confidence and the alternatives considered
  • Industry classification across multiple schemes, with the mapping rather than one forced code
  • Headcount and revenue estimates with ranges and the basis for each
  • Locations distinguished by type: headquarters, office, manufacturing, registered address only
  • Corporate structure: parent, subsidiaries and the ultimate buying entity where identifiable
  • Technology and hiring signals where the source permits commercial redistribution
  • Change events with dates: acquisitions, rebrands, relocations, headcount shifts, funding
  • Per-field provenance and freshness, so a stale estimate is visible as one

Endpoints

MethodPathReturns
GET/v1/companies/resolveResolve a domain or name to a company identity
GET/v1/companies/{id}Full enriched record with provenance
POST/v1/companies/batchEnrich a list of domains or names
GET/v1/companies/{id}/structureParent, subsidiaries and buying entity
GET/v1/companies/{id}/changesChange events with dates and sources
POST/v1/webhooks/subscribeSubscribe to changes for a tracked account list

Request and response

illustrative

Request

{
  "input": { "domain": "example-industries.com", "name": "Acme Industries Inc" },
  "include": ["firmographics", "locations", "structure", "changes"],
  "min_confidence": 0.8
}

Response

{
  "resolution": {
    "company_id": "cmp_0441209",
    "matched_on": "domain",
    "confidence": 0.96,
    "alternatives_considered": [
      { "company_id": "cmp_0441777", "name": "Acme Industries (Holdings)", "score": 0.61 }
    ]
  },
  "firmographics": {
    "legal_name": "Example Industries Incorporated",
    "industry": { "sic": "3559", "naics": "333242", "custom": "Industrial equipment" },
    "headcount": { "estimate": 840, "range": [720, 980], "basis": "filings_and_hiring_signals",
                   "as_of": "2026-09-30" },
    "revenue": { "range_usd": [180000000, 260000000], "basis": "filings", "confidence": 0.74 },
    "founded": 1987
  },
  "locations": [
    { "type": "headquarters", "country": "US", "region": "OH", "confidence": 0.93 },
    { "type": "manufacturing", "country": "MX", "region": "NL", "confidence": 0.81 },
    { "type": "registered_only", "country": "DE", "confidence": 0.88 }
  ],
  "structure": { "parent": null, "subsidiaries": 3, "ultimate_buying_entity": "cmp_0441209" },
  "changes": [
    { "date": "2026-07-11", "type": "acquisition", "detail": "Acquired Northbridge Tooling",
      "source": "company_announcement" }
  ],
  "freshness": { "firmographics": "2026-09-30", "locations": "2026-08-22" }
}

Where the data comes from

Official company registriesLegal names, registered addresses, filings and officers; openly available in most jurisdictions and the strongest basis for identity
Regulatory filingsWhere companies file publicly, these give revenue and headcount as reported rather than estimated
Permitted public web sourcesCompany sites and public pages, subject to each site's terms — collection and redistribution are separate permissions and we treat them as such
Licensed commercial firmographic dataFor coverage outside well-registered jurisdictions; the licence usually restricts redistribution through an API, which shapes what can be resold
Your own CRM dataOptional and with your agreement: confirmed account records are the best available ground truth for resolution accuracy
Technology and hiring signalsOnly from sources whose terms permit commercial use of derived data; several widely-used ones do not
On data licensing. Being allowed to read a dataset does not automatically mean you may redistribute it, resell it through an API, or train a model on it. Before any build starts we check the licence, terms and derived-data rules of every source, and we design around the ones that do not permit your intended use. Where a commercial licence is required, that cost is identified during discovery rather than discovered later.

The intelligence layer

The difference between a demo and a service is mostly in this section. These are the parts that keep the answer trustworthy once real traffic is hitting it.

  • Entity resolution as the core of the build: blocking, candidate generation and a scored match rather than string similarity
  • Domain as the primary key where available, with careful handling of shared hosting, redirects and country-specific domains
  • Alternatives returned with their scores, so an ambiguous resolution is visible to the caller instead of being decided silently
  • Headcount and revenue as ranges with a stated basis, because point estimates for private companies are false precision
  • Location typing from the evidence — an address appearing only in a registry filing is marked registered-only, not an office
  • Corporate structure assembled from registry ownership data, with the ultimate buying entity flagged where it can be established and left null where it cannot
  • Change detection by diffing snapshots, with each event carrying its source document
  • Accuracy measured against a human-labelled sample and against customer CRM ground truth, reported per field and per region rather than as one headline number

What it changes for the business

Shorter forms

Resolving a domain to firmographics removes fields from signup and lead capture, which measurably improves completion.

Routing and scoring that work

Territory assignment and tiering stop depending on whatever the prospect typed into a free-text field.

Change-triggered workflows

Acquisitions, relocations and headcount shifts become events your customers can build plays on.

One integration instead of three

A single reconciled layer replaces the multi-vendor stitching most GTM products accumulate.

How it fits into your product

How it embeds

  • Synchronous resolve endpoint fast enough to run inside a form submission
  • Batch enrichment for CRM backfill at scale, with per-record cost predictability
  • Change webhooks into your customers' workflow engines
  • Confidence thresholds per use, so autofill can be stricter than a reporting rollup
  • White-label delivery under your brand and domain
  • Field-level entitlements, so attributes you cannot license onward are simply absent rather than silently approximated

Included in every build

  • Authentication, scoped API keys and per-customer rate limiting
  • Input validation with predictable, documented error responses
  • Versioned endpoints so your integration never breaks without notice
  • Request and response logging for audit and dispute resolution
  • Latency, error-rate and usage monitoring with alerting
  • OpenAPI specification, sandbox environment and client examples
  • Backups, failover design and a documented recovery procedure
  • An agreed support arrangement once the service is live

How we would build it

about 20 weeks
1

Discovery and feasibility

Weeks 1–3

This one depends heavily on data access, so we start by proving the sources exist, can be licensed for your use, and actually carry the signal the model needs. If they do not, you find out here.

2

Architecture and baseline model

Weeks 4–6

A written architecture and a baseline model measured against a holdout period, so you know what accuracy you are buying before the full build starts.

3

Production build

Weeks 7–16

Data pipelines, model training and serving, historical archive, validation harness, API, security, monitoring and documentation.

4

Validation and integration

Weeks 17–20

Backtesting against held-out history, accuracy reporting your team can audit, integration support and an agreed retraining cadence.

Commercial models

There is no fixed price list, because the cost is driven by data complexity, integration count, model requirements, request volume and the support level you need. Scope is agreed in writing before development starts.

Fixed-scope prototype

A defined slice of the service, built and priced as one piece of work. The usual first step when the business case needs proving internally.

Fixed-price build

An agreed scope against a written architecture, delivered for an agreed price. Best when the requirements are already clear.

Build then retainer

We build the service, then operate and improve it under a monthly agreement covering monitoring, updates and model maintenance.

White-label product

The service runs under your brand, your domain and your pricing, with MLPivot invisible to your customers.

Questions buyers ask

What coverage can you realistically promise?

Strong in jurisdictions with open, machine-readable company registers, and progressively weaker where registers are paywalled, unstructured or incomplete. Small private companies anywhere are the weak spot — headcount and revenue for a thirty-person firm are estimates with wide ranges, and we return them as such. We measure coverage per region during discovery instead of quoting a global percentage.

Can we resell the enriched data to our customers?

For data derived from official registries and permitted public sources, generally yes. For licensed commercial firmographic data, usually not without a redistribution licence, and several providers forbid API resale outright. This is the single most common surprise in these builds, so we map the licence position per field before the architecture is written and design the product so unlicensable fields are absent rather than present and non-compliant.

How accurate are headcount and revenue estimates?

For companies that file publicly, accurate because they are reported. For private companies, they are modelled from hiring signals, registry data and sector benchmarks, and the honest output is a range with a confidence. A single number would be more satisfying and less true.

How do you handle holding companies and subsidiaries?

Where registry ownership data supports it, the structure is returned and an ultimate buying entity is identified. Where it does not, the field is null. Guessing a parent relationship from a shared name is how enrichment tools merge two unrelated companies, and we would rather return less.

What is the refresh cadence?

Registry-sourced fields refresh on filing activity; web-sourced fields on a rolling schedule. Every field carries an as-of date, so your customers can see staleness rather than assume currency. For tracked account lists, change webhooks are the better pattern than polling.

Want this built for your platform?

Tell us what your product does today and what you want another system to be able to ask it. We will come back with an approach, a scope and a price.