Five-layer deliverability pipeline in one API call. Syntax, MX record, disposable domain detection, catch-all probe, and SMTP verification. $0.0008 per email. No contracts. No minimums.
Pay only for what you use. Stripe charges your card automatically at month end. No setup fee, no monthly minimum.
| Monthly volume | Your cost | vs. ZeroBounce | Typical use case |
|---|---|---|---|
| 10,000 | $8 | vs. $80 | Startup list cleaning |
| 100,000 | $80 | vs. $800 | Marketing agency |
| 1,000,000 | $800 | vs. $8,000 | SaaS platform / CRM sync |
| 10,000,000 | $8,000 | vs. $80,000 | Email marketing platform |
Each email address passes through five checks sequentially. Results come back as structured JSON with a deliverability score from 0 to 100.
POST a batch of up to 500 emails. Authenticate with Authorization: Bearer YOUR_KEY or X-Api-Key: YOUR_KEY.
# pip install emailval-client from emailval import EmailValidator ev = EmailValidator(api_key="YOUR_API_KEY") results = ev.validate(["user@company.com", "test@mailinator.com", "bad-address"]) for r in results: print(r.email, "→ score", r.score, "| valid:", r.is_valid)
curl -X POST https://api.emailval.net/v1/validate \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"emails":["user@company.com","test@mailinator.com","bad-address"]}'
const r = await fetch("https://api.emailval.net/v1/validate", { method: "POST", headers: { "Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json" }, body: JSON.stringify({ emails: ["user@company.com", "test@mailinator.com", "bad-address"] }), }); (await r.json()).results.forEach(x => console.log(x.email, "→", x.score));
{
"results": [
{ "email": "user@company.com", "valid_syntax": true, "has_mx": true, "is_disposable": false,
"is_catch_all": false, "smtp_result": "accepted", "score": 100, "error": null },
{ "email": "test@mailinator.com", "valid_syntax": true, "is_disposable": true,
"smtp_result": "skipped", "score": 20, "error": null },
{ "email": "bad-address", "valid_syntax": false, "score": 0, "error": null }
],
"meta": { "processed": 3, "valid_count": 1, "invalid_count": 2, "duration_ms": 312 }
}
Endpoint: POST https://api.emailval.net/v1/validate ·
Max 500 emails per batch ·
Charged per email submitted (all attempts, including invalid syntax)
No CSV uploads. No dashboards. Pure API — designed to run inside your existing code with zero manual steps.
"skip_smtp": true to run layers 1–3 only and skip the SMTP handshake.API key delivered in seconds. Start validating immediately.
Get API Key — $0.0008 / email →