Email Verification API
Send an email address and get back whether it is deliverable, with a confidence score, a reason code and risk flags.
POST/v1/emails/verify
Replace $AUTOBOUND_API_KEY with your key from the portal.
What each verdict looks like
One example per verdict. The confidence, reason and risk level are the values the API returns for that case.
- result
- deliverabledeliverable, undeliverable, risky or unknown
- confidence
- 0.99How sure the verdict is, 0 to 1
- reason
- accepted_emailMachine-readable reason code
- risk_level
- lowlow, medium, high or unknown
Also in this record: details.is_free_provider, details.has_mx_record, details.email_provider, details.domain_age_days, validated_at
emailjane@stripe.com
Every field in a verification resultThe single and bulk endpoints return the same result fields.Show all 18 fieldsHide
Green rows are filled in the record selected above: jane@stripe.com, Deliverable.
Result
emailstring- The address you sent
resultstring, filled in the selected example- deliverable, undeliverable, risky or unknown
confidencenumber, filled in the selected example- How sure the verdict is, 0 to 1
reasonstring, filled in the selected example- Reason code, such as accepted_email or mailbox_not_found
risk_levelstring, filled in the selected example- low, medium, high or unknown
validated_atdatetime, filled in the selected example- When the check ran
Details
details.is_free_providerboolean, filled in the selected example- A free mailbox provider
details.is_disposableboolean- A throwaway address
details.is_role_accountboolean- A shared inbox, such as sales@
details.is_catch_allboolean- The domain accepts every address
details.has_mx_recordboolean, filled in the selected example- The domain can receive mail
details.email_providerstring, filled in the selected example- The mail provider, or unknown
details.domain_age_daysinteger | null, filled in the selected example- Age of the domain in days
details.suggested_correctionstring | null- A likely fix for a typo
Bulk response
verificationsobject[]- One result per address, same fields as above
summaryobject- Counts: total, deliverable, undeliverable, risky, unknown
errorsobject[]- Addresses that could not be checked: email and error
validated_atdatetime, filled in the selected example- When the batch ran
Pricing and limits
You pay in credits for what a call returns. A call that returns no results is free.
See all plans →- Verify an email
- 1creditper email verified, unknown results freePOST /v1/emails/verify
- Free to start
- 1,000free credits at signup
- Self-serve plans
- $19Starter: 1,900 creditsPacks up to $4,999.
- Rate limit
- 300requests per minutePer account, shared by all keys.
Questions
How do I verify a list of addresses?
POST /v1/emails/verify/bulk takes up to 1,000 addresses per call. You get one result per address, a summary with counts by verdict, and an errors list for any address that could not be checked.
How much does it cost?
1 credit per email verified. Results that come back unknown are free, and upstream failures are never charged.
What does each result mean?
deliverable: the mailbox accepts mail. undeliverable: the mailbox or domain does not exist. risky: the address may not be safe to send to, such as a catch-all domain, a role account or a spam trap. unknown: the server did not give an answer, for example it greylisted the check.
Can I get contacts that are already verified?
Yes. Pass email_validated: true to POST /v1/buyer-intent/contacts (or its bulk export), and only contacts with a verified email come back. Each contact carries email_validation_status, such as 'Valid (Esp)'. There is no extra charge for the filter.
Make this call with your own key
One key works for all 35 signal types. 1 credit per email verified. Unknown results are free.
1,000 free credits to start.
Or use it from Claude Code, Cursor or any MCP client
Add the server, run /mcp to sign in, then ask: “Is jane@stripe.com a deliverable address?”
claude mcp add --transport http autobound https://mcp.autobound.ai/mcp