Outcomes
Every validated email address is assigned a status and an optional sub_status. These
fields appear on every result object — single-verify responses, poll results, and webhook
payloads all use the same schema.
status values
| Value | Meaning |
|---|---|
valid |
Mailbox confirmed deliverable via SMTP |
invalid |
Mailbox does not exist or hard-rejected |
catch-all |
Domain accepts all addresses; deliverability unconfirmable |
unknown |
Could not determine — DNS failure, transient error, or no SMTP probe data |
sub_status values
sub_status provides additional signal within a top-level status. It is an empty string
("") when none of the conditions below apply.
| Value | Meaning |
|---|---|
disposable |
Address belongs to a known disposable / temporary email provider |
role_based |
Address is a role alias (e.g. admin@, support@, noreply@) |
accept_all |
Domain is a catch-all — every address appears to succeed |
no_dns_entries |
No MX records found and DNS did not return a transient error |
mailbox_not_found |
SMTP server returned 550 or 551 (user unknown) |
greylisted |
SMTP server returned a 4xx temporary rejection — may be greylisting |
mail_server_did_not_respond |
DNS resolved but SMTP connection timed out or was refused |
Sub-status derivation is first-match:
disposable > role_based > accept_all > no_dns_entries > mailbox_not_found >
greylisted > mail_server_did_not_respond.
Deliverability guidance
status |
Use in mailing list? |
|---|---|
valid |
Yes |
invalid |
No — remove from list |
catch-all |
Use with caution; domain accepts all mail but individual mailboxes may not exist |
unknown |
Treat with caution; retry later if possible |
The full result object
{
"email": "alice@example.com",
"status": "valid",
"sub_status": "",
"free_email": false,
"did_you_mean": null,
"account": "alice",
"domain": "example.com",
"details": {
"role": false,
"disposable": false,
"catch_all": false,
"mx_found": true,
"mx_record": "mail.example.com",
"smtp_provider": "Google",
"smtp_code": 250
},
"credits_remaining": 4820,
"processed_at": "2025-06-10T14:02:11.432Z"
}
credits_remaining is null for system and demo accounts.