---
title: "Email validation API: real-time checks, codes and limits"
description: "How each email validation API behaves on a call: real-time against bulk, the status codes, timeouts, rate limits and how an unknown is billed."
url: https://frontal.so/gtm-apis/email-validation-apis
updated: 2026-11-12
---

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](https://frontal.so/gtm-apis/verification-apis/neverbounce-api-review) 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](https://frontal.so/gtm-apis/enrichment-apis/dropcontact-api-review) found are verified when found, so they need no second check.

See the 7 providers [All 52 GTM APIs](https://frontal.so/gtm-apis)

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

**7** providers compared here

**4** usable at zero cost

**2** bill per call, no floor

**6** ship 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](https://frontal.so/gtm-apis/verification-apis); 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](https://frontal.so/gtm-apis/verification-apis/zerobounce-api-review) 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](https://frontal.so/gtm-apis/enrichment-apis/fullenrich-api-review) 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](https://frontal.so/gtm-apis/enrichment-apis/leadmagic-api-review)'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](https://frontal.so/gtm-apis/enrichment-apis/hunter-api-review) 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](https://frontal.so/gtm-apis/enrichment-apis/findymail-api-review) 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](https://frontal.so/gtm-apis/verification-apis) and, for the two specialists, on [ZeroBounce vs NeverBounce](https://frontal.so/gtm-apis/compare/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](https://frontal.so/gtm-apis/enrichment-apis/zoominfo-api-review) 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.

| Provider | Checks | Entry price | Unit cost | MCP server |
| --- | --- | --- | --- | --- |
| [LeadMagic](https://frontal.so/gtm-apis/enrichment-apis/leadmagic-api-review) | Work email | $99/mo | $0.00495 per validation, 0.25 credit | Yes |
| [Findymail](https://frontal.so/gtm-apis/enrichment-apis/findymail-api-review) | Work email | $99/mo | $0.0198 per credit | Yes |
| [Hunter](https://frontal.so/gtm-apis/enrichment-apis/hunter-api-review) | Work email | $49/mo | $0.01225 per verification, 0.5 credit | Yes |
| [FullEnrich](https://frontal.so/gtm-apis/enrichment-apis/fullenrich-api-review) | Work email, Personal email | $29/mo | $0.055 per credit, 1,000-credit plan | Yes |
| [ZeroBounce](https://frontal.so/gtm-apis/verification-apis/zerobounce-api-review) | Work email | $39 one-time | $0.0195 per validation | Yes |
| [NeverBounce](https://frontal.so/gtm-apis/verification-apis/neverbounce-api-review) | Work email | $8 one-time | $0.008 per credit | No |
| [Dropcontact](https://frontal.so/gtm-apis/enrichment-apis/dropcontact-api-review) | 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](https://frontal.so/gtm-apis/enrichment-apis/leadmagic-api-review), [Findymail](https://frontal.so/gtm-apis/enrichment-apis/findymail-api-review), [Hunter](https://frontal.so/gtm-apis/enrichment-apis/hunter-api-review) and [FullEnrich](https://frontal.so/gtm-apis/enrichment-apis/fullenrich-api-review).

Also with a full review: [ZeroBounce](https://frontal.so/gtm-apis/verification-apis/zerobounce-api-review), [NeverBounce](https://frontal.so/gtm-apis/verification-apis/neverbounce-api-review) and [Dropcontact](https://frontal.so/gtm-apis/enrichment-apis/dropcontact-api-review).

### Filter

Showing 7 of 7

### [LeadMagic](https://frontal.so/gtm-apis/enrichment-apis/leadmagic-api-review)

Best priced per operation

Motion Source Enrich Verify Signal

Model MCP 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

From $99 /mo

[Read the review of the LeadMagic API](https://frontal.so/gtm-apis/enrichment-apis/leadmagic-api-review) [site for LeadMagic (opens in a new tab)](https://www.leadmagic.io/)

### [Findymail](https://frontal.so/gtm-apis/enrichment-apis/findymail-api-review)

A refund if your bounce rate passes 5%

Motion Enrich Verify

Model MCP 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

From $99 /mo

[Read the review of the Findymail API](https://frontal.so/gtm-apis/enrichment-apis/findymail-api-review) [site for Findymail (opens in a new tab)](https://www.findymail.com/)

### [Hunter](https://frontal.so/gtm-apis/enrichment-apis/hunter-api-review)

Best documented starter

Motion Enrich Verify

Model MCP server Free 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

From $49 /mo

[Read the review of the Hunter API](https://frontal.so/gtm-apis/enrichment-apis/hunter-api-review) [site for Hunter (opens in a new tab)](https://hunter.io/)

### [FullEnrich](https://frontal.so/gtm-apis/enrichment-apis/fullenrich-api-review)

Best waterfall without Clay

Motion Enrich Verify

Model MCP 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

From $29 /mo

[Read the review of the FullEnrich API](https://frontal.so/gtm-apis/enrichment-apis/fullenrich-api-review) [site for FullEnrich (opens in a new tab)](https://www.fullenrich.com/)

### [ZeroBounce](https://frontal.so/gtm-apis/verification-apis/zerobounce-api-review)

Real-time validation with published limits and 100 free checks a month

Motion Verify Enrich

Model MCP server Free tier No 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

From $39 one-time

[Read the review of the ZeroBounce API](https://frontal.so/gtm-apis/verification-apis/zerobounce-api-review) [site for ZeroBounce (opens in a new tab)](https://www.zerobounce.net/)

### [NeverBounce](https://frontal.so/gtm-apis/verification-apis/neverbounce-api-review)

The cheapest pay as you go verification, if you keep the CRM sync off

Motion Verify

Model Free tier No 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

From $8 one-time

[Read the review of the NeverBounce API](https://frontal.so/gtm-apis/verification-apis/neverbounce-api-review) [site for NeverBounce (opens in a new tab)](https://www.neverbounce.com/)

### [Dropcontact](https://frontal.so/gtm-apis/enrichment-apis/dropcontact-api-review)

Email finding with no contact database behind it, for GDPR-first teams

Motion Enrich Verify

Model MCP server Free 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

From €29 /mo

[Read the review of the Dropcontact API](https://frontal.so/gtm-apis/enrichment-apis/dropcontact-api-review) [site for Dropcontact (opens in a new tab)](https://www.dropcontact.com/)

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](https://frontal.so/gtm-apis/compare), by the reason teams leave on the [alternatives hub](https://frontal.so/gtm-apis/alternatives), and wired together with the cost run end to end on the [stacks hub](https://frontal.so/gtm-apis/stacks).

The same providers, sorted by other data: [LinkedIn APIs](https://frontal.so/gtm-apis/linkedin-api), [People data APIs](https://frontal.so/gtm-apis/people-data-apis), [Company data APIs](https://frontal.so/gtm-apis/company-data-apis) and [B2B data APIs](https://frontal.so/gtm-apis/b2b-data-apis).

By the stage of the motion they serve: [Enrichment APIs](https://frontal.so/gtm-apis/enrichment-apis) and [Verification APIs](https://frontal.so/gtm-apis/verification-apis).

Head to head, with the arithmetic done: [LeadMagic vs Findymail](https://frontal.so/gtm-apis/compare/leadmagic-vs-findymail), [Findymail vs Hunter](https://frontal.so/gtm-apis/compare/findymail-vs-hunter) and [FullEnrich vs Findymail](https://frontal.so/gtm-apis/compare/fullenrich-vs-findymail).

Also side by side: [ZeroBounce vs LeadMagic](https://frontal.so/gtm-apis/compare/zerobounce-vs-leadmagic) and [ZeroBounce vs NeverBounce](https://frontal.so/gtm-apis/compare/zerobounce-vs-neverbounce).

Teams leaving one of these have somewhere to go: [LeadMagic](https://frontal.so/gtm-apis/alternatives/leadmagic-alternatives), [Findymail](https://frontal.so/gtm-apis/alternatives/findymail-alternatives) and [Hunter](https://frontal.so/gtm-apis/alternatives/hunter-alternatives).

And: [ZeroBounce](https://frontal.so/gtm-apis/alternatives/zerobounce-alternatives), [FullEnrich](https://frontal.so/gtm-apis/alternatives/fullenrich-alternatives) and [Dropcontact](https://frontal.so/gtm-apis/alternatives/dropcontact-alternatives).

## 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.

[Try Clay](https://go.frontal.so/clay) [See the stacks](https://frontal.so/gtm-apis/stacks)

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.
