Reproducible Evaluation · No Unverified Claims

How to benchmark email verification on your own dataset

Any verifier can claim top rank on a private sample it selected itself. This page documents ValidReach’s exact pipeline stages, billing rules, and a copy-paste benchmark harness so you can test accuracy, latency, and cost on your own historical bounce and reply logs.

Pipeline Stages

What each verification stage checks and costs

Understanding where time and credits are spent helps you design a fair benchmark.

StageSignal VerifiedExecution LayerCredit Policy
1. Syntax & RFC 5322Local-part quoting, domain labels, length limitsCloudflare Worker (in-memory)Free on /email-validator; 1 credit on API
2. Disposable & Role TaxonomyThrowaway mailbox providers, shared role aliasesCloudflare Worker (in-memory)0 credits on /api/v1/verify/disposable
3. DNS & MX ResolutionNull MX (RFC 7505), MX host priority, A/AAAA fallbackCloudflare DoHIncluded in verification
4. SMTP & Catch-All ProbeMailbox existence, catch-all domain behaviour, greylistingUpstream SMTP pipeline1 credit if definitive; 0 credits if unknown
4-Step Protocol

Run a reproducible benchmark in 10 minutes

Use a stratified sample from your own ESP logs so your test reflects your real B2B or B2C domain mix.

  1. Step 1

    Assemble a stratified ground-truth seed list

    Combine known deliverable addresses (from recent confirmed replies), known hard bounces (550 5.1.1 logs), disposable domains, role accounts, and catch-all domains.

  2. Step 2

    Run the batch through the verification API or CLI

    Measure wall-clock latency (p50, p95, p99), status distribution, and actual credits billed per 1,000 rows.

  3. Step 3

    Score false positives and false negatives separately

    Track how many known hard bounces were marked valid (false positives that hurt sender reputation) versus how many known deliverable addresses were marked invalid (false negatives).

  4. Step 4

    Calculate effective cost per 1,000 resolved addresses

    Exclude unknown results (which ValidReach does not bill) and free disposable lookups to compare real-world unit economics.

Reproducible CLI & curl timing snippetCLI documentation
# Measure single-verify latency and inspect the status + credits_used envelope
curl -sS -w "\nHTTP %{http_code} | total_time=%{time_total}s\n" \
  -X POST https://validreach.dev/api/v1/verify/single \
  -H "Authorization: Bearer $VALIDREACH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"postmaster@example.com"}'
FAQ

Benchmarking questions

Why does ValidReach not publish a ranked competitor scoreboard?
Self-published vendor scoreboards almost always test a private sample chosen by the vendor and quote point-in-time competitor prices that go stale. Instead, we publish our exact pipeline stages, billing rules, and a reproducible benchmark script so you can measure ValidReach on your own traffic.
Which verification checks run locally vs. over the network?
RFC 5322 syntax parsing, disposable-domain matching, free-mail detection, and role-account classification run in sub-millisecond memory inside the Cloudflare Worker. DNS/MX resolution and SMTP/catch-all probing run over the network and determine overall response latency.
Are unknown or timeout results billed during a benchmark?
No. Definitive outcomes (valid, invalid, catchall, disposable, role) consume 1 credit on /api/v1/verify/single, whereas unknown results consume 0 credits. Standalone disposable checks on /api/v1/verify/disposable are always free.
Ready when you are

Test ValidReach on your own seed list

Sign up for 100 free credits and run the benchmark against your real bounce and reply logs.