A bounce is not a lost prospect. It's a signal.
A cold email bounce tells the inbox provider you don't know who you are emailing.
The 2026 benchmark is under 3% total bounces, and the teams who consistently land in the inbox stay under 1.5%. A sustained rate above 2% is treated as a spam signal against the whole sending domain — not the campaign, the domain. Once that happens the fix is not a better subject line. It is weeks of warming a replacement domain while your pipeline goes quiet.
The other half of the cost is invisible. Replies you never received, from prospects who were real, sitting behind an address that decayed since your data provider scraped it. B2B email data decays at roughly 2% a month. A list bought six months ago is already a different list.
How it works
-
1
Upload or POST your list. CSV in the dashboard, or
POST /v1/verify/bulkfrom your sequencer. No minimum volume. -
2
Get a verdict per address — valid, invalid, catch-all, disposable, role-based — in under 500ms each.
-
3
Send only the valid rows. Hold catch-alls for a secondary domain if you want to take the risk. Drop the rest.
curl -X POST https://api.mailvalid.io/v1/verify \
-H "Authorization: Bearer $MAILVALID_API_KEY" \
-d '{"email": "[email protected]"}'
{
"email": "[email protected]",
"status": "valid",
"disposable": false,
"role_based": false,
"catch_all": false,
"free_provider": false,
"mx_found": true
}What each field means for outbound
| Field | What you do with it |
|---|---|
| status: invalid | Remove. This is your hard bounce. |
| catch_all | The server accepts everything, so nobody can confirm the mailbox exists. Send at low volume from a secondary domain, or skip entirely. |
| role_based | info@, sales@, support@. Low reply rate, high complaint rate. Cut from cold outreach. |
| disposable | Not a real prospect. Always cut. |
| free_provider | Gmail or Outlook on a B2B list usually signals bad targeting, not a bad address. |
Built for how agencies actually work
Credits never expire. A client offboards in March and a new one onboards in June — the balance is still there. Every subscription competitor resets you monthly.
$0.00075 per email. 100,000 prospects costs $75, and credits never expire.
One key, many clients. Tag verifications per campaign and reconcile at month end.
Under 500ms per address, so verification sits inline in your enrichment pipeline instead of being a batch job someone forgets to run.
How often should I re-verify a list?
Before every campaign if the list is older than 30 days. At roughly 2% monthly decay, a quarterly list is about 6% dead before you touch it.
Will verification fix my bounce rate on its own?
It fixes hard bounces from bad addresses. It will not fix missing SPF, DKIM or DMARC records, a cold domain, or bad targeting. Verify and authenticate.
What do I do with catch-all addresses?
No verifier can confirm them, because the receiving server accepts everything. Treat them as a calculated risk and never send them from your primary domain.
Can I verify inside Instantly, Smartlead or Lemlist?
Yes. Call the API in your enrichment step before the contact enters the sequence.
Do you store my prospect list?
Verification results are returned to you and uploaded files are deleted on the schedule set out in our privacy policy.
Clean your next campaign list free — 100 credits, no card required.