Skip to content
By data · Email validation APIs

Email validation API: what happens on each call

Seven providers in the directory check whether an address will accept mail, all but one as a standalone call on an address you supply. This page is about the mechanics of that call, from the status that comes back to the rule that can lock an account.

Short answer

NeverBounce for pay-as-you-go checks from $0.008 a credit, ZeroBounce when an unknown or a duplicate should cost nothing, and LeadMagic at 0.25 credits a check if you already buy its finder credits. Rows Findymail or Dropcontact found are verified when found, so they need no second check.

unit-cost.txt entry plans
leadmagic · 1 validation, 0.25 credit$0.00495
neverbounce · 1 credit$0.008
hunter · 1 verification, 0.5 credit$0.01225
zerobounce · 1 validation$0.0195
findymail · 1 credit$0.0198
From $0.00495 to $0.0198: the unit decides more than the vendor unit prices, read 24 Oct 2026 or later
7providers compared here
4usable at zero cost
2bill per call, no floor
6ship an MCP server
The use case

One address at a signup form, or a list overnight

An email validation API checks whether an address will accept mail before you send to it. Every provider here sells that check, and the differences that bite are not in the price. They are in what a single call returns, how long it waits, what it does with an answer it cannot get, and what happens when you use the real-time endpoint for a job it was not built for.

There are two shapes of job. A real-time check runs one address at the moment somebody types it into a form or a rep pastes it into the CRM, and it has to answer in seconds. A bulk job cleans a list: thousands of addresses submitted at once, processed in the background, collected later or pushed to a callback.

Most providers sell both and separate them on purpose, so the first design decision is which path each address takes. The cost comparison lives on the email verification APIs page; this page is the integration side of the same providers.

Real time or bulk

Two endpoints, and the penalty for mixing them

A real time email validation API call carries one address and waits for the answer. ZeroBounce and NeverBounce both publish one, and both treat it as a different product from their bulk path. NeverBounce is the strictest: it says that using its single check to clean a database one address at a time may get the account locked and API access disabled.

A bulk email validation API takes a list and works asynchronously. NeverBounce creates a job on one call, and its results are fetched later or pushed to a callback_url since version 4.2. ZeroBounce offers a batch endpoint for up to 100 addresses a request and bulk file endpoints for anything larger, and it recommends routing old or doubtful lists to the file endpoints rather than the real-time ones.

Some providers only work in batches. Dropcontact takes up to 250 contacts a request and returns the results asynchronously. FullEnrich takes 100 contacts per bulk and delivers results to a webhook you register.

The rule that falls out of this is simple. Wire the real-time endpoint to the form and the CRM create event, and send every list through the bulk path, even a small one. A script that loops over a CRM export calling the single check is the most common way to break an integration here.

What comes back

Valid, invalid, catch-all and the rest

A validation does not return yes or no. It returns a status, and the statuses are where the providers differ most, because each one decides what to do with an address it cannot prove either way.

Read off each provider's own documentation, the vocabulary looks like this:

  • NeverBounce returns valid, invalid, disposable, catchall or unknown, and flags a result that came from its historical data with historical_response.
  • ZeroBounce returns a status and a sub-status, such as greylisted, role-based or a possible spam trap, so the reason travels with the verdict.
  • Dropcontact qualifies the local part of an address (nominative, catch_all, generic, random or invalid) and the domain (pro, perso or invalid), so nominative@pro is the result to send to.
  • FullEnrich counts a deliverable, a high-probability or a catch-all email as a found result, and LeadMagic's validation price includes catch-all validation.

Map every status to an action before you go live: send, suppress, or hold for a second look. A catch-all domain accepts mail for any address, so a catch-all verdict is a risk to price, not a pass.

Timeouts

Unknown results, and why they are not free

A real-time check has to give up eventually, and what it does when it gives up is a design decision each provider made for you. ZeroBounce takes an optional timeout of 3 to 60 seconds, 30 by default; when it is reached, the answer comes back unknown rather than as an error, and an unknown costs no credits. NeverBounce's single check takes a timeout in seconds too, after which the result comes back unknown.

An unknown that costs nothing feels free, and ZeroBounce has a rule that catches teams who treat it that way. A batch response with more than 20 unknown statuses that are neither greylisted nor antispam, more than once an hour, blocks you for an hour. A list cleanup can trip it without exceeding any rate at all.

NeverBounce has a different subtlety. It runs a hybrid check that mixes the real-time result with historical data, and passing request_meta_data[leverage_historical_data]=0 forces the classic real-time check. That is worth doing on an address you are about to send to, and unnecessary on a list you are only sizing.

Errors

Failures that arrive as HTTP 200

The integration bug that ships most often here is a client that trusts the HTTP status code. NeverBounce returns API errors as an HTTP 200 with a status field, which is one of success, general_failure, auth_failure, temp_unavail, throttle_triggered or bad_referrer. A client that only checks the code will store a throttle as if it were a verdict.

Hunter returns a 401 when no valid key is sent, which is the conventional behavior, and it offers a test key that validates your parameters without spending credits. That makes it the easiest of these to put in a CI pipeline. ZeroBounce publishes a sandbox for the same purpose, and its own advice is to validate the shape of your requests there and cache the balance rather than calling for it on every request.

Whatever the provider, parse the body before the status code, log the provider's own status string beside your mapped action, and treat any status you have not mapped as a hold rather than a send.

Throughput

Rate limits that block rather than slow

The limits on validation differ by orders of magnitude, and two of the providers block rather than throttle. ZeroBounce's validate endpoint allows 80,000 requests in 10 seconds and then blocks you for a minute; its batch endpoint allows 30 requests a minute of up to 100 addresses each.

NeverBounce publishes no request rate for the single check. Its bulk path is capped at 10 concurrent jobs and 50 runs a day, it asks for no more than 10 jobs for every 100,000 items an hour, and a supplied-data payload over 25 megabytes returns a 413.

The rest publish ordinary rates. Hunter's Email Verifier allows 10 requests a second and 300 a minute, tighter than its other endpoints. LeadMagic allows 600 a minute on Email Validation on every plan, FullEnrich 60 calls a minute, Dropcontact 60 requests a second of up to 250 contacts each, and Findymail sets concurrency of 25, 50 or 150 simultaneous requests by plan.

Size the real-time path for your peak signup rate and the bulk path for your largest list, and keep the two on separate keys or queues so a backfill cannot starve the form.

Billing

How a miss, an unknown and a duplicate are billed

Email validation API pricing is mostly a question of what a credit is spent on. ZeroBounce sells validation pay as you go from $39 for 2,000, its minimum buy, and charges nothing for an unknown result or a duplicate. NeverBounce starts at $8 for 1,000 credits, falls to $0.002 a credit at 2 million, and its credits expire 12 months after purchase.

The enrichment providers price validation as a fraction of a finder credit, where they sell it at all. LeadMagic charges 0.25 credits a validation, catch-all included. Hunter shares one credit balance across finding, verifying and domain search, and a verification costs half a credit against a full one for a find. FullEnrich verifies every address it returns and sells no standalone validation.

Two providers charge every attempt, which is the opposite of their finder rule. Dropcontact's card price is per email found, but it charges 1 credit for every address you pass in its email field for checking, whatever the answer, and it prices in euros only. Findymail's credit plans include verifier credits for addresses that came from somewhere else, and the verifier charges on every attempt while its finder charges only on success.

Which provider is cheapest at your volume is a different question, answered with the arithmetic on the verification comparison and, for the two specialists, on ZeroBounce vs NeverBounce.

The second bill

Verify at find time, or pay twice for one answer

The cheapest validation is the one you do not run. Findymail verifies at the moment it finds an address and refunds credits above a 5% bounce rate, Dropcontact verifies when it finds, and FullEnrich bundles verification free with enrichment. Pushing their output through a separate validator is a second invoice for a result you already paid for.

An email validation service API earns its keep on addresses that came from somewhere else: a signup form, a webinar list, an old CRM export or a list a partner sent you. Those are the rows to route through it, and they are usually a minority of what a GTM team sends to.

So keep finding and validating in separate code paths, and tag every address with the provider that produced it. The tag is what lets the pipeline skip the validator for a row a finder already stands behind.

Data handling

Where the address goes when you check it

A validation call sends somebody's email address to a third party, so the data terms belong in the comparison. ZeroBounce publishes regional hosts: api-us.zerobounce.net processes only in the United States, api-eu.zerobounce.net only in the European Union, and the older api.zerobounce.net host is now used for EU processing. It says it deletes uploaded data after 30 days.

NeverBounce is a ZoomInfo company, and its terms say a connected CRM or email integration contributes your contacts to ZoomInfo unless you opt out; the API with your own uploads is the cleaner route. Dropcontact keeps no contact database and runs on EU servers, which is what its GDPR positioning rests on.

None of this shows up on a price list, and all of it is a question your legal team will ask after launch if nobody asks before.

Side by side

The providers that validate an address, side by side

Entry price and unit cost are read from each vendor's own pricing page. Some of these bill a validation, some a finder credit of which a validation is a fraction, so this is not an email validation API comparison on price alone.

ProviderChecksEntry priceUnit costMCP server
LeadMagic Work email $99/mo $0.00495 per validation, 0.25 credit Yes
Findymail Work email $99/mo $0.0198 per credit Yes
Hunter Work email $49/mo $0.01225 per verification, 0.5 credit Yes
FullEnrich Work email, Personal email $29/mo $0.055 per credit, 1,000-credit plan Yes
ZeroBounce Work email $39 one-time $0.0195 per validation Yes
NeverBounce Work email $8 one-time $0.008 per credit No
Dropcontact Work email €29/mo €0.01975 an email found, priced in euros (€79 for 4,000) Yes

Read from each vendor's own pages on 24 October 2026, and each review carries the full rate card.

The directory

Every provider that returns this, filtered

The 7 providers are chosen by the data each one returns, read off its record, not by hand. Billing model is the filter worth starting with, because it decides whether a quiet month costs you anything.

Each has a full review, with the rate card read off the vendor's own page: LeadMagic, Findymail, Hunter and FullEnrich.

Also with a full review: ZeroBounce, NeverBounce and Dropcontact.

Showing 7 of 7

LeadMagic

Best priced per operation
MotionSourceEnrichVerifySignal
ModelMCP server

Every operation has a stated credit cost, credits come off only when a lookup succeeds, and search is free in the app and unmetered on the API from Professional. The MCP server ships on every tier, including the cheapest.

  • Email finder 1 credit, mobile 5, validation 0.25, job change 3
  • Credits deducted on valid results only, never on a miss
  • Search is free in the app; the Search API is 1 credit a result on Essential and Growth, unmetered from Professional

Findymail

A refund if your bounce rate passes 5%
MotionEnrichVerify
ModelMCP server

Findymail verifies at the moment it finds, so you are not paying twice for the same address. It is the only provider here that puts a number on deliverability and refunds against it: above a 5% bounce rate, the credits come back.

  • Under 5% bounce rate or the credits are refunded
  • Duplicates found in the last 30 days cost nothing
  • Mobile numbers are non-EU only, at 10 credits each
  • API on every plan; usage-based plans include 1, 5 or 20 seats, credit plans are for reselling or embedding

Hunter

Best documented starter
MotionEnrichVerify
ModelMCP serverFree tier

Hunter has been the default first API in this category for a decade, and the documentation shows it. Coverage is thinner than the newer waterfall tools, but nothing else here is as fast to get a working call out of.

  • Domain Search returns every known address on a domain
  • Free tier of 50 credits a month, enough to prototype against
  • Annual billing drops Starter from $49 to $34 a month

FullEnrich

Best waterfall without Clay
MotionEnrichVerify
ModelMCP server

FullEnrich runs the same waterfall logic Clay does, but as a single API call with a single bill. If all you need is the waterfall and not the spreadsheet around it, this is that half of the trade on its own.

  • Work email 1 credit, personal email 3, mobile 10
  • Profile and company data free with any enrichment, 0.25 a credit on its own
  • Landline results cost nothing, so you only pay for mobiles

ZeroBounce

Real-time validation with published limits and 100 free checks a month
MotionVerifyEnrich
ModelMCP serverFree tierNo monthly floor

Verification you can use properly without a subscription. $39 buys 2,000 validations, and credits never expire while a ZeroBounce ONE subscription is active, which makes it the natural gate in front of a sending tool that charges you for every send whether it lands or not.

  • Pay as you go from $39 for 2,000 validations, the minimum buy
  • Unknown results consume no credits
  • Email Finder costs 20 credits per successful query

NeverBounce

The cheapest pay as you go verification, if you keep the CRM sync off
MotionVerify
ModelFree tierNo monthly floor

NeverBounce verifies email addresses for $8 per 1,000 credits on pay as you go, falling to $0.002 a credit at 2 million, which undercuts every other verifier here at the entry point. It is a ZoomInfo company, and its terms say a connected CRM or email integration contributes your contacts to ZoomInfo unless you opt out, so the API with your own uploads is the cleaner route.

  • Pay as you go from $8 for 1,000 credits, down to $0.002 at 2 million
  • Credits expire 12 months after purchase; Growth from $49 a month
  • Bulk jobs capped at 10 running at once and 50 runs a day

Dropcontact

Email finding with no contact database behind it, for GDPR-first teams
MotionEnrichVerify
ModelMCP serverFree tier

Dropcontact finds and verifies a work email from a name and a company without keeping a contact database: its pricing page says it works "exclusively with algorithms" on EU servers. A credit is spent only when a verified email comes back, and refunded when none does. It is priced in euros only, from €29 a month for 500 emails, and the API takes up to 250 contacts per asynchronous request.

  • Pay on success: a credit only when a verified email is returned
  • No contact database; built for GDPR, on EU servers
  • Priced in euros, from €29 a month for 500 emails, API and MCP on every plan
  • Up to 250 contacts per request, 60 requests a second
Buyer's guide

Four things that decide the integration

In the order they cost you money.

01

Which path each address takes

Real-time for the form and the CRM create event, bulk for every list. NeverBounce can lock an account that cleans a list through its single check, and ZeroBounce recommends its file endpoints for old lists.

02

What every status maps to

Valid, invalid, catch-all, unknown, disposable and role-based each need an action before launch. Decide what a catch-all and an unknown do in your pipeline, because they are the statuses a sending tool will pay for.

03

How unknowns and errors arrive

An unknown may be free and still trigger a block, and an error may arrive as HTTP 200 with a status field. Parse the body, not the code, and count unknowns per batch.

04

Whether the address needs checking at all

If a finder verified it when it found it, a second check is a second bill. Tag rows by source and send only outside addresses through the validator.

Keep going

Comparisons, stacks and alternatives

The same providers, seen three other ways: head to head on the compare hub, by the reason teams leave on the alternatives hub, and wired together with the cost run end to end on the stacks hub.

The same providers, sorted by other data: LinkedIn APIs, People data APIs, Company data APIs and B2B data APIs.

By the stage of the motion they serve: Enrichment APIs and Verification APIs.

Head to head, with the arithmetic done: LeadMagic vs Findymail, Findymail vs Hunter and FullEnrich vs Findymail.

Also side by side: ZeroBounce vs LeadMagic and ZeroBounce vs NeverBounce.

Teams leaving one of these have somewhere to go: LeadMagic, Findymail and Hunter.

And: ZeroBounce, FullEnrich and Dropcontact.

Not sure which provider to pick? Clay runs 150+ from one table.

Clay runs a waterfall across 150+ data providers from one table, without a separate contract with each. A lookup that finds nothing costs no data credit, and the free plan includes 500 actions a month.

Frontal is a Clay Elite Studio Partner.

FAQ

Email validation APIs, answered

How many email validation APIs are in this directory?

7, chosen by what each one returns rather than by hand, and each with its own review carrying the price, the rate limit and the auth method read from the vendor's own pages.

Which email validation APIs have a free tier?

Hunter, ZeroBounce, NeverBounce and Dropcontact. What each free tier includes differs a lot, so the review says what you actually get.

Which email validation API is cheapest?

Per validation at entry prices, LeadMagic at a quarter of a $0.0198 credit, about $0.005, then NeverBounce at $0.008 a credit and Hunter at half a $0.0245 credit, about $0.012. ZeroBounce is $0.0195 a validation and charges nothing for an unknown, and NeverBounce falls to $0.002 at 2 million credits.

How are email validation APIs billed?

6 of the 7 publish a per-unit rate; the rest sell a plan, quote on request or price in another currency, and each review says which.

Which ones ship an MCP server?

LeadMagic, Findymail, Hunter, FullEnrich, ZeroBounce and Dropcontact. The ones the directory reviews live on the MCP page with the connect details.

What is the difference between a real time and a bulk email validation API?

A real-time call checks one address and waits for the answer, which suits a signup form. A bulk call submits a list and returns the results later or to a callback. Most providers separate the two on purpose, and NeverBounce can lock an account that uses its single check to clean a list.

Does an unknown result cost a credit?

On ZeroBounce, no, and an unknown is also what a timeout returns. But a batch with more than 20 unknowns that are neither greylisted nor antispam, more than once an hour, blocks the account for an hour.

Why did my validation call return HTTP 200 and no result?

NeverBounce returns its errors as HTTP 200 with a status field such as throttle_triggered or auth_failure. Read the status field before you read the verdict.

Is this the same as the email verification APIs page?

The providers overlap. That page compares them on what verification really costs; this one covers how each email validation API behaves on a call, from the statuses to the rate limits.