All documentation

Data

Email verification

Find the addresses that don't exist before you send, without sending anything.

What this is

Email verification tells you which addresses on a list have a real mailbox behind them. Nothing is sent to anyone. We ask each address's mail server whether the mailbox exists, the way a sending server would, and stop before any message goes out.

Use it before you import a list you bought, collected at an event or haven't mailed in a while. Mail to addresses that don't exist can never arrive, and providers treat a sender who mails many of them as a spammer, which pulls the rest of your mail into spam.

How it works

What it costs.

  • Your own contacts: free. Contacts are checked automatically when you import them and before a campaign sends. Check unchecked contacts covers any that were added another way.
  • A list you paste or upload: a Marketing plan includes list checks every month — 1,000 on Starter, 5,000 on Growth and 25,000 on Premium — and they are used first. Beyond them, each address costs 10 send credits, taken when the check starts. Duplicates are removed first, so Ada@example.com and ada@example.com count once.

If an address can't be checked within a day, the credits it cost are refunded. Credit movements appear under Billing → Usage as Email verification.

What the results mean.

  • Exists — send as normal.
  • Doesn't exist — remove it. Mail to it is refused before it is sent, and you are not charged for that.
  • Risky — a throwaway address, a shared address like info@, or a domain that accepts every address. You can mail it; watch how it performs.
  • Couldn't confirm — the provider didn't say either way. You can mail it.
  • Checking… — still being checked. Some providers answer slowly, so large lists can take a while.

Each result also has a reason, such as No mailbox by that name or The domain looks misspelt. We say what was found, never how. An address known not to exist reads the same however we learned it.

Set it up

  1. Open Data → Email verification.
  2. Paste addresses, or upload a CSV or text file. Addresses are found wherever they sit in each row, so a spreadsheet export works as it is.
  3. Check the count and the cost, then choose Verify.
  4. When it finishes, open Results to see each address, or Download CSV to take the list back to your spreadsheet.

Up to 50,000 addresses per verification, and up to 3 running at once.

The same checks are in the API, under Verification in the API reference. An API key needs the verification:write scope to start a check and verification:read to read results.

  • POST /api/v1/verifications checks a list, costed as above.
  • POST /api/v1/verifications/check checks one address, for example at sign-up. It is charged only when there is an answer.
  • POST /api/v1/verifications/contacts checks your unchecked contacts for free.

Send an Idempotency-Key header so a retried request is never charged twice.

When something is wrong

It will not start. The list is over 50,000 addresses, three checks are already running, or the list needs more than your included checks and credits cover. Split the list, wait for a check to finish, or check fewer addresses.

It has been checking for hours. Some providers answer slowly on purpose. Addresses still unanswered after a day have their credits refunded.

An address you know exists reads Doesn't exist. The result is what that address's mail server said at that moment. Send yourself a test to it; if it arrives, open a ticket with the address.

Many addresses read Risky. Usually a company domain that accepts every address, so nothing can be confirmed. Mail them, and watch the bounces in Deliverability.