Nothing bounces on our watch.
Check every address on your list before you send, so bad ones never reach your sending domain.
Try 5 addresses a day here, free. We ask the mail server without sending anything, and we don't keep the address.
That check did not finish
The mail server stopped responding. Try again in a minute.
What gets checked
The checks run in order, and the first one that settles an address stops there. Nothing is ever sent: we leave the mail server before a message would begin.
-
1
The address is written correctly
A name, an @ and a real-looking domain. Typos and pasted junk stop here.
dana.okafor@northwind no domain ending
-
2
The domain exists and has a mail server
We look up the domain's mail servers. No mail server means nothing can ever be delivered.
northwind.example MX 10 mail.northwind.example
-
3
The mailbox exists
We ask the mail server whether it would accept mail for this address, then hang up before anything is sent.
RCPT TO:<dana.okafor@northwind.example> 250 2.1.5 Recipient OK
-
4
The domain isn't a catch-all, a throwaway service or a role inbox
We also try an address that can't exist. If the server says yes to that too, it accepts everything, so no mailbox on it can be confirmed.
RCPT TO:<q7v2k9xw@fernpoint.example> 250 2.1.5 OK accepts every address
See the result before you send
Upload a CSV from Apollo, Clay or a spreadsheet. You get it back with a verdict on every row, and a file of only the addresses that are safe to send.
A sample list. Every address in it is on an .example domain.
1,284 of 1,500 addresses are safe to send.
- Valid 1,284 86%
- Risky 131 8.7%
- Invalid 72 4.8%
- Unknown 13 <1%
| Address | Verdict | Reason |
|---|---|---|
| dana.okafor@northwind.example | Valid | Mailbox exists |
| info@harbourline.example | Risky | Role address |
| m.lindqvist@fernpoint.example | Risky | Catch-all domain |
| j.perera@quillworks.example | Invalid | No such mailbox |
| sales@oldmill.example | Invalid | No mail server |
| t.adeyemi@corvane.example | Unknown | Server would not answer |
Four verdicts, no guesswork
Every address gets one of four. The reason beside it says why, in plain words.
- Valid
- The mailbox exists and accepts mail. Safe to send.
- Risky
- It might deliver, it might bounce: catch-all domains, role addresses like info@, and throwaway mailboxes. Send to these separately, if at all.
- Invalid
- It will bounce. The domain or the mailbox doesn't exist. Don't send.
- Unknown
- The mail server wouldn't give an answer. Unknowns cost nothing, and you can check them again later.
Pay for what you check
One credit checks one address. Unknown verdicts are free, and credits never expire. No subscription.
| Credits | Per 1,000 | Price |
|---|---|---|
| 10,000 | $3.10 | $31 |
| 25,000 | $1.88 | $47 |
| 50,000 | $1.42 | $71 |
| 100,000 | $1.19 | $119 |
| 500,000 | $0.48 | $239 |
| 1,000,000 | $0.36 | $359 |
| 2,000,000 | $0.32 | $639 |
| 5,000,000 | $0.26 | $1,279 |
| 10,000,000 | $0.21 | $2,079 |
| 25,000,000 | $0.16 | $3,999 |
| 50,000,000 | $0.14 | $6,799 |
Your first 250 credits are free.
Create an account, check a list, and only buy credits when you need more.
Plug it into your workflow
One address or a whole list, from Clay, n8n or your own code. Lists send a signed webhook when they finish.
curl https://app.bouncewarden.com/api/v1/verify \
-H "Authorization: Bearer $BOUNCEWARDEN_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "dana.okafor@northwind.example"}'
{
"result": "valid",
"reason": "ok",
"send_safe": true,
"provider": "microsoft"
}
Check the list, not the damage
Create an account and check your first list today. Unknown verdicts are free, and your credits never expire.