100/100
- Syntax
- MX / DNS
- SMTP probe
- Disposable
- Role
amy@verisend.example
Every stage passed, SMTP accept included. This is the full 100.
See the score rulesEmail validation that tells the truth
Every hard bounce costs money first, then it costs your sender reputation — and ISPs start filtering the mail that should have landed. MultiValidator checks syntax, DNS, the live mailbox, and catch-all domains, and shows you exactly why each verdict is what it is. In 150ms.
First 100 checks free · no card required
Built on a stack that ships
sarah@bounced-host.example
reason: mailbox_unreachable
Score — how the 100 points fell
Follow one address through the pipeline. Each stage explains itself in a plain line before it fires — pick a stage, or let it play.
runs locally — no network call
The address is parsed against the RFC shape first — format, length, normalization. Zero network calls, and it still catches most junk.
Stage 1 of 8 · auto-playing
The real cost
One bounce is a rounding error. Ten thousand bounces are a pattern that mailbox providers learn — and what they learn, they act on for every address you send after.
Three mechanisms, one outcome — every card below is a documented behavior, not a made-up stat.
ISPs judge you by your bounce rate. A hard bounce on an address that never existed is a strike against your domain — not against the person who typed it wrong.
hard bounce → strike on your domain
Cross the threshold and shared blacklists can throttle your domain before your next campaign. Getting off them takes weeks of clean sending, not minutes.
threshold → shared blacklist → throttled
Real lists rot. Industry figures put churn around 22% a year — people change jobs, companies die, domains vanish. Your list will too, whether you verify or not.
~22% / year · industry figure
The last hop is the one nobody budgets for: your valid mail gets filtered because the dead rows got counted first. This chain is why verification is a sender-reputation tool, not just a list-cleaner.
Run the math on your list
Put your real numbers in. The math is plain — and so is the part that isn't in the total.
plain multiplication · no multipliers · no invented stats
Your numbers
What dead sends cost you
That's just the send cost. Every bounce also counts against your sender reputation — and that one you can't buy back with a bigger budget.
Type an address. Three of the eight stages run in your browser — syntax, disposable domains, role accounts. The rest (DNS, SMTP, catch-all) need a live probe, so they sit locked on the rail. That's the honest split: local checks are free, real checks cost a credit.
no requests · no credits · nothing leaves this page
The stages, in pipeline order
solid nodes run here · locked nodes need the API
The same eight stages, surfaced wherever your list lives — an API call, a CSV, a webhook, or a free tool.
A single POST returns syntax, DNS, SMTP and catch-all results with a reason and a score — for signup forms, CRM hooks, anything that runs code.
Drop a list, get a verdict per row. Progress streams from the job queue — live, not a postcard.
Throwaway domains and info@-style addresses flagged before they inflate your list.
verification.completed fires to your endpoint the moment a verdict lands — retries included.
One keystroke off costs a delivery. We catch the domain slip and suggest the fix — you decide.
Every row comes back as one of four families, with a 0–100 score and a reason code. The strip under each score shows the stage outcomes that made it. Addresses are illustrative — the patterns are the engine's.
100/100
amy@verisend.example
Every stage passed, SMTP accept included. This is the full 100.
See the score rules0/100
sarah@bounced-host.example
The pipeline stops early: no MX records, no mailbox, score 0.
See the score rules80/100
jordan@gmil.com
SMTP refused the probe — mailbox unproven, so the score stays under 100.
Try the typo checker100/100
erin@catchall.example
The server accepts everything. On a catch-all, nothing is provable.
See the score rulesNo black box
Format, odd characters, disposable domains — instant checks.
No MX records means no mailbox. We stop there and say so.
The same conversation a real send opens. Nothing is ever delivered.
100 points, four verdicts, a reason on every row.
Six jobs the pipeline does, from one-row signup checks to million-row cleans. Same engine, same reasons, same scoring.
No numeric benchmarks, no mystery accuracy — just what each check covers, in three views.
| Check | MultiValidator | ZeroBounce | MillionVerifier |
|---|---|---|---|
| Syntax validation | YESRFC regex | YESregex | YESregex |
| MX / DNS resolution | YESlive lookup | YESlive lookup | YESlive lookup |
| Live mailbox probe | YESSMTP probe | PARTIALsampled | PARTIALsampled |
| Catch-all detection | YESsynthetic probe | PARTIALheuristic | PARTIALheuristic |
| Disposable domains | YESprovider list | YESprovider list | YESprovider list |
| Role-based detection | YESheuristics | NO— | NO— |
| Typo suggestions | YESdomain diff | NO— | NO— |
| Free-provider flags | YESprovider list | NO— | NO— |
Verdicts are reproducible — every check returns reason + score. Competitor capabilities reflect publicly documented behavior; call us out if you know better.
Illustrative customers, real product behavior. Every quote points at something you can check on the API docs page.
“The night before a 300k campaign I ran a sample and nearly fell out of my chair — a third of it was dead. We verified the whole list and cut it in an afternoon. The reason codes meant I could show the client why each row died instead of waving at an accuracy score.”
Maya Okafor
Head of CRM, Fieldlink
“The probe gets throttled by Gmail sometimes and the API just says so. Annoying. Also honest. After two campaigns that hit spam, that honesty is exactly what I needed.”
Dmitri Volkov
Founder, Lumen Cart
“Dead domains used to sit on our list for months, and we found out when our deliverability tanked. Now we verify every signup at the edge — one POST, a reason, a score. It replaced a service that cost us four times as much and told us less.”
Priya Raman
Platform engineer, Juniper.dev
“I've had campaigns flagged because one vendor swore an address was fine and another said it was dead. This was the only verifier where I could re-run a disputed row and get the same verdict. Reproducibility is the whole game.”
Tomas Almeida
Deliverability lead, Cartwright & Co
“I came in skeptical — every email tool sells 99.6%. The calculator is what got me: exact credit math, no rounding in their favor. Eighteen months later my bounce rate is half what it was, and the audit log is why I stay.”
Hana Yoshida
Growth, Northwind Studio
“We pointed our webhook at the verification queue and deleted a whole spreadsheet step from the release plan. It's the only API I've integrated where the docs matched the responses.”
Sofia Lindqvist
Operations, Greyrock Logistics
“Bounces were 8% and support tickets were climbing with them. Two weeks after verifying signups at the edge, both numbers went the other way — and stayed there.”
Marcus Chen
Founder, Plainware
“I audit vendor claims for a living, so the 'publish the method' page got my attention. Six months in, the transaction log has never once disagreed with the invoice.”
Amara Diallo
Procurement analyst, Halcyon Group
Illustrative testimonials — stock portraits, honest behavior.
One address, one credit. Failed requests never cost a credit, and every plan shows exactly what you get — monthly or annual.
First 100 checks free — no card
$0free forever
no card, no trial clock
100 credits / month
$29/mo
or $299/yr
5,000 credits / month
$99/mo
or $999/yr
25,000 credits / month
$299/mo
or $2,999/yr
100,000 credits / month
Credits reset monthly — unused credits don't roll over.Failed requests never cost a credit.Full comparison, calculator & per-1,000 rates →
The honest answers — the ones we'd give you on a call, in writing.
An address is invalid when a check fails hard: syntax that can't parse, a domain with no mail records, or a mailbox that refuses our SMTP probe with a 5xx response. Every invalid verdict carries the specific reason — like mx_not_found — so you can see which rule fired and re-run the row. Read the API reference.
Start with free credits. No card, no call, no “book a demo”.