services / email-verify
utilityoperational · 4 ms
Email Deliverability Verification (SMTP)
Checks whether an email address really exists by asking its mail server (SMTP RCPT TO probe; no email is sent), on top of syntax, MX, disposable and role checks. Returns status deliverable, undeliverable (mailbox does not exist), catch_all (domain accepts any address), risky (disposable or mailbox full) or unknown (greylisting, server refused the check), plus the raw SMTP reply. Use it before sending outreach, to clean lead lists or to block fake sign-ups. Results are cached 6 hours. Params: email (required).
Run free trial ↗3 free calls per day with the example input. Paid: $0.002 USDC, no limit.
Call it
Input
| Field | Type | Description |
|---|---|---|
| email * | string | Email address to verify |
Output
| Field | Type | Description |
|---|---|---|
| string | ||
| status | deliverable | undeliverable | catch_all | risky | unknown | |
| deliverable | boolean | |
| reason | string | |
| is_catch_all | boolean,null | |
| is_disposable | boolean | |
| is_role_address | boolean | |
| is_free_provider | boolean | |
| format_valid | boolean | |
| domain | string | |
| mx_records | array | |
| smtp | object | |
| note | string | |
| checked_at | string |
Example response (data)
{
"email": "support@github.com",
"status": "deliverable",
"deliverable": true,
"reason": "mailbox_exists",
"is_catch_all": null,
"is_disposable": false,
"is_role_address": true,
"is_free_provider": false,
"format_valid": true,
"domain": "github.com",
"mx_records": [
"github-com.mail.protection.outlook.com"
],
"smtp": {
"mx": "github-com.mail.protection.outlook.com",
"code": 250,
"message": "2.1.5 Recipient OK",
"catch_all_code": 452
},
"note": "SMTP mailbox probe (RCPT TO). No email was sent.",
"checked_at": "2026-10-06T16:05:40.287Z"
}