An email verification API built for modern apps
Drop a few lines into your stack and start filtering bad addresses today. Single-call lookups and async batches share the same endpoint.
Includes 250 free credits · No credit card required
// POST /v1/verify { "email": "sarah@acme.com", "state": "deliverable", "reason": "accepted_email", "score": 98, "domain": "acme.com", "mx_record": "aspmx.l.google.com", "smtp_provider": "Google", "disposable": false, "role": false, "free": false, "accept_all": false, "duration": 0.412 }
Trusted by 5,600+ Businesses Across 180+ Countries
The verification API behind mission-critical workflows
Designed by engineers, for engineers
A clean REST surface, deterministic test mode, and dashboards that show you exactly where every credit went.
- Live and Test keys with deterministic fixture responses
- Async batch + webhooks, no polling required
- Auto-rotation, scoped permissions, and full audit logs
production-backend
vk_live_8f2a••••••••••••••••••3c7d
staging-worker
vk_live_b41e••••••••••••••••••9a02
ci-pipeline
vk_test_05c9••••••••••••••••••f6bb
Drop-in libraries for the language you already ship
Officially maintained clients with identical semantics across every language. Initialize with a key, call verify(), ship.
- Node, Python, Ruby, PHP, Go, Java, .NET, Rust, plus 8 more
- First-class TypeScript types and idiomatic async everywhere
- Plain REST + JSON under the hood, any HTTP client works
import VerifyMaill from 'verifymaill'; const client = new VerifyMaill(process.env.VERIFYMAIL_KEY); const result = await client.verify('sarah@acme.com'); // { state: 'deliverable', score: 98, ... } console.log(result);
import verifymaill client = verifymaill.Client(os.environ['VERIFYMAIL_KEY']) result = client.verify('sarah@acme.com') # { 'state': 'deliverable', 'score': 98, ... } print(result.state)
require 'verifymaill' VerifyMaill.api_key = ENV['VERIFYMAIL_KEY'] result = VerifyMaill.verify('sarah@acme.com') # { state: 'deliverable', score: 98, ... } puts result.state
See exactly how every credit gets spent
Per-key charts, daily breakdowns, and result distributions, no Datadog dashboard required.
- Per-key usage tracking and cost attribution
- Result breakdowns: deliverable, risky, undeliverable
- Exportable as CSV for finance and analytics
Verifications
247,394
Last 30 days
From your first call to billions
Globally distributed, horizontally autoscaling, and engineered for the kind of traffic that doesn't get planned weeks in advance.
15.2B+
Verifications processed
314K+
Active developers
99.99%
Uptime SLA
Security wired into every layer
Your data is guarded end to end. The same hardened controls that protect the rest of our platform protect the API: modern encryption, least-privilege access, and continuously monitored infrastructure. We're fully GDPR compliant and follow industry best practices.
TLS 1.3 protects every request in transit
AES-256 encryption on everything at rest
Records auto-expire on a schedule you set
Ship verification this afternoon
Grab a key, copy the snippet, ship. 250 credits free every month. No credit card required.
Includes 250 free credits · No credit card required