sendsend.email

Verify email addresses

Check an address before you send to it, so typos and dead domains never become bounces that hurt your sender reputation.

What it checks

  • Syntax: a well-formed address, including international domain names.
  • The domain: that it exists and has a mail server (an MX record, or an address record as the fallback the mail standards allow).
  • Throwaway inboxes from services that give out temporary addresses.
  • Role addresses such as info@ or support@, which reach a group, not a person.
  • Likely typos such as gmial.com, with a suggested correction.
  • Your suppression list: an address that bounced or complained before.

It does not contact the recipient’s mail server, because that is slow, unreliable and can get your address blocked. So no one can say for certain that a particular mailbox exists. valid means worth sending to.

Results

  • valid: nothing wrong found.
  • invalid: it will bounce (bad syntax, no such domain, no mail server, or suppressed). Do not send.
  • risky: deliverable in principle, but check reasons: disposable_domain, role_account or possible_typo. Fine for a receipt, usually not for a newsletter.
  • unknown: DNS did not answer in time. Try again.

Try it

curl https://api.sendsend.email/v1/verify \
  -H "Authorization: Bearer $SENDSEND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "maria@gmial.com"}'
{
  "object": "email_verification",
  "email": "maria@gmial.com",
  "result": "risky",
  "reasons": ["possible_typo"],
  "suggestion": "maria@gmail.com",
  "free_provider": false,
  "role_account": false,
  "disposable": false,
  "mail_servers": ["gmail-smtp-in.l.google.com"]
}

To check a list, send up to 100 addresses to /v1/verify/batch. The command line has sendsend verify maria@example.com, and every library has the same calls.

Limits

Each address uses one verification from your plan’s monthly allowance: 100 on Free, 5,000 on Pro and 25,000 on Scale. When it is used up the API answers 429 quota_exhausted. Keys need the emails:verify scope, which new keys have by default. For a quick manual check, use the free email checker.