GET /email/{email}

Email verification API

Catch a bad address before you store it or send to it.

Try it

Response/email/tom.f%40gmail.com

Run a lookup to see the response.

1M requests · $20/mo. Get started

Coverage

Worldwide. Mailbox verification with deep.

Valid is the first question.

Keep syntax, mailbox verification, and uncertainty separate.

valid: true
The address has the right shape. The mailbox may still be unavailable.
deliverable: true
The mailbox check returned a deliverable result.
catchall: true
The domain accepts any address. This individual mailbox remains unconfirmed.

A verification is a point-in-time signal. It does not guarantee inbox placement.

Check an email before you store or send to it. Core covers format, domain, consumer mailboxes, role addresses like info@ or support@, disposable, academic and government hosts, and a typo suggestion when the host looks misspelled. That is a normal request, no extra cost.

Deep checks mailbox deliverability and catchall behavior. Results may reuse an earlier mailbox check. Each deep call uses one from your plan's monthly email allowance. Free includes 100 a month. Past the allowance, a lookup is half a cent, less on Pro and up.

Make your first request.

One key works across the APIs. Copy a request in your language and get JSON back.

curl "https://api.parseapi.com/email/hello@gmail.com" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Parse-Version: 2.0.0"
// Example response · 200
{
  "email": "hello@gmail.com",
  "didyoumean": null,
  "valid": true,
  "free": true,
  "disposable": false,
  "role": true,
  "domain": "gmail.com",
  "domain_type": null,
  "domain_valid": true
}

API referenceSDKsKeys and authentication

Every response field

Response fields

email
Address checked
didyoumean
Suggested address when the host is a known misspelling, else null
valid
Syntax valid
free
Consumer mailbox such as Gmail, Yahoo, Outlook.com, ISP mail, or iCloud
disposable
Temporary or disposable provider
role
Role address (info@, support@, …)
domain
Host after @
domain_type
Reserved namespace of the host: academic, government, military, or null
domain_valid
Mail route found: MX, or A/AAAA when MX is absent. Explicit null MX is false.

Deep fields

deep.deliverable
Mailbox likely exists. Null when the mailbox check did not complete
deep.catchall
Domain accepts all addresses. Null when the mailbox check did not complete
deep.status
Mailbox result: deliverable, undeliverable, risky, or null when unavailable.
deep.reason
Why the address received this result, such as mailbox_full or mailbox_not_found. Null when unavailable.
deep.first_name
Suggested first name from the address, or null when ambiguous. Not verified identity.
deep.no_reply
Address indicates replies are not expected. Null when the input cannot be parsed.
deep.tag
Text after the plus sign, or null. The original address is preserved.
deep.mail_provider
Mail service handling the address, such as Google or Microsoft. Null when not identified.

SPEED

How long /email takes.

Median time to first byte over the last seven days. Warm requests, measured every 30 minutes. Live verification and other request variants can take longer.

US

237ms

EU

260ms

APAC

220ms

LatAm

196ms

ME

149ms

See live status →

Build with Email

All tutorials →

QUESTIONS

How fresh is a verification?
A lookup can reuse an earlier mailbox check. Deliverable results can be reused for 7 days, catchall results for 30 days, and undeliverable results for 90 days. A cached response can remain for up to another day.
What is included in a normal request?
Format, domain, consumer mailbox, role, disposable, reserved domain type, and a typo suggestion when we have one. Those ride the normal request pool.
What if it is not an email?
valid: false as a 200. Domain is null. Same as a typo in a form field.
What is didyoumean?
A suggested address when the host is a known misspelling of a real mail host. gmal.com becomes gmail.com. Null when we have no suggestion. Never a guess, and never a local-part fix.
What does deep check?
Deliverable and catchall, a mailbox status and reason, and address details such as a suggested first name and mail provider. Unavailable details stay null. One unit from the monthly email allowance. Free includes 100 a month. See Plans for additional lookup rates.
What if the mailbox check does not complete?
HTTP 200 with deliverable and catchall null. The unit is not billed. That is not a miss.
What is a catchall?
A domain that accepts mail for any local part. Deep flags it so you can treat that inbox as unverified.
What is free?
A consumer mailbox such as Gmail, Yahoo, Outlook.com, ISP mail, or iCloud. A Google Workspace address on a school or company domain is not free.
What is domain_type?
The reserved namespace of the host: academic, government, military, or null. US .edu, .gov, and .mil, plus curated country second-levels. education.com is null. It is not a claim that the person is a student.
Can I run a list?
Drop a CSV or Excel file on this page. Volume pricing applies to unique valid-shaped addresses in each file. Larger files receive volume rates, shown before payment. Duplicates and junk are free.

Have a list?

Drop a CSV or Excel file. Same data. Volume pricing with an exact quote before payment.

Drop a CSV, Excel, or Numbers file

or choose a file

Bulk email verification

Check one address in the email checker. Shape, domain, free mailbox, disposable, and role.

Check before send.

Format checks on every plan. Mailbox verification has its own allowance.

Start includes 1M API requests a month for $20/mo.

1,000 mailbox verifications included per month.