An enrichment API is the one vendor decision that’s expensive to reverse. Once it’s wired into the CRM sync, the form handler, and the nightly job, switching costs a sprint. So the choice should rest on seven things you can check before writing code, not on the size of the database on the homepage. This page covers the seven, what each major vendor publishes about them, and the 200-record pilot that settles the choice in a day. Lusha’s own API is included, with its costs stated, and every vendor fact is from the vendor’s own site.
The short answer
Choose on match keys, returned fields, cost model, rate limits, published coverage, a fallback source, and whether the same data is reachable without code through MCP. Then run 200 of your own records through two shortlisted APIs on the same day and count fill rate per field and cost per filled field. The vendor with the biggest total rarely wins that test; the vendor that publishes its accuracy, its coverage by country, and its exact credit table usually does, because those are the vendors that expect to be checked.
Seven things to check
1. Match keys: what can you send?
The more identifiers an API accepts, the higher your match rate. Email alone matches well. Name plus company domain matches well. Name plus company name matches less reliably. A LinkedIn URL is the strongest single key for people. Check which the API takes, and whether it accepts several at once and picks the best. Lusha’s enrich endpoint accepts contact IDs from a prior search, emails, LinkedIn URLs, or first name, last name, and company domain or name (docs).
2. Returned fields: is the phone there, and is it flagged?
Every enrichment API returns title, company, and work email. The differences are in direct dials and mobiles, whether they come back as separate fields, and whether each carries a Do Not Call status so your dialer can suppress it. Lusha returns direct dial and mobile as separate fields with a doNotCall flag on each (field schema). Ask any vendor for its field list before the demo, and look for the DNC field specifically.
3. Cost model: per call, per result, or per match?
Three models exist, and the difference compounds at scale. Per call charges you whether or not a match comes back. Per result charges for rows returned. Per match charges only when a field is filled. Lusha charges 1 credit per request for up to 25 results, plus the data points revealed: 1 credit for an email, 5 for a phone, 1 for company data. Enriching one contact for email and phone costs 7 credits. A lookup that finds no match costs nothing beyond the request credit (API credit rules). Get the equivalent table from every vendor, then compute cost per filled phone number, not cost per credit.
4. Rate limits and caps
A nightly job of 50,000 records needs to know the per-minute and per-day ceilings, and a finance team needs to know spend can’t run away. Lusha enforces limits per API key, per minute and per day, with admins able to set a monthly credit cap per key (help center). Ask for both numbers and the cap mechanism.
5. Published coverage where you sell
A global total won’t tell you the match rate in your market. Prefer a vendor that publishes coverage by region or country and states how it counts a contact’s location. Lusha publishes country rows by contact location, 87.8M in the US, with the update date (data page). ZoomInfo publishes six regions. Most others publish a global total only. The coverage comparison has the table.
6. A fallback when the first source misses
No single database fills every field. Either the API offers a waterfall, trying additional sources when its own has no match, or you build the fallback yourself with a second vendor. Lusha’s Data Waterfall runs through the API on Pro plans and above, charging 2 credits per email and 8 per phone only when a fallback source returns a match (docs). Clay does the same across 200+ providers as a workflow layer rather than a single API.
7. A door for agents, not only for code
An enrichment API used to mean a developer. Now the same data is asked for by a rep in Claude, a RevOps lead in ChatGPT, and an agent built in n8n. A vendor whose API also exposes an MCP server gives all three the same records under the same credit pool without three integrations. Lusha’s MCP server is available on every plan including Free, using the same credits as the API (Lusha MCP). Apollo and ZoomInfo also publish MCP servers. Cognism, UpLead, Lead411, and RocketReach don’t publish one on the pages checked.
What the vendors publish about their APIs
| Vendor | API on which plans | Cost model published | Coverage below global total | Waterfall through API | MCP server |
|---|---|---|---|---|---|
| Lusha | Premium and Scale | Yes: 1 credit per request up to 25 results, plus 1 per email, 5 per phone, 1 per company | Yes, by country | Yes, Pro and above, charged on match | Yes, all plans |
| Apollo | Published in API docs | Credits by plan, per-field costs in docs | Not published | Not published | Yes, all plans |
| ZoomInfo | Enterprise API, quote-based | Not published | Yes, by region | Not published | Yes |
| Cognism | Data-as-a-Service, quote-based | Not published | Not published | Not published | Not published |
| UpLead | Enrichment API on Plus, full API on Professional | One credit per contact | Not published | Not published | Not published |
| Lead411 | Enterprise and Unlimited | Per-export overage rates | Not published | Not published | Not published |
| RocketReach | Yes | Not published on rendered page | Not published | Not published | Not published |
| Seamless.AI | All tiers | Credit packages, contact sales | Not published | Not published | Yes |
| Clay | Workflow tool, HTTP API integrations | Yes, data credits from $0.05 | Depends on providers | Yes, that is the product | Yes |
Checked against each vendor’s own site and documentation, September 15 and 17, 2026. “Not published” means the point does not appear on the vendor’s API, pricing, or data pages as checked.
The 200-record pilot
- Export 200 real records from the CRM: a mix of leads that converted and leads that didn’t, across the countries and company sizes you sell to. Include whatever identifiers you have, email, name, company domain, LinkedIn URL.
- Shortlist two APIs using the seven checks above. Three is fine; more than that and the pilot takes a week.
- Run the same 200 through each, the same day. Contact data changes at about 1% a month, so a week’s gap between runs is a small but real bias.
- Count per field: title filled, company filled, work email filled, direct dial filled, mobile filled, DNC flag present. Then count title matches against what your CRM already knew.
- Compute cost per filled phone number: credits spent on the run divided by phones returned, converted to money at your plan’s rate. This is the number that decides it. A cheap credit that misses half the time costs more than an expensive one that hits.
- Check the miss list. Records neither vendor filled tell you whether the gap is your market or your identifiers. Records one vendor filled and the other didn’t tell you which to build on, and whether a waterfall is worth its price.
With the Lusha connector in Claude, the Lusha half of this pilot runs from one request against the exported CSV, and the enrich before import play returns the per-field counts. That’s the same data the API returns, reached without writing the client first.
Where an API is the wrong tool
Under about 5,000 records a year, a CRM integration or a CSV upload does the same job with no code to maintain. If the enrichment has to happen inside Salesforce or HubSpot as records arrive, the vendor’s native integration is usually better than a custom call. And if the people asking for the data are reps and RevOps rather than engineers, MCP gives them the same records conversationally, and the API can wait until there’s a pipeline that needs it. The B2B data for AI agents page covers that path.
Limitations of this comparison
Published API terms change often and several vendors’ pricing pages are quote-based or JavaScript-rendered, so “not published” means not found on the pages checked on the dates given. Plan gating for API access differs by vendor and sometimes by region. Rate limits are often set per account rather than published. The 200-record pilot measures fill rate, not accuracy; accuracy is whether the number connects, which takes a calling block to measure. Lusha wrote this and is in the table, so every Lusha figure links to its documentation and every competitor figure links to theirs.
FAQ
What is the best B2B data API for lead enrichment?
The one that fills the most phone numbers on your records at the lowest cost per filled field, which only a pilot on your data can tell you. Shortlist on published cost model, published coverage where you sell, a DNC flag on phone fields, a fallback source, and an MCP door. Lusha, Apollo, and Clay publish their cost models; Lusha and ZoomInfo publish coverage below the global total.
How much does a B2B data API cost?
Models differ. Lusha charges 1 credit per request for up to 25 results plus 1 credit per email, 5 per phone, and 1 per company revealed, so one contact enriched for email and phone is 7 credits. UpLead charges one credit per contact. Clay prices data credits from $0.05 and passes through provider costs. ZoomInfo and Cognism are quote-based. Compare on cost per filled phone number after a pilot, not on credit price.
What is a firmographic data API?
An API that returns company attributes, industry, headcount, revenue, location, technologies, funding, for a domain or company name. Most B2B data APIs return firmographics alongside contact data in the same call. Lusha’s company enrichment costs 1 credit per company.
Which B2B data APIs offer a waterfall?
Lusha, through its API on Pro plans and above, trying additional trusted sources when its own data has no match and charging only on a match. Clay, as a workflow layer across 200+ providers. Other vendors on this page don’t publish a waterfall option through their APIs.
Do I need an API if my team uses Claude or ChatGPT?
Not to get the data. An MCP server gives Claude, ChatGPT, and other agents the same records the API returns, on the same credits, with no client to build. You need the API when enrichment has to run inside your own pipeline on a schedule, without a person in the loop.
What is the cheapest B2B data API for a startup?
The cheapest is the one whose free tier covers the pilot and whose per-match model means misses cost nothing. Lusha’s Free plan is 40 credits a month with MCP included; API access starts on Premium. Apollo’s free tier includes credits and MCP. Run the 200-record pilot on free tiers before paying anyone.
Go deeper
- Lusha API and API documentation
- Lusha FAQ: plans, credits, rollover, API access by plan, and how MCP is billed
- Lusha MCP server: the same data for Claude, ChatGPT, and any MCP client
- Data enrichment: CSV, CRM, API, and waterfall in one place
- What to use to enrich CRM records: five options compared
- Global coverage vs local depth: what B2B databases publish by country
Sources: Lusha API documentation and help center as linked, checked September 17, 2026. Competitor pages as linked, checked September 15 and 17, 2026.


