Migrating from ZeroBounce
If you are moving to VerifAi from ZeroBounce, VerifAi can return a compatible status and sub_status alongside its own verdict — so integrations written against the codes your old provider used keep working during and after the switch, with no rewrite and no vendor lock-in.
Turn it on
Open Settings and, under Migration & compatibility, tick Return ZeroBounce-compatible status / sub_status codes. It is an account-level setting, off by default. Once on, it applies to every verification your account makes — through the REST API (POST /v1/validate) and through the validate_email MCP tool alike.
What changes in the response
When the setting is on, each validate response gains one additive object, compat.zerobounce, carrying a status and sub_status. Nothing else changes: verdict, reason, checks, evidence and enrichment stay exactly as they are, so nothing you already rely on breaks.
{
"email": "jane@example.com",
"verdict": "deliverable",
"reason": "mailbox exists",
"checks": { … },
"compat": {
"zerobounce": { "status": "valid", "sub_status": "" }
}
}Status mapping
Each VerifAi status maps to one compatible status value:
| VerifAi status | Compatible status |
|---|---|
| Valid | valid |
| Invalid | invalid |
| Catch-All | catch-all |
| Spamtrap | spamtrap |
| Abuse | abuse |
| Do Not Mail | do_not_mail |
| Unknown | unknown |
Sub-status mapping
Where VerifAi records a more specific reason, it maps to a compatible sub_status:
| VerifAi sub-status | Compatible sub_status |
|---|---|
| mailbox_not_found | mailbox_not_found |
| failed_syntax_check | failed_syntax_check |
| no_dns_entries | no_dns_entries |
| possible_typo | possible_typo |
| disposable | disposable |
| role_based | role_based |
| accept_all | (empty) |
| greylisted | greylisted |
| throttled | mail_server_temporary_error |
| timeout_exceeded | timeout_exceeded |
Any reason without a specific mapping falls back to the empty sub_status for its status.
A note on independence
These compatibility codes are VerifAi’s own mapping of its verdicts onto a widely-used, functional token vocabulary, provided purely as a migration aid. They are short factual identifiers — not a copy of any third party’s documentation, data, or software — and VerifAi is not affiliated with or endorsed by ZeroBounce. You can review and adjust the exact mapping at any time; it is stored as ordinary configuration in your VerifAi application.
← All docs