← Docs

Email API

Format, domain, role, and a typo suggestion, on every call.

Pass an email address up to 254 characters. Malformed addresses return 400 invalid_request. A successful lookup returns format, domain, and role flags and counts as a normal request. The valid field does not establish mailbox deliverability.

Disposable is included on every call. didyoumean is a suggested address when the host looks like a known misspelling, or null. Deliverable and catchall live behind ?deep=true. Those calls use your plan's monthly email verification allowance. Free includes 100. Each deep request uses one verification.

Validate

GET
api.parseapi.com/email/{email}
Format, domain, role, disposable, and a typo suggestion. Deep adds deliverable and catchall
Explore
Parameters 2
emailstring · path · required

Email address

deepboolean · query · optional

When true, include optional detail in deep. Access depends on the endpoint: pooled detail, an included paid-plan profile, or a metered check. Core values stay unchanged.

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

import { parseAPI } from '@parseapi/sdk';

const parse = parseAPI("YOUR_API_KEY");
const result = await parse.email("hello@gmail.com");
console.log(result);

Run on your server with a secret key. Calling from a browser or app?

Example response
{
  "email": "hello@gmail.com",
  "didyoumean": null,
  "valid": true,
  "free": true,
  "disposable": false,
  "role": true,
  "domain": "gmail.com",
  "domain_type": null,
  "domain_valid": true
}

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

import { parseAPI } from '@parseapi/sdk';

const parse = parseAPI("YOUR_API_KEY");
const result = await parse.email("hello@gmial.com");
console.log(result);

Run on your server with a secret key. Calling from a browser or app?

Example response
{
  "email": "hello@gmial.com",
  "didyoumean": "hello@gmail.com",
  "valid": true,
  "free": false,
  "disposable": true,
  "role": true,
  "domain": "gmial.com",
  "domain_type": null,
  "domain_valid": false
}

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 verification

Deeper signal for signup and outbound. Counts toward your plan's monthly email verification allowance. See Plans.

Deep examples run with your own key. Check this API’s included units and pricing before running.

import { parseAPI } from '@parseapi/sdk';

const parse = parseAPI("YOUR_API_KEY");
const result = await parse.email("hello@parseapi.com", { deep: true });
console.log(result);

Run on your server with a secret key. Calling from a browser or app?

Example response
{
  "email": "hello@parseapi.com",
  "didyoumean": null,
  "valid": true,
  "free": false,
  "disposable": false,
  "role": true,
  "domain": "parseapi.com",
  "domain_type": null,
  "domain_valid": true,
  "deep": {
    "deliverable": true,
    "catchall": false,
    "status": null,
    "reason": null,
    "first_name": null,
    "no_reply": false,
    "tag": null,
    "mail_provider": null
  }
}

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.

Build with Email

All tutorials →

Questions? Email