email_verification / v1

Email verification
that doesn't suck.

Syntax, DNS, SMTP, disposable and catch-all detection. One request, one JSON response. No SDK, no account dance. Start with 100 free credits. No card required.

~ verify / john@example.com
$ curl https://api.checkmail.dev/v1/verify \
   -G --data-urlencode "email=john@example.com" \
   -H "Authorization: Bearer $CM_KEY"

{
  "email": "john@example.com",
  "status": "valid",
  "checks": {
    "syntax": true,
    "mx_found": true,
    "smtp_valid": true,
    "catch_all": false,
    "disposable": false,
    "role_based": false,
    "free_provider": false
  },
  "suggestion": null,
  "mx_host": "aspmx.l.google.com",
  "cached": false,
  "ms": 1243
}

We actually open
a TCP connection
to the mail server.

It's the only check that tells you whether a mailbox actually exists. Everything else is pattern matching and DNS lookups that any developer can build in an afternoon.

smtp / aspmx.l.google.com:25
$ opening tcp → aspmx.l.google.com:25 …

S: 220 mx.google.com ESMTP ready
C: EHLO checkmail.dev
S: 250-mx.google.com at your service
S: 250 ENHANCEDSTATUSCODES
C: MAIL FROM:<verify@checkmail.dev>
S: 250 2.1.0 OK
C: RCPT TO:<john@example.com>
S: 250 2.1.5 OK  ← mailbox exists
C: QUIT
S: 221 2.0.0 closing connection

verdict: valid
  • Real mailbox check. Nothing else tells you whether a human can actually receive mail at this address.
  • Catches typos no validator finds. joh@gmail.com parses fine and resolves fine. It fails at RCPT TO. We catch it.
  • A fraction of the price. Services that do real SMTP verification typically charge $0.008 or more per check. CheckMail is $0.0008 at scale. Same check, cleaner JSON, no SDK.

Plus the easy ones, for completeness

  • Syntax RFC 5322
  • DNS + MX records
  • Disposable domains 10,000+
  • Catch-all detection
  • Typo suggestions gmial → gmail
  • Role-based detection info@, admin@
  • Free provider label gmail, yahoo, …
  • SHA-256 cached results 24h
  • Batch API up to 500/request

Pay once. Use whenever.

New accounts get 100 free credits. Credits never expire. No subscriptions. Teams can enable auto-topup to refill before they hit zero.

Credits Price Per check
1,000 $2 $0.00200
5,000 $9 $0.00180
10,000 $14 $0.00140
50,000 $50 $0.00100
100,000 $80 $0.00080

VAT calculated at checkout based on your billing address. See how we compare to other email verification services →

Two lines of code,
half the bounce rate.

"
We were able to reduce our bounce rate from 4–5% (too high) to 2–3% (perfect) with 2 lines of code!
gist.science production user

Three lines in any language.

No SDK to install. It's just HTTPS and JSON.

curl

curl https://api.checkmail.dev/v1/verify \
  -G --data-urlencode "email=john@example.com" \
  -H "Authorization: Bearer $CM_KEY"

node.js

const r = await fetch(
  "https://api.checkmail.dev/v1/verify?email=john@example.com",
  { headers: { Authorization: `Bearer ${process.env.CM_KEY}` } }
);
const data = await r.json();
console.log(data.status);

python

import os, requests

r = requests.get(
  "https://api.checkmail.dev/v1/verify",
  params={"email": "john@example.com"},
  headers={"Authorization": f"Bearer {os.environ['CM_KEY']}"},
)
print(r.json()["status"])