Free email checker

Paste an address to see whether it can actually receive mail. Checks syntax, MX records, disposable providers, role accounts and common typos.

No signup and no logging. For a handful of addresses this is free forever. For lists, use the API.


    

What each check means

FieldReading it
validThe overall verdict. False as soon as any blocking check fails.
deliverableWhether mail can plausibly reach a mailbox. Null means the check could not complete, which is not the same as false.
score0 to 100. Useful for ranking a list when you cannot act on a boolean.
reasonMachine-readable cause: ok, disposable, no_mx, invalid_format, role_account and others.
suggestionA corrected address when the domain looks like a typo.

deliverable null is not a rejection

A null result means the network could not answer, usually a timeout or a blocked port. Treating that as invalid throws away valid customers. Retry it, and only act on a definite false.

Role accounts

Addresses like info@, sales@ and noreply@ are perfectly deliverable and usually a poor signup. They belong to a department, not a person, and they generate support tickets rather than product usage. Flag them, then decide based on the flow.

Automating it

One GET request returns everything on this page as JSON:

curl "https://mailprobe.kevin-c0319.workers.dev/v1/verify?email=name@example.com"

Set the x-api-key header to move from the anonymous hourly allowance to a monthly quota of 1,000 on the free tier.

Get a free API key

FAQ

Does this tell me if a specific mailbox exists?

Domain-level checks stop at the mail server. A mailbox-level answer needs an SMTP probe, exposed as the smtp field and only meaningful where the server does not accept everything.

Why is a Gmail address flagged as free?

The free flag marks large consumer providers. That is a signal, not a problem. Use it for B2B lead scoring, not for rejection.

What does catch-all mean?

The domain accepts mail for every address, so any answer about one mailbox is unreliable. Most verification services handle catch-all domains badly and report false positives. Treat them as unknown.

Is the address I type stored?

No. The endpoint answers and forgets. The only counters kept are per-key and per-IP usage totals, not the addresses.