Search by task, endpoint, field, or error.
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
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?
{
"email": "hello@gmail.com",
"didyoumean": null,
"valid": true,
"free": true,
"disposable": false,
"role": true,
"domain": "gmail.com",
"domain_type": null,
"domain_valid": true
}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?
{
"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
- 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?
{
"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
- Check an email as someone types
- Verify email deliverability on the server
- Turn inbound emails into CRM contact drafts
Questions? Email