# Email verification API: is this address deliverable, before you send

Hand your agent an address and get back a verdict: deliverable, undeliverable, or the third bucket every verifier has and each one names differently. 5 providers do this through one treg.to key, and what separates them is not accuracy claims. It is what they charge for an answer of “unknown”, which on a real B2B list is about a fifth of it.

## What's the best way to ask ChatGPT?

Setup line (paste into any agent): `set up treg — https://treg.to/llms.txt`

Then ask: "Using treg, verify these 40 addresses before I send. Show me the price first, then give me three lists: safe to send, do not send, and unknown with the reason."

- **Verify in one batch** One list in, one table out. Cheaper to reason about than 40 calls.
- **Ask for three buckets** Valid and invalid are easy. The third bucket is the decision you have to make.
- **Ask what a miss costs** One provider charges nothing for “unknown”. The others bill it as a check.
- **Verify close to the send** Data decays. A check from three weeks ago is not a check.

## Why go through treg.to

- **One key, not 9 accounts** treg.to holds the provider keys. Neither you nor the agent sees them.
- **Price before the call** The provider's own rate, $0.000 markup, from a prepaid balance.
- **No subscription, no seats** Charged per call. $1.00 free per new team, no card to start.
- **Your own keys are free** Already pay Hunter? Register it and those calls are never metered.
- **Switch by changing a word** Another provider is a different word in the prompt, not a new integration.
- **Nothing to integrate** No SDK, no OAuth dance per vendor, no seats.

## Behind the scenes: what ChatGPT sees before it calls

treg.to does not choose for you. It hands ChatGPT this comparison and it picks, or you tell it how.

### Which is cheapest?

- Cheapest per call: Icypeas at $0.0019 (`icypeas.people.email.verify`)
- Cheapest per found: LeadMagic at $0.00625 (`leadmagic.people.email.verify`)

Those units are not interchangeable: one call can return many results, so compare on the unit you will actually be billed in.

### Which is the most reliable?

- Icypeas: 100% over 207 calls, 223ms median
- Hunter: 100% over 100 calls, 1.2s median
- LeadMagic: 100% over 2089 calls, 5.2s median

Measured on treg.to traffic; not a controlled benchmark.

### How do they compare?

| Provider | Price | Accepts | Verified |
|---|---|---|---|
| Icypeas | $0.0019 per call | email, custom | 2026-08-20 |
| LeadMagic | $0.00625 per found | email | 2026-07-31 |
| Tomba | $0.0089 per call | email | 2026-08-20 |
| Hunter | $0.0123 per call | email | 2026-07-31 |
| Findymail | own account, free | email | 2026-08-20 |

Endpoints:

- `findymail.verify`: treg call findymail.verify --data '{"email":"support@stripe.com"}'
- `hunter.people.email.verify`: treg call hunter.people.email.verify --query email=steli@close.io
- `icypeas.people.email.verify`: treg call icypeas.people.email.verify --data '{"email":"patrick@stripe.com"}'
- `leadmagic.people.email.verify`: treg call leadmagic.people.email.verify --data '{"email":"test@leadmagic-nonexistent-domain-test.com"}'
- `tomba.people.email.verify`: treg call tomba.people.email.verify

## What people actually struggle with

Verification is the step everybody agrees on and nobody is happy with. From ~150 Reddit and X posts in August 2026, after excluding four separate vendor-astroturf clusters, these are the complaints that recur.

**The price looks high for what the operation is**

> "zerobounce wants $65 per 10k emails. neverbounce wants $80. hunter wants $100. i built the same thing in n8n for $0." (r/n8n, 214 points: https://www.reddit.com/r/n8n/comments/1ra50to/zerobounce_wants_65_per_10k_emails_neverbounce/)

What this page can do about it: Fair complaint, and the reason we publish per-check prices side by side rather than per 10k tiers. Through treg.to the same checks run from a fraction of a cent, and you can compare what each one charges for an inconclusive answer.

**Catch-all domains are a fifth of the list and nobody knows what to do with them**

> "Catch-all domains are about 20% of any B2B list. Most operators throw them away because the bounce risk is real" (@DeanFiacco on X: https://x.com/i/status/2088600390509937006)

What this page can do about it: No provider resolves a true catch-all. What differs is what each one hands back: a distinct status, a probability, or a shrug. The comparison below names each provider's third bucket so you can decide once instead of per list.

**An unknown result is the server refusing to answer, not the tool failing**

> "So the verifier returns unknown, or accept-all, or risky depending on the wording. That is not the tool failing." (r/ColdEmailAndSales: https://www.reddit.com/r/ColdEmailAndSales/comments/1vnjwj3/email_verification_what_catchall_domains_hide/)

What this page can do about it: Exactly right, and it is why “which verifier is most accurate” is the wrong question. Ask instead who charges you for the shrug: one of these five does not.

**Role addresses and catch-alls get misclassified**

> "also curious if anyone has had issues with verification tools missing role accounts or catch alls. thats been my biggest frustration." (r/Coldemailing: https://www.reddit.com/r/Coldemailing/comments/1trpu7m/what_email_verifier_do_you_guys_actually_use_for/)

What this page can do about it: Hunter reports role and disposable addresses as their own statuses; the others fold them in. Whether a role address is worth keeping is genuinely unsettled, so the honest answer is to keep them separate and decide per campaign.

**Doing it yourself gets your IP blocked**

> "SMTP probing gets your IP blocklisted and the big providers accept everything anyway." (@kumard_3 on X: https://x.com/i/status/2089979688395624832)

What this page can do about it: Both halves are true. Cloud providers block port 25 and repeated probes from one address get you listed, which is what you are paying a provider's IP pool for. It also explains why the unknown bucket exists at all.


## What actually differs

- Only LeadMagic bills nothing for an inconclusive result: it charges 0.25 credits per definitive verdict and lets “unknown” through free. Icypeas charges per address tested whether or not the answer is useful. On a list that is a fifth catch-all, that gap is the whole price difference.
- Every provider names the third bucket differently. Hunter returns accept_all, webmail, disposable and unknown as separate statuses with a score; LeadMagic returns a plain is_domain_catch_all flag plus the MX provider; Icypeas returns a certainty level. Compare the buckets, not the headline accuracy number.
- Icypeas is asynchronous: you submit the address and read the verdict from a second call. The other four answer in the same request, which matters when an agent is verifying a list interactively.

## What does an email verification API actually do?

It resolves the domain's MX records and opens an SMTP conversation with the receiving server to ask whether the mailbox exists, without delivering a message. Three answers come back: the server confirms, the server denies, or the server accepts everything and tells you nothing. That last case is a catch-all domain, and no provider can resolve it, because the information does not exist on the wire.

## Questions

**Does verification stop bounces?** It removes the addresses that are provably dead, which is most of the risk. It cannot catch an address that goes stale between the check and the send, or one that a security gateway rejects at delivery time. Verify close to the send, not weeks before.

**What is a catch-all or accept-all domain?** A domain whose server accepts mail for every address without saying whether the mailbox exists. No verifier can resolve it. Expect roughly a fifth of a B2B list to land there.

**How much does verification cost here?** A fraction of a cent per check at the provider's own rate, with $0.000 added by treg.to. The prices and how each provider bills an inconclusive result are in the comparison below.

**Can I run several verifiers over the same list?** Yes, they are all callable through one key, and heavy senders do exactly that because verifiers disagree on the ambiguous rows. Your agent chains them; treg.to compares the options but does not route or fail over on its own.

HTML version: https://treg.to/use-cases/data-enrichment-sales/verify-an-email