VerifyMaill VerifyMaill

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

99% Deliverability Encrypted & secure GDPR Compliant
// 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

Production grade

The verification API behind mission-critical workflows

Developer-first

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
View API docs
API Keys
Name Mode Created

production-backend

vk_live_8f2a••••••••••••••••••3c7d

Live 2 days ago

staging-worker

vk_live_b41e••••••••••••••••••9a02

Live Mar 14

ci-pipeline

vk_test_05c9••••••••••••••••••f6bb

Test Mar 02
Auto-rotate every 90 days View all →
16 SDKs

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
Browse the SDKs
1
2
3
4
5
6
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
Built-in analytics

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
API Usage
7d 30d 90d

Verifications

247,394

Last 30 days

18.4%
Mar 1Mar 8Mar 15Mar 22
Deliverable Risky Undeliverable
Scale

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