T
trueuser
v1.4 · disposable list updated 3h ago

Detect fake signups
before they cost you.

One API call tells you if an email is real, disposable, or part of a batch attack — in under 80 ms. Drop it into your signup flow and stop paying to email ghosts.

Read the docs
trueuser ~ live verification streamlive
# streaming POST /api/v1/verify · 12 req/s
08:42:10
ALLOW
verified
09:42:13
BLOCK
disposable
10:42:16
ALLOW
verified
11:42:19
BLOCK
disposable
12:42:22
! REVIEW
role-account
13:42:25
ALLOW
verified
Live demo

Try it on a real email.

Hits the same endpoint as production. Powered by Gemini for the nuanced calls — disposable lookups stay local for sub-millisecond rejections.

POST /api/v1/verifyidle
# Awaiting input.
# Type an email or pick a sample to verify.
01 — The problem

Fake signups bleed your funnel, your sender reputation,
and your free tier.

23%
of signups on most B2C apps are disposable or junk
Industry avg.
$0.42
wasted per fake signup on transactional email + onboarding
Per cohort study
11×
spike during a coordinated batch signup attack
TrueUser data
02 — How it works

Three steps. About forty milliseconds.

01

Send the email

POST the email (and optional IP, user agent) to /api/v1/verify when a user submits the signup form.

// in your signup handler
const res = await fetch(
'/api/v1/verify', {
method: 'POST',
body: JSON.stringify(
{ email: form.email }),
});
02

We check 14 signals

Disposable domain match, MX + SMTP probe, free-provider flag, role account, batch-velocity fingerprint — all in one round trip.

// signals returned
{ disposable: true,
mx_valid: true,
smtp_deliver: false,
batch_cluster: 0.91,
role_account: false }
03

Allow, review, or block

Use our verdict, or roll your own policy with the raw signals. Every call streams to your dashboard for replay and tuning.

// branch on verdict
if (verdict === 'block') {
return res.status(422)
.json({ error: 'invalid' });
}
03 — Detection

Tuned for the two attacks that actually hurt:
disposable email and batch signup floods.

We crawl, fingerprint, and rank every disposable provider — Mailinator, Guerrilla, 10MinuteMail, the 5,400 long-tail clones, and the 30+ new ones that pop up every week. Browse the full list →

DOMAINFIRST SEEN
  mailinator.com2003-04
  guerrillamail.com2006-09
  10minutemail.com2007-01
  yopmail.com2008-03
  tempr.email2014-11
  mail.tm2021-08
  dropmail.me2024-10

Batch signup detection

cluster score

We cluster incoming signups by IP block, ASN, fingerprint, timing, and email pattern. When 200 accounts that look identical hit you in 90 seconds, you’ll see a single batch — not 200 noisy false alarms.

# 14:08:22 UTC — last 5 min
! batch_cluster_8821
signups  218
asn      AS14061 (DigitalOcean)
pattern  [a-z]{6}\d{3}@gmail.com
verdict  block · 0.94 confidence
04 — Integrate

One endpoint. Every language.

No SDK to install. It’s a single POST that any HTTP client speaks — curl, fetch, requests, net/http, you pick.

POST /api/v1/verify
curl https://api.trueuser.dev/api/v1/verify \
  -H "Authorization: Bearer tu_live_••••" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "ip":    "203.0.113.42"
  }'
← 200 OK · response68 ms
{
  "verdict": "block",
  "signals": {
    "format_valid":  true,
    "disposable":    true,
    "public_domain": false,
    "relay_domain":  false,
    "alias":         false,
    "role_account":  false,
    "spam":          false,
    "suspicious_pattern": 0.84,
    "batch_cluster": 0.91
  },
  "reasoning":  "Disposable provider with batch-shaped local part.",
  "latency_ms": 68
}
05 — Pricing

Flat base price. No metered surprises.

Starter
$0/ mo

For prototyping and side projects.

  • 10,00 checks lifetime
  • Disposable + MX detection
  • Dashboard + 7-day logs
  • Community support
Most popular
Base
$49/ mo

Drag to pick the volume you need. Switch tiers anytime.

Volume80,000 / mo
  • 80,000 checks / mo
  • All 14 detection signals
  • Batch signup clustering
  • 30-day logs + replay
  • Webhooks & Slack alerts
  • Email support, 1 business day