Clean your list before
it costs you a reputation.
Real SMTP verification with a plain-language reason for every result. When we cannot tell, we say so — and you do not pay for it. That last part is the whole product.
10 free checks an hour. No signup, no card.
Most verifiers give you eight statuses
and let you work out what to do.
We return four, because there are only four decisions: send, do not send, decide for yourself, or check again later. The nuance lives in the reason attached to each row.
Valid
The mail server confirmed the mailbox exists. Safe to send.
Invalid
This will bounce. Remove it before it damages your sender reputation.
Risky
Catch-all domains, role inboxes and full mailboxes. You decide.
Unknown
We could not reach a conclusion — so we do not charge you for it.
You are never charged for a check we could not finish.
Mail servers time out. Providers greylist. IPs get temporarily refused. When that happens, most verifiers hand you a confident-sounding guess and take your credit anyway. We mark it unknown, charge nothing, and tell you to check again later.
Never billed
Unknown results cost zero credits, automatically
Never guessed
A timeout is never reported as valid or invalid
Never expires
Credit packs stay yours until you use them
Most addresses never need a probe.
Each layer can settle an address on its own, so we only open an SMTP connection when the cheaper checks could not answer. On a typical list a fifth of the rows resolve before a single packet leaves our network — which is why we are fast, and why we can be honest about the rest.
- 01
Syntax and typo
Malformed addresses and near-misses like gmial.com, caught instantly with a suggested correction.
- 02
Disposable and role
Throwaway providers and shared inboxes like support@, matched against lists we refresh continuously.
- 03
Domain and MX
Does the domain resolve, and does it have a mail server that could receive anything at all?
- 04
Our own memory
Every domain we have ever probed — catch-all state, greylist windows, who refuses us. Results get cheaper and faster over time.
- 05
SMTP conversation
A real conversation with the mail server, stopped before any message is sent. You are never a sender.
No tiers hiding the useful parts.
The API, the exports, the reasons, the retention controls — every account gets all of it. You pay for verifications, not for features.
Excel or CSV, either way
Drop an .xlsx or .csv with any column layout. We read every sheet, find the addresses, drop duplicates, and tell you how many.
Every result explains itself
Plain sentences, not status codes. "The domain accepts any address, so this cannot be confirmed" — not 250 OK.
An API you can read
One POST, one JSON answer, stable error codes. Verify at signup so bad addresses never enter your list.
Credits that do not expire
Buy a pack and use it whenever. List cleaning is bursty — a monthly reset you did not use is money taken for nothing.
Live progress
Watch a list work through in real time, filter results by verdict, and export exactly the slice you want.
Built as a processor
We never store the raw addresses you check in our logs, and your uploads are purged on a schedule you can see.
Verify at the signup form.
The cheapest list to clean is one that never got dirty. One call at registration catches the typo while the person is still on the page — and tells them what they probably meant.
- Stable error codes you can branch on
- Batch up to 100 addresses per request
- Per-key rate limits and usage you can see
# One address, one answer
curl -X POST https://api.pickusmail.com/v1/verify \
-H "Authorization: Bearer key_live_…" \
-d '{"email":"alice@example.com"}'
{
"verdict": "valid",
"reason": "The mail server confirmed this mailbox exists.",
"credits": { "charged": 1 }
}Start with 100 credits, free.
No card. Upload a list, see the results explain themselves, and decide whether the numbers hold up against your own bounce data.