Email verification API
Every address, checked before it reaches your list.
One request returns a conservative verdict plus every signal behind it. Block fake signups, cut bounces and keep your sender reputation intact.
- No credit card
- Idempotent retries
- Uncertainty reported, never guessed
curl https://veridock.io/v1/verify \
-H "Authorization: Bearer vd_live_…" \
-d '{"email":"person@example.com"}'
{
"status": "valid",
"reason": "deliverable_domain",
"checks": {
"syntax": "valid",
"mx": "present",
"disposable": false,
"role": false,
"mailbox": "not_probed"
},
"credits_used": 1
}How it works
Four checks, one honest answer.
We only say valid when everything passes, and we say unknown rather than guessing when DNS is slow.
01
Syntax
Rejects malformed addresses locally and suggests fixes for gmail.con and friends.
02
DNS / MX
Resolves mail-routing records with timeouts, caching and implicit-MX handling.
03
Disposable
Maintained dataset of throwaway providers, versioned in every response.
04
Role & free
Flags admin@, info@ and free-mail providers so you can apply your own policy.
List validation
Paste or upload up to 50,000 addresses, watch progress live and export the clean set as CSV.
Built for the API
Bearer keys, JSON everywhere, rate limits per key and an OpenAPI spec you can import.
Fast by default
Domain-level DNS results are cached for 24 hours, so repeat domains answer in milliseconds.
Privacy by default
Addresses never touch logs or the credit ledger. List results expire after 30 days.
Atomic credits
Quotas are enforced in the database and retries are idempotent, so you are never double-charged.
Honest statuses
A DNS timeout returns unknown, not invalid. You decide the policy, we give you the signals.
Pricing
Start free. Upgrade when your signup form does.
5,000 credit pack
$15 once
5,000 credits
- One-time purchase
- No recurring commitment
- Credits never expire
Syntax is valid and the domain accepts email.
Malformed, or the domain has no mail servers.
Temporary / throwaway email provider.
Deliverable but a role account (admin@, info@ …).
Checks could not complete (DNS timeout). Not invalid.