Skip to main content

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

curl -X POST https://signals.autobound.ai/v1/emails/verify \  -H "X-API-KEY: $AUTOBOUND_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "email": "jane@stripe.com"  }'

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 fields

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

Use it in Claude via MCP →