CRM data enrichment

CRM data enrichment you can audit.

Waterfall enrichment across 15+ providers, validated before anything touches your CRM, and written back onto the records your reps already use. Every run ships with its ledger, so you can see what each row cost and what it actually returned.

96.7% coverage across 7,255 companies, one run

Employee counts and job titles for an L&D software company, enriched, validated, and written back to HubSpot. Measured on 2026-04-27, not modelled. That number is on this site because I can point at the run that produced it.

What waterfall enrichment actually does

It runs each record through several data providers in cost order instead of buying everything from one. The first provider that returns a verified answer ends that record, so you pay for the answer rather than for fifteen attempts at it.

This matters because no provider is good at everything. One is strong on European firmographics, another on mobile numbers, another on job changes. Buying a single subscription means paying full price for the 40% of your list it cannot resolve.

  1. 01

    Cheapest first

    Providers run in cost order. The first one that answers a row ends that row.

  2. 02

    Only the gaps escalate

    The expensive providers never see a record that a cheap one already resolved.

  3. 03

    Every result is validated

    Nothing reaches your CRM before it passes verification and an identity check.

  4. 04

    Written back in place

    Fields land on the existing record. No CSV to reconcile, no duplicate objects.

  5. 05

    The run is logged

    Rows in, rows resolved, cost per validated result. You get the ledger, not a summary.

HubSpot and Salesforce enrichment, written back in place

Enriched fields land on the company and contact records that already exist, so your reps see the update where they work instead of in a spreadsheet nobody opens. I integrate to HubSpot, Salesforce, Attio, and Clarify, and to whatever else you run.

Records are matched before they are written. Identity is gated on first name and surname together, never on one field, because a match on surname alone is how you end up with the right company and the wrong person, confidently.

Why a high hit rate is a warning sign

An enrichment run that resolves 95% of a cold list is usually broken, not good. Failing optimistically is the default behaviour of most enrichment code: a loose match, a fallback that fills the field with something plausible, and the error rate hides inside a number that looks like success.

So results are scored on cost per validated result, never on fill rate. Emails go through two-stage verification with catch-all domains handled separately. Phone numbers are checked for line type before anyone dials one. When a hit rate looks too good, I treat it as a bug report and go find the bug.

What a run costs, before you commit to it

Every run pilots on zero rows first. That returns the real per-row cost against your actual data, and only then does the batch go. The spend is logged per run, so cost per validated contact is a number you can see rather than an invoice you reconcile later.

Provider credits are billed to your own accounts at cost. You keep the accounts, the pipeline, and the documentation when the engagement ends.

enrichment run

$ run email-waterfall --input leads.csv --rows 0:0

pilot ok · est. 41 credits · proceeding

$ run email-waterfall --input leads.csv --rows 1:250

prospeo 118 · dropleads 61 · hunter 33

212/250 verified emails · validation clean

pushed to CRM · run logged · 38 credits spent

Common questions

What is waterfall enrichment?

Running one record through several data providers in sequence instead of buying from one. The first provider that returns a verified answer ends that record's journey, so you pay for the answer rather than for fifteen attempts. It matters because no single provider is good at everything: one is strong on European firmographics, another on mobile numbers, another on job changes.

Can you enrich data directly in HubSpot or Salesforce?

Yes. Enriched fields are written back onto the existing company and contact records in place, so your reps see updated data where they already work. I integrate to HubSpot, Salesforce, Attio, and Clarify. If you run something else, I integrate to that instead.

How much does CRM data enrichment cost?

A scoped enrichment project starts at $6,000 and ships end to end. A quarterly retainer is $25,000 and covers as many projects as we can ship inside the 90 days. Provider credits are billed to your own accounts at cost, so you see the real price of the data and keep the accounts when we are done.

How do I know the enriched data is actually right?

Every run ships with its ledger: rows in, rows resolved, what each provider contributed, and the cost per validated result. Identity is matched on first name and surname together, never on a single field, and emails go through two-stage verification before writeback.

How long does an enrichment project take?

One to two weeks of planning, then two to four weeks to build and run the pipeline. A list-level run against an existing file is faster than that, usually days.

Send me 100 rows.

If you want the real number instead of an estimate, send a 100-row sample of your list. I will run it through the same waterfall and send back what is stale, what changed, and what it cost per validated result. No charge, and no obligation after it.