Every email verification API claims 99% accuracy in its docs. I stopped reading that line a long time ago, because I integrate these APIs for a living, into n8n pipelines and enrichment waterfalls, and the docs never tell you the part that costs you money. So I tested them the only way that means anything: 1,000 real B2B emails through each provider on the same day, then a real send to count bounces. This comparison ranks the APIs on that measured accuracy plus the things you only discover after integrating: billing models that charge for non-answers, response taxonomies that dodge decisions, missing webhooks, and how each one handles the catch-all domains that make up a fifth of any B2B list.

Send-test data comes from my email verification benchmark; the non-developer tool roundup is at best email verification tools.

The comparison

APIMeasured bounce rateValid kept (of 1,000)Billing modelCatch-all behaviorWebhooks10K cost
WizLeads0.60%8520.5 credits per checkresolves to valid/invalidvia n8n/Make patterns~$20
ZeroBounce3.70%888charge-on-attemptflags; free Verify+ add-onyes$99
NeverBounce0.60%711charge-on-attemptflags, no resolutionyes$49
MillionVerifier1.00%709charge-on-findflags, unchargedno$37
Debounce0.10%670charge-on-attempt10-credit deep resolvevia Zapier$23
BounceBannot testednot testedcharge-on-successresolves (claimed 83%+)yes~$34

Billing model matters more than sticker price on B2B lists. Charge-on-attempt means you pay full price for unknown and catch-all verdicts, which are non-answers. On a list where a quarter of addresses are ambiguous, a quarter of your spend buys nothing actionable. I learned to check this before checking the per-credit price.

1. WizLeads

Mine, so audit everything in this section against the published raw data. It posted the best measured result in the benchmark: 0.60% bounce rate with the highest correctly-classified valid pool. The API design goal was the thing that frustrated me about every API I had integrated before: return an actionable verdict instead of an ambiguity flag. Catch-all domains are resolved to valid or invalid, and every response identifies the mailbox provider and whether the domain sits behind a Secure Email Gateway (Proofpoint, Mimecast, Barracuda, Appriver, Sophos), which no other API on this list returns.

curl "https://api.wizleads.io/public/verify-email?email=john@example.com" \
  -H "x-api-key: YOUR_API_KEY"
{
  "email": "john@example.com",
  "verified": true,
  "provider": "google",
  "catchall": false
}

A companion /find-email endpoint does name-plus-domain email discovery with verification in the same call, the engine I measured in my enrichment benchmark at 670 verified-valid emails per 1,000 leads with zero invalids. Pricing: each verification costs 0.5 credits, and the $39 Freelancer plan includes 10,000 credits, so it covers 20,000 verifications, about $20 per 10K. Batch endpoints are in development, so very high-volume synchronous workloads currently mean parallel single calls. Docs at api.wizleads.io/public/docs.

2. ZeroBounce

The most mature API surface in the category: a dozen-plus sub-statuses (role_based_catch_all, invalid_smtp, timeout_exceeded), real-time and async batch endpoints, webhooks, official SDKs, and SOC 2 Type II, ISO 27001, and HIPAA certifications that matter in enterprise procurement. Also the highest measured bounce rate in my test (3.70%), driven by Google catch-all mailboxes returned as valid, and the most expensive at $99 per 10K. Catch-all resolution comes from Verify+, a free add-on that send-tests the address, though Allegrow's independent test still measured a 33.1% false-positive rate on it. Choose ZeroBounce when compliance paperwork outweighs cold-list accuracy.

3. NeverBounce

NeverBounce earns its place on integrations: official PHP, Node, and Ruby SDKs, webhooks on bulk jobs, native HubSpot and Salesforce connectors, and the best n8n node in the category. Measured accuracy was conservative: a 0.60% bounce rate achieved by rejecting 289 of my 1,000 emails, and catch-alls return Accept All (Unverifiable) with no resolution at any price. Two fine-print items I flag for anyone integrating it: pay-as-you-go credits expire after 365 days, and unknown responses, up to 75 retries deep, still bill a full credit.

4. MillionVerifier

MillionVerifier bills more fairly than anything above it in this list: catch_all and unknown verdicts are free, credits never expire, and bulk pricing falls to about $0.0004 per check at 1M. The costs of the low price: a minimal 6-code taxonomy, no webhook support on the core API, documented cases of the single-check and bulk endpoints disagreeing on the same address, and conservative classification that rejected 291 of my 1,000 test emails. Fine for large-scale list hygiene pipelines where a discarded valid email is cheap.

5. Debounce

Budget standard verification (about $23 per 10K) and the lowest bounce rate in my test (0.10%), bought with the highest rejection rate (330 of 1,000). The developer-relevant constraints: a 5-concurrent-call API cap that throttles high-volume workloads, 10-credit pricing per catch-all deep-resolution, results auto-deleted after 7 days, and its own docs advising that Accept-all and Unknown be treated as valid on signup forms, which reads to me as an admission that its risky bucket is largely mailable. A good fit for signup-form validation widgets and budget batch jobs.

6. BounceBan

Not in my benchmark yet, so no send-tested numbers. I included it because its design is developer-friendly in ways worth knowing about: charge-on-success billing (failed and unknown verifications are free), a dedicated waterfall endpoint built for Clay and n8n that will not double-charge retries within 30 minutes, webhooks with typed events, and a claimed 83%+ catch-all resolution rate that remains unaudited. The known trade-off: hard catch-all domains can take 1 to 6 minutes per address to resolve, so design for async. Roughly $34 to $40 per 10K.

Integration advice that outlasts tool choice

Whatever API you pick, three patterns have saved me the most pain. First, route on verdicts, not scores: define exactly what your pipeline does with valid, invalid, and every ambiguous state before writing the integration, because the ambiguous states are where APIs differ most, as the catch-all guide details. Second, verify at ingestion and re-verify at send time if more than 30 days pass; verdicts decay with the underlying mailboxes. Third, log the raw API response alongside your mapped verdict, so when bounces happen you can attribute them to the provider verdict that let them through and switch providers on evidence instead of vibes. The full operational playbook sits in B2B email verification.

FAQ

What is the best email verification API?

On measured accuracy, WizLeads (0.60% bounce, 852 of 1,000 kept, catch-all resolution in the response). ZeroBounce for enterprise compliance, MillionVerifier for bulk budget work, NeverBounce for native integrations.

How do these APIs charge?

Charge-on-attempt (every verdict billed), charge-on-find (ambiguous verdicts free), or charge-on-success. On B2B lists with 20 to 30% ambiguous addresses, the model shifts real cost more than the per-credit price.

Is there a free verification API?

Free trial credits are standard (MillionVerifier 500, Debounce 100). BounceBan offers rate-limited free single verifications. Nobody gives away bulk verification.

What should the API return for catch-all domains?

Ideally a resolved valid or invalid verdict with provider and SEG context, not a risky flag. A quarter of a B2B list returning non-answers you paid for is the main hidden cost in this category.