Docs
Verification results
Every result has a status, an is_deliverable value and flags. The table shows what each status means and how it is billed. A result describes the address at check time; it does not guarantee delivery or inbox placement.
Statuses
| status | Meaning | is_deliverable | Billed | Suggested action |
|---|---|---|---|---|
| valid | The address accepted mail at check time. | true | Yes (1 credit) | Accept it. |
| invalid | Bad syntax, a domain that cannot receive mail, or a rejected mailbox. | false | Yes (1 credit) | Reject or ask the user to correct it. |
| unknown | The check could not reach a conclusion (timeout, greylisting, provider error). | null | No (credits_used 0) | Retry later; retryable tells you whether that is worthwhile. |
| risky | Deliverable but flagged, so a bounce or low engagement is more likely. | true | Yes (1 credit) | Accept with care, or challenge it. |
| disposable | A temporary-inbox domain. | true | Yes (1 credit) | Block at signup or tag it. |
| catchall | The domain accepts every recipient, so the mailbox cannot be confirmed. | false | Yes (1 credit) | Segment and send at lower volume first. |
| role | A shared mailbox such as info@ or support@. | true | Yes (1 credit) | Allow or tag according to your policy. |
Flags
is_disposable, is_catchall, is_role and is_free are independent booleans. They mirror the status when it is disposable, catchall or role, and is_free marks free-mail providers. is_deliverable is null for unknown.
retryable
When retryable is true the check did not conclude and a later attempt may. Unknown results are not billed, so retrying costs nothing unless the retry returns a definite result.