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

## Summary

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](https://looot.ai/best/email-verification-api).

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 |

Price per email check. Prices read on 2026-10-28 from the live looot catalog. They change when a provider changes its price.

| Option | Cheapest provider | Price per check |
|---|---|---|
| Dropleads | Dropleads | $0.00145 per check |
| Kitt AI | Kitt AI | $0.0015 per check |
| MillionVerifier | MillionVerifier | $0.00178 per check |
| Icypeas | Icypeas | $0.0019 per check |
| BounceBan | BounceBan | $0.0040 per check |
| LeadMagic | LeadMagic | $0.00495 per check |
| Limadata | Limadata | $0.0060 per check |
| Scrubby | Scrubby | $0.0078 per check |
| Tomba | Tomba | $0.0089 per check |
| ZeroBounce | ZeroBounce | $0.0100 per check |
| Hunter | Hunter | $0.01225 per check |
| Findymail | Findymail | $0.0198 per check |

A live table holds twelve rows at most, so Anysite's price is on the [ranked page](https://looot.ai/best/email-verification-api) 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](https://looot.ai/use-cases/find-professional-emails) 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](https://looot.ai/best/email-verification-api). 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](https://looot.ai/use-cases/email-verification-api) 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](https://looot.ai/blog/best-email-verification-tools).

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

### What is the best email verification API?

It depends on how it handles catch-all domains and what it returns besides a verdict. The [live ranking](/best/email-verification-api) orders the catalog verifiers by price per check. Pick the cheapest for long lists and add a second verifier for risky results.

### What is the cheapest email verification API?

The first row of the live table above, read from the catalog when the page loads. Prices change, so this post does not type one.

### Is there a free email verification API?

This post covers priced endpoints. Every verifier here bills per check, and a check that answers not found can still be billed, as Icypeas did on our test.

### What are the best NeverBounce alternatives?

NeverBounce is not in the looot catalog, so this post does not rank it. The 13 verifiers above check one address per call, and your agent calls any of them with one key.

### What is the difference between an email verifier API and an email validation API?

People use the words for the same job. Some vendors call a syntax and domain check validation and a mailbox check verification. Every email verification API in this post checks the mailbox.

### Why do email verifiers disagree?

They probe the mail server in different ways and read catch-all domains differently. On our test, eight said invalid, three said catch-all and one said valid for the same address.

### How does an agent call an email verification API?

Paste the prompt above into Claude Code, Cursor or another agent. It sets up looot, finds the verification endpoints, checks the price and runs the cheapest one.

### Why no success rates?

Several of these endpoints have only a few measured runs in the catalog, so a rate would move with every answer. We rank by price and show our own dated test instead.

## For agents

### Verify a list with the cheapest email verification API

```text
Set up https://looot.ai/skill.md, then: Use looot to verify these 20 email addresses: call the cheapest email verification endpoint for each, list the address and the verdict, put catch-all and unknown results in their own group, then tell me the total cost.
```
