# 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. 15 tools do this through 鹦鹉AI, 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 is the best way to ask 鹦鹉AI?

Setup line (paste into any agent): `set up 鹦鹉AI — https://parrot.amorist.cn/llms.txt`

Then ask: "Using 鹦鹉AI, 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 tool 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 鹦鹉AI

- **No subscription, no seats** Charged per call. No card, no minimum; top up the prepaid balance.
- **Switch by changing a word** Another tool is a different word in the prompt, not a new integration.

Endpoints:

- `scrubby.people.email.verify` — Verify an email address (people): https://parrot.amorist.cn/catalog/people
- `sixtyfour.people.email.verify` — Verify an email address (people): https://parrot.amorist.cn/catalog/people
- `zerobounce.people.email.verify` — Verify an email address — catch-all and risk status (people): https://parrot.amorist.cn/catalog/people
- `dropleads.people.email.verify` — Verify an email address — catch-all result (people): https://parrot.amorist.cn/catalog/people
- `findymail.verify` — Verify an email address is deliverable (people): https://parrot.amorist.cn/catalog/people
- `bounceban.people.email.verify.waterfall` — Verify an email and wait for the result (people): https://parrot.amorist.cn/catalog/people
- `trykitt.people.email.verify` — Verify B2B email — catch-all result (people): https://parrot.amorist.cn/catalog/people
- `icypeas.people.email.verify` — Verify email — catch-all and mail provider (async) (people): https://parrot.amorist.cn/catalog/people
- `leadmagic.people.email.verify` — Verify email — catch-all and MX provider (people): https://parrot.amorist.cn/catalog/people
- `bounceban.people.email.verify` — Verify email — catch-all, disposable and role flags (people): https://parrot.amorist.cn/catalog/people
- `limadata.people.email.verify` — Verify email — catch-all, disposable and role flags (people): https://parrot.amorist.cn/catalog/people
- `millionverifier.people.email.verify` — Verify email — catch-all, disposable and role flags (people): https://parrot.amorist.cn/catalog/people
- `hunter.people.email.verify` — Verify email — catch-all, disposable and SMTP checks (people): https://parrot.amorist.cn/catalog/people
- `tomba.people.email.verify` — Verify email — catch-all, disposable, role and SMTP (people): https://parrot.amorist.cn/catalog/people
- `contactout.people.email.verify` — Verify email address — catch-all (accept-all) status (people): https://parrot.amorist.cn/catalog/people

## 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 astroturf clusters, these are the complaints that recur.

**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 tool resolves a true catch-all. What differs is what each one hands back: a distinct status, a probability, or a shrug. Each tool's third bucket has its own name, so 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 tool's IP pool for. It also explains why the unknown bucket exists at all.

## What actually differs

- Every tool 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 tool can resolve it, because the information does not exist on the wire.

## Before you start

**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?** Under one credit per check at its own rate. One tool charges nothing for an inconclusive result; the others bill it as a check.

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

## Workflows that use this job

- [AI lead generation with 鹦鹉AI: a verified B2B lead list from one prompt](https://parrot.amorist.cn/workflows/find-and-verify-a-lead-list)
- [Instagram profile scraper: screen a creator list before outreach](https://parrot.amorist.cn/workflows/screen-instagram-creators-before-outreach)

HTML version: https://parrot.amorist.cn/use-cases/verify-an-email
