View as Markdown

Email Verifier

POST/v2/email/verify

Check whether an email address is deliverable. Costs 1 email verification credit per valid or invalid verdict, once per address per workspace; 1 enrich rate-limit unit. Pass the email inside data; the response reports its verification status along with domain health and whether the mailbox is free or disposable. Accept_all and unknown verdicts and syntactically invalid emails are free. Verification runs live and can take up to 75 seconds: set the client timeout to at least 80 seconds. A 408 is never charged; ask again after Retry-After seconds. Authenticate with your API key in the x-api-key header.

How are credits spent?

1 email verification credit per check. Syntactically invalid emails are rejected immediately without spending a credit.

Mailbox status vs domain status

status is the verdict for the exact mailbox you asked about; domain_status describes the domain in general (accept_all when the domain accepts mail to any address, plus disposable, invalid, and unknown), independent of what happened to that specific mailbox. A status: "valid" result with domain_status: "accept_all" means this exact mailbox was positively confirmed deliverable even though its domain generally accepts everything - it remains valid, and should not be read as a mailbox-level accept-all result.

Unlike Email Finder, Email Verifier does not filter or rewrite the mailbox verdict: status can itself come back as "accept_all" when the probe of that specific mailbox was inconclusive (the server accepted it only because it accepts everything) - that is a different situation from a valid mailbox on an accept-all domain, described above.

Body parameters

  • dataobjectrequired

    Lookup identifiers.

    FieldTypeDescription
    emailstringrequiredThe email address you want to verify.

Responses

  • 200 The verdict. When the verifier failed, success is false, data.status is unknown (not charged) and errors[0].name is VERIFICATION_ERROR: retry later.
  • 400 Invalid request (VALIDATION_ERROR). A malformed data.email carries payload.code (wrong_type); an empty one answers without a code. A syntactically invalid address is not an error: it is a free invalid verdict.
  • 401 Missing, unknown or inactive credentials (UNAUTHORIZED).
  • 402 Not enough credits (PAYMENT_REQUIRED).
  • 408 The verifier did not answer in time (TIMEOUT). Not charged; ask again after Retry-After seconds.
  • 429 Over the enrich rate limit (RATE_LIMIT); wait Retry-After seconds. Sent only where rate limits are enforced.
  • 500 Unexpected server error.

For error handling see Errors. Response objects are described in Person object and Company object.