Stop emailing dead leads.

Verify email addresses before they hit your CRM or your campaigns. One API call tells you if a lead is real, risky, or fake — syntax, DNS, disposable detection, and live SMTP mailbox checks.

Get an API key Read the docs
$ curl -X POST https://api.draftandcheck.com/verify \
    -H "Authorization: Bearer lv_..." \
    -d '{"email": "[email protected]"}'

{
  "status": "deliverable",
  "score": 90,
  "reason": "Mailbox confirmed via SMTP",
  "didYouMean": null,
  "checks": { "syntax": true, "mx": true, "disposable": false, "catchAll": false, ... }
}

Every check that matters for lead quality

SMTP mailbox verification

We talk to the recipient's mail server directly — without sending an email — to confirm the specific mailbox exists.

Catch-all detection

Domains that accept everything can't confirm a mailbox. We detect them and flag the result as risky instead of falsely deliverable.

Disposable & role filtering

Mailinator-style throwaways and role inboxes (info@, sales@) are flagged before they poison your sender reputation.

Typo rescue

[email protected] isn't a lost lead — it's a typo. We suggest the correction so you keep the contact.

Bulk endpoint

Send up to 1,000 addresses per request with controlled concurrency. Get a summary plus per-address detail, in order.

Simple scoring

Every address gets a 0–100 confidence score you can feed straight into your lead-scoring model.

Four clear verdicts

deliverableMailbox confirmed. Safe to send.
riskyCatch-all, disposable, or role account. Send with care.
undeliverableBad syntax, dead domain, or rejected mailbox. Drop it.
unknownServer wouldn't say (greylisting etc.). Retry later.

Pricing

Free

$0
  • 250 verifications/mo
  • DNS-level checks
  • Batches up to 50
Get started

Starter

$19/mo
  • 10,000 verifications/mo
  • Full SMTP verification
  • Batches up to 500
Choose Starter

Scale

$249/mo
  • 1,000,000 verifications/mo
  • Full SMTP verification
  • Priority support
Choose Scale

API documentation

All endpoints require Authorization: Bearer <your key>. Responses include X-Quota-Limit and X-Quota-Used headers.

Verify one address

POST /verify
{ "email": "[email protected]", "smtp": true }

Also available as GET /[email protected].

Verify a batch

POST /verify/batch
{ "emails": ["[email protected]", "[email protected]"], "smtp": true, "concurrency": 10 }

→ { "total": 2, "summary": { "deliverable": 1, "undeliverable": 1, "risky": 0, "unknown": 0 }, "results": [...] }

Check your usage

GET /account/usage
→ { "plan": "growth", "monthlyQuota": 100000, "usedThisMonth": 4213, "remaining": 95787 }

Response fields

FieldMeaning
statusdeliverable · risky · undeliverable · unknown
score0–100 confidence the address is safe to send to
reasonHuman-readable explanation of the verdict
didYouMeanSuggested correction for likely domain typos
checksPer-check breakdown: syntax, mx, disposable, role, free, catchAll, smtp
mxRecordsThe domain's mail servers, best first