250 free verifications every month. No card required.
Email verification built for developers.
One request. One clear JSON answer. VeriDock tells you whether an address is deliverable, undeliverable, risky, or unknown, and why, so you can stop bounces before they happen.
- <500 ms
- median response
- 97%+
- definitive results
- $0
- for unknown results
// Enter an address and press Verify.
// This demo runs real syntax, DNS, and MX checks.
// Sign up to enable live SMTP mailbox checks.Demo results use syntax, domain, MX, disposable, and role checks. Live SMTP mailbox checks run on real API keys.
The API
Copy, paste, verified.
Authenticate with a bearer token, call one endpoint, and read a response designed to be branched on. Here is the entire integration.
curl "https://api.veridock.io/v1/verify?email=jane.doe@acme.com" \
-H "Authorization: Bearer vd_live_••••••••••••"{
"email": "jane.doe@acme.com",
"status": "deliverable",
"reason": "accepted_email",
"score": 97,
"checks": {
"syntax": true,
"domain": true,
"mx": true,
"smtp": true,
"disposable": false,
"role_account": false,
"catch_all": false,
"free_provider": false
},
"domain": {
"name": "acme.com",
"mx": ["aspmx.l.google.com"],
"provider": "google_workspace"
},
"suggestion": null,
"billed": true,
"duration_ms": 412
}Results
Four statuses. Every reason spelled out.
A boolean hides the decision you actually need to make. We return a status for your if-statement and a reason for your product logic.
status: "deliverable"The mailbox exists and the receiving server confirmed it will accept mail for this address.
accepted_emailSend with confidence.
status: "undeliverable"The address cannot receive mail. The syntax is wrong, the domain has no mail server, or the mailbox was rejected.
invalid_syntaxinvalid_domainno_mx_recordrejected_emailmailbox_fullRemove from your list. Never billed twice for the same address in 30 days.
status: "risky"The address might receive mail, but sending to it carries risk: disposable inboxes, role accounts, or catch-all domains.
disposablerole_accountcatch_alllow_qualitylow_deliverabilityDecide per use case. We give you the reason so you can write the rule.
status: "unknown"The mail server timed out, greylisted us, or refused the check. We retry automatically before returning this.
timeoutgreylistedunavailable_smtpNever billed. Retry later or treat as risky.
Features
Everything you need. Nothing you have to configure.
The same checks the enterprise tools run, exposed through an API you can read in one sitting.
One request, one answer
A single GET returns status, reason, score, and every check we ran. No polling, no second call, no decoding.
Live SMTP mailbox checks
We talk to the receiving mail server and confirm the mailbox exists, without ever sending an email.
Disposable, role, and catch-all detection
A maintained list of 60,000+ disposable domains, role-account detection, and catch-all probing on every verify.
Bulk lists with webhooks
Upload a CSV or POST an array, get a job id, and receive a webhook when it finishes. Download the clean list or stream results.
Typo suggestions
gmial.com becomes gmail.com. We return the corrected address so you can prompt the user instead of losing the signup.
Usage you can see
Per-key usage, status breakdowns, and spend in one dashboard. Set hard caps per key so a bug never becomes a bill.
Onboarding
From signup to first result in three steps.
- 01
Create an API key
Sign up with email or GitHub. Your first key and 250 monthly credits are ready in under a minute.
- 02
Make a test request
Paste the cURL from the dashboard. You get a full JSON result back, usually in under half a second.
- 03
Ship it
Gate signups, clean lists before a campaign, or verify on form blur. Watch usage per key from the dashboard.
Pricing
Predictable pricing. No surprise invoices.
Monthly credits that roll over, overage you can cap per key, and unknown results that are never billed.
Free
For testing integrations and small projects.
$0forever
250 verifications / month
No overage
Start for freeStarter
For indie products and early-stage apps.
$9/ month
5,000 verifications / month
$2.50 per extra 1,000
Start with StarterGrowth
For growing SaaS and marketing teams.
$29/ month
25,000 verifications / month
$1.50 per extra 1,000
Start with GrowthScale
For high-volume senders and platforms.
$99/ month
150,000 verifications / month
$1.00 per extra 1,000
Start with ScaleNeed more than 150,000 a month or a custom contract? Talk to us. Or see full plan details.
FAQ
Questions developers ask before they integrate.
What counts as one verification?
One credit is used for each address that returns deliverable, undeliverable, or risky. Unknown results are never billed, and re-verifying the same address within 30 days is free.
Do free credits really renew every month?
Yes. The Free plan refills to 250 credits on the first of every month, with no credit card on file. It is meant for testing integrations and small side projects, and it never expires.
How accurate are the results?
We run syntax, DNS, MX, and live SMTP checks for every address, plus disposable, role, and catch-all detection. Across our benchmark set we return a definitive answer for over 97% of addresses.
Do you send emails to the addresses I verify?
No. We open an SMTP conversation with the receiving server and ask whether the mailbox exists, then close it before any message is sent. The recipient never sees anything.
Is VeriDock GDPR compliant?
Yes. Addresses are processed in memory and cached for 30 days only to make re-verification free. You can disable caching per API key, request deletion at any time, and sign a DPA on any paid plan.
Can I switch plans or cancel anytime?
Yes. Upgrades apply immediately with prorated billing. Downgrades and cancellations take effect at the end of the billing period, and you keep any rolled-over credits until they expire.
Verify your first address in the next minute.
250 credits every month, forever. Upgrade when you outgrow them.