Best email verification API: 13 verifiers on one test
The best email verification API for an agent: 13 catalog verifiers ranked by live price per check, plus what each one said about the same two addresses.
The looot team · · 10 min read
On this page
Picking the best email verification API looks like a price question. It is not only that. On 2026-10-28 we sent the same two addresses to 13 email verification APIs in the looot catalog: a real role mailbox at a well-known company domain, and a mailbox we made up at the same domain. They did not agree. Most called both invalid, three flagged the domain as catch-all, one called the real address valid but risky, and one answered not found and still billed the check.
This post ranks those verifiers by live price per check, shows what each one returned on that test, and gives a way to choose. It ends with a prompt your agent can run and a FAQ. The live ranking with logos is on the best email verification API page.
Last checked 2026-10-28, against looot's live catalog and 24 paid verification runs.
Best email verification API: the short answer
Each bullet names one need. Prices are in the live table below, not here, because they change.
- Dropleads, best for a verdict with the domain's mail server: it returns the status, the MX record and the mail provider.
- MillionVerifier, best for a verifier and nothing else: one address in, one result out, and it was among the fastest on our test.
- BounceBan, best for long lists: a call that waits for the result, plus batch endpoints.
- ZeroBounce, best for knowing why: every invalid result carries a sub-status such as mailbox not found.
- Scrubby, best for a second opinion: a deep check for addresses the quick check cannot settle.
- Findymail, best for a plain yes or no: verified true or false.
- Hunter, best for a score: a number with every result, and accept-all on catch-all domains.
| Provider | What the endpoint returns | Other capabilities in the catalog | Billing unit |
|---|---|---|---|
| Dropleads | status, MX record, mail provider | email finder, phone finder | per check |
| MillionVerifier | one result per address | none | per check |
| BounceBan | verdict, waits for the result | batch verify and results | per check |
| ZeroBounce | status and sub-status | scoring, activity | per check |
| Scrubby | verdict and reason | deep verify, batch verify | per check |
| Findymail | verified true or false | email finder, phone finder | per check |
| Hunter | result, score, accept-all | email finder, domain search | per check |
| Kitt AI | verdict with a risk level | email finder | per check |
| Icypeas | verdict from an async job | email finder, domain search | per check |
| LeadMagic | verdict | email finder, phone finder | per check |
| Limadata | verdict, score, catch-all flag | email finder, web search | per check |
| Tomba | verdict, accept-all flag | email finder, phone verify | per check |
| Anysite | verdict | email finder, LinkedIn profile | per check |
A live table holds twelve rows at most, so Anysite's price is on the ranked page only.
How we ranked these email verification APIs
We rank by the live price per check of each provider's `people.email.verify` endpoint, read from the looot catalog when the page loads. Every verifier here checks one address per call and bills per call, so the units compare. Extra capabilities do not raise a rank. Vendors outside the looot catalog are not ranked.
We also ran every verifier on the same two addresses on 2026-10-28, through looot, from one workspace. That test shows how each one answers. Two addresses at one domain cannot measure accuracy, so the test does not change the order. The catalog shows measured run counts in its search results, but several of these endpoints have only a handful of runs, so we do not rank by them either.
What 13 email verifiers said about the same two addresses
Address A is a real role mailbox at a large company domain. Address B is a mailbox we made up at the same domain. Seconds are from the start to the end of the run.
| Verifier | Address A | Address B | Seconds, A |
|---|---|---|---|
| Dropleads | invalid | invalid | 3 |
| MillionVerifier | invalid | invalid | 5.5 |
| BounceBan | undeliverable | undeliverable | 1.7 |
| LeadMagic | invalid | invalid | 13.6 |
| Scrubby | invalid, hard bounce | invalid, hard bounce | 1.4 |
| ZeroBounce | invalid, mailbox not found | invalid, mailbox not found | 0.3 |
| Anysite | invalid | not run | 1.5 |
| Findymail | verified false | verified false | 1.9 |
| Limadata | valid, catch-all | valid, catch-all | 5.0 |
| Hunter | accept-all, risky | accept-all, risky | 2.9 |
| Tomba | accept-all | timed out, no charge | 0.3 |
| Kitt AI | valid, risky | not run | 5 |
| Icypeas | not found, billed | not found, billed | 3.7 |
On address A, eight verifiers said the mailbox takes no mail. Three saw a catch-all domain and could not tell the two apart. Kitt AI gave the opposite answer on address A. The lesson is not that one of them is wrong. A mail server can answer a probe one way and a real email another way, and catch-all domains hide the difference. If two verifiers disagree, put the address in a risky bucket.
1. Dropleads, best for the mail server with the verdict
Dropleads' `dropleads-email-verifier` returns a status for one address, the domain's MX record and the name of the mail provider behind it. Knowing the domain runs on Microsoft or Google helps you plan sending limits. It agreed with the majority on both test addresses.
- Best for: cleaning a list before the first send; sorting a list by mail provider.
- Strengths: the mail provider comes in the same call; the same provider also finds emails and phones.
- Limits: no score, so there is nothing between valid and invalid to sort on.
- Does not fit: a team that needs a reason for every bounce.
2. MillionVerifier, best for a verifier and nothing else
MillionVerifier's `millionverifier-verify` takes an address and an optional timeout and returns one result. MillionVerifier has no other job in the catalog, which keeps it simple. Its second test call answered in half a second.
- Best for: checking addresses inside a signup flow; a quick pass over a fresh list.
- Strengths: fast answers on our test; a timeout you set yourself.
- Limits: no finder, no enrichment, no batch endpoint in the catalog.
- Does not fit: an agent that wants one provider for finding and checking.
3. BounceBan, best for long lists
BounceBan's `bounceban-verify-sync` waits for the result and returns a verdict such as undeliverable. For a long list there are batch endpoints to submit, poll and export results.
- Best for: a few thousand addresses from an event; nightly list hygiene run by hand.
- Strengths: batch endpoints; one waiting call for single checks.
- Limits: the waiting call is as slow as the slowest mail server, and address B took over ten seconds.
- Does not fit: a live form that needs an answer in under a second.
4. ZeroBounce, best for knowing why an address failed
ZeroBounce's `zerobounce-validate` returns a status and a sub-status, so an invalid result says mailbox not found rather than only invalid. Scoring and activity data are separate endpoints.
- Best for: explaining bounces to a sales team; auditing a vendor's list.
- Strengths: a reason with each result; fast answers on our test.
- Limits: scoring and activity cost separate calls.
- Does not fit: a pipeline that only needs yes or no.
5. Scrubby, best for a second opinion
Scrubby's `scrubby-validate` returns a verdict with a reason, such as a hard bounce. A separate deep check works on addresses the quick check cannot settle, which is where catch-all domains end up.
- Best for: re-checking the risky bucket from a cheaper verifier; catch-all domains.
- Strengths: a reason with each result; a deep check for hard cases.
- Limits: the deep check is a second endpoint with its own results call.
- Does not fit: a one-pass cleanup where every call should finish at once.
6. Findymail, best for a plain yes or no
Findymail's `findymail-api-verify` returns verified true or false. There is nothing to map, so an agent can act on it without a lookup table.
- Best for: gating an outreach step; checking addresses that an email finder returned.
- Strengths: the simplest answer of the list; the same provider finds emails and phones.
- Limits: no reason and no catch-all flag, so a false hides why.
- Does not fit: anyone debugging bounces.
7. Hunter, best for a score
Hunter's `hunter-email-verifier` returns a result and a score. On our test domain it answered accept-all and risky for both addresses, with scores of 78 and 73.
- Best for: ranking a list by confidence; teams already finding emails with Hunter.
- Strengths: a score to sort on; email finder and domain search from the same provider.
- Limits: on a catch-all domain it did not separate the real mailbox from the made-up one.
- Does not fit: a strict valid or invalid filter.
The other six, Kitt AI, Icypeas, LeadMagic, Limadata, Tomba and Anysite, are in the live table and on the ranked page. Two notes from the test: Icypeas billed both checks that answered not found, and LeadMagic took over ten seconds per call.
How to choose an email verification API
Most teams need two verifiers, not one. Start from the answer you need back.
What do you need back?
A yes or no: Findymail. A reason: ZeroBounce or Scrubby. A score to sort on: Hunter or Limadata. The mail provider: Dropleads.
How many addresses do you check?
For one at a time inside a flow, pick a fast verifier such as MillionVerifier or ZeroBounce. For thousands, use BounceBan's batch endpoints or send one call per address from your agent.
What happens to catch-all and risky results?
Send them to a second verifier, such as Scrubby's deep check, or send to them slowly. Do not count them as valid. The email verification API guide shows the two-pass flow step by step.
Will you check the same list again?
Re-checking on a timer needs scheduled runs, not available yet. Run the same list by hand before each campaign. For the wider tool view, with plans and dashboards, see email verification tools compared.
Try it
Prompt for your agent
Verify a list with the cheapest email verification API
What this test does not show
Two addresses at one domain are a sample. They show how each verifier words its answer and how it treats a catch-all domain. They do not measure accuracy on your list, and a verifier that agreed with the majority here can disagree on another domain. Run a few known-good and known-bad addresses from your own list before you pick.
Questions
Keep reading
Best email verification tools, ranked by live price
Email verification tools compared by what each returns, the input it takes and its live price per call, read from the looot catalog. One address per call.
The looot team · · 11 min read
Best email finder tools, compared by cost per miss
Email finder tools compared by input, output and live price per call, read from the looot catalog, with a note on which ones bill you when no email is found.
The looot team · · 13 min read
Claude Code email finder without signing up to each provider
Use Claude Code as an email finder with one MCP connection and one prepaid balance, no account per provider. Setup, prices, and what a miss costs.
The looot team · · 6 min read
Try it with the agent you already use
Start your workspace, top up, and paste one prompt into your agent.





