Skip to content
SimpleCold

API docs

Results

Statuses and categories

On this page

Every result carries three things you can act on:

  • status holds a reason code that says exactly what happened, such as mailbox_found or accept_all.
  • category is the bucket the reason belongs to: deliverable, risky, undeliverable, or pending while the check is still running.
  • failType says whether a failure is likely to last. When it is temporary, the result may change if you check again later. Bulk downloads show this as the Retry later column.

statusMessage explains the reason in one plain sentence you can show to a person or store in a CRM.

A result
{
  "email": "[email protected]",
  "domain": "gmail.com",
  "status": "mailbox_found",
  "statusMessage": "The mailbox exists and accepts mail.",
  "category": "deliverable",
  "failType": "none",
  "mxLocation": "US",
  "siteLocation": "US",
  "siteLanguage": "EN",
  "suggestion": null
}

Categories

CategoryMeaningWhat to do
deliverableThe mail server confirmed the mailbox exists.Send.
riskyThe address exists or might, but delivery can't be promised: the domain accepts every address, it's a shared role inbox, a throwaway service, or the server wouldn't confirm.Send carefully. The status tells you which case it is.
undeliverableThe address is malformed, the domain can't receive mail, or the mailbox doesn't exist.Suppress.
pendingThe check is still running (status processing).Collect the result later. Never suppress based on it. See slow mail servers.

Most integrations branch on category and log status and statusMessage. Treat any category or reason code you don't recognise as risky, so a new value never breaks your code.

Reason codes

The Meaning column is the exact statusMessage for each code. Retry later is Yes when failType is temporary.

Code (status)CategoryRetry laterMeaning (statusMessage)What to do
mailbox_founddeliverableNoThe mailbox exists and accepts mail.Send.
accept_allriskyNoThe domain accepts mail for any address, so this mailbox can't be confirmed.Send carefully. Keep accept-all contacts in a separate, smaller send and watch bounces.
role_addressriskyNoThis is a shared role address, like info@ or sales@, not a person.Send if a shared inbox is fine for you. For personal outreach, find a named contact instead.
disposableriskyNoThis is a throwaway inbox that will likely stop working soon.Skip it. For sign-ups, ask for a permanent address.
mailbox_unconfirmedriskyNoThe mailbox seems to exist, but the server would not confirm it accepts mail.Send carefully and watch bounces.
blocked_by_serverriskyYesThe mail server blocked the check.Retry later. If it stays blocked, send carefully.
no_responseriskyYesThe mail server would not confirm this address.Retry later. If it doesn't change, send carefully.
mailbox_not_foundundeliverableNoThis mailbox does not exist.Remove it.
mailbox_disabledundeliverableNoThis mailbox exists but is disabled or suspended.Remove it.
rejectedundeliverableNoThe mail server refused mail for this address.Remove it.
server_errorundeliverableYesThe mail server returned an error.Don't send now. Retry later; the server may recover.
no_mail_serverundeliverableNoThis domain can't receive email.Remove it. Check the domain for a typo.
invalid_formatundeliverableNoThis isn't a valid email address.Remove it, or fix the address at the source.
possible_typoundeliverableNoPossible typo. Did you mean {suggestion}?Fix the typo. Verify the address in suggestion before you use it.
processingpendingNoStill checking this mailbox. Ask again in about a minute; you will not be charged again.Ask again later. Don't suppress based on it.

For possible_typo, {suggestion} is replaced with the corrected address, for example Possible typo. Did you mean [email protected]?, and the same address is in the suggestion field.

In bulk result files, rows that were not checked yet show the reason code processing.

Fail type

ValueMeaning
permanentThe failure won't fix itself, for example a missing mailbox or a malformed address.
temporaryThe result may change. A later re-check can give a different answer. Used by blocked_by_server, no_response and server_error.
noneNot a failure, or nothing a re-check would change.

Other fields

FieldDescription
emailThe address that was checked.
domainThe domain part of the address.
mxLocationCountry code where the domain's mail servers appear to be. null when unknown.
siteLocationCountry code where the domain's website appears to be. null when unknown.
siteLanguageLanguage of the domain's website. null when unknown.
suggestionA corrected address when the domain looks misspelled (possible_typo), otherwise null. Verify the suggestion separately before using it.

A rule of thumb

Store four things per address: category, status, statusMessage and when you checked. Then:

  • deliverable: send.
  • undeliverable: suppress. For possible_typo, fix the address and check it again.
  • risky: send with care. In cold outreach, send risky contacts separately and watch bounces. Results with failType temporary (blocked_by_server, no_response) can change if you check again later.
  • pending: not decided. Collect it later.
Statuses and categories | SimpleCold API docs