Contact data enrichment without the waterfall
One owned database, one request. We add work email, personal email, mobile, title, company and LinkedIn URL to the records you have, priced per field with a check date on each. For CRMs, lead lists and inbound signups.
What data enrichment means here
Data enrichment is taking a record you already have, a name and a company, a work email, a LinkedIn URL, and adding the fields you're missing. For sales that's a verified email and a mobile. For recruiting it's a personal email. For RevOps it's the title, the company domain and the headcount band so a lead routes to the right person.
Most enrichment tools are waterfalls: they query a chain of vendors until one answers. We hold the data, so a lookup is one query. That's why a median response is 180 ms, why every value has a check date, and why nothing is charged when a field comes back empty.
Three ways in
Enrich on creation
Connect HubSpot or Salesforce. New contacts get work email, mobile, title and company written back with a state per field. Set a monthly credit cap so an import can't drain the pool.
Enrich a file
Upload a list, map the columns, download it filled in. Fill rate per column shown before you pay. /bulk-enrichment
Enrich from code
POST /v1/lookup from Clay's HTTP column, n8n, Zapier or your own backend. One JSON record, states and dates per field. /api
What comes back, and what it costs
| Field | Credits | On a miss | State returned |
|---|---|---|---|
| Work email | 1 | 0 | verified, risky, notfound |
| Personal email | 2 | 0 | verified, notfound |
| Mobile or direct dial | From your phone allowance, then 5 | 0 | verified with line type, notfound |
| Title, company, domain, headcount band, industry, LinkedIn URL | Free with any match | 0 | Updated on lookup |
| Company email pattern, catch-all status, mail provider | Free with any match, 1 standalone | 0 | Recomputed weekly |
Owned database or waterfall?
- ×Queries 14 vendors in sequence and waits for each
- ×Throws away a third of what it buys, and prices that in
- ×Can name the vendor, not when the value was last checked
- ×Mobile at 10 credits
- ×Resale to clients: not mentioned
- ✓One query, median 180 ms
- ✓Nothing charged on a miss, by design
- ✓A check date on every value
- ✓2,000 phone numbers included from $29
- ✓Resale rights in writing on the Custom plan
Reverse lookup: from a work email to a person
Inbound signups come in as an email address. Send it and get the person and company back.
- 01
Send the email
POST /v1/lookup with work_email, or map the email column in a CSV.
- 02
Get the person and company
Name, title, company, domain, headcount band, industry, LinkedIn URL. Free with a match.
- 03
Ask for more fields
Add mobile or personal email to the same request. Each is charged only if found.
Enrich a real list first
The free coverage check reads your CSV in the browser and shows the expected fill per column before a credit is spent.
Data enrichment questions
What's the difference between contact, lead and CRM enrichment?
Same operation, different starting point. Contact enrichment adds fields to a person. Lead enrichment does it to an inbound form submission. CRM enrichment does it to records already in HubSpot or Salesforce, usually on creation. All three run on the same lookup.
Owned database or waterfall, which is more accurate?
Neither by definition. A waterfall finds more on paper and costs more per find; an owned database is faster and can date every value. We publish coverage by country so you can see where we're strong before you decide. Run the same 500 rows through both.
Can you enrich HubSpot contacts automatically?
Yes. The HubSpot integration enriches on creation or on demand and writes fields back with a heyenrich_state property per field. See /integrations/hubspot.
What about company data?
Company name, domain, headcount band, industry and HQ country come free with any person match. GET /v1/company/{domain} returns the email pattern, catch-all status and mail provider standalone.
Do you keep what I enrich?
No. Your records are never added to the database. Opt-outs flow the other way: when someone removes themselves, our webhook tells you to delete the record.