Integrate email verification directly into your sign-up forms, CRM pipelines, and data workflows with a single API call. BounceZero returns 65+ signal fields in JSON - including classification, score, SMTP result, catch-all status, and plain-English explanation.
In a nutshell
An email validation API is a REST endpoint that checks an email address for deliverability in real time — returning syntax, DNS/MX, SMTP mailbox-existence, catch-all, and disposable-provider signals as JSON in sub-second responses, so developers can block bounces before they happen.
One endpoint. Three lines of code. Works with any stack.
# Single email verification
curl -X POST https://api.bouncezero.io/api/v1/verify \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]", "depth": "standard"}'
A rich JSON object with everything you need to make a reliable accept/reject decision.
{
"email": "[email protected]",
"score": 96,
"classification": "valid",
"is_deliverable": true,
"risk_level": "low",
"checks": {
"syntax": true,
"domain_valid": true,
"not_disposable": true,
"not_catch_all": true,
"mailbox_verified": true
},
"metadata": {
"internal_classification": "verified",
"refunded": null,
"catch_all_unresolved": null,
"smtp_confirmed": true,
"response_time_ms": 1243
},
"explanation": "Valid mailbox confirmed..."
}
classification
string
Binary verdict: valid or invalid. Send to valid, suppress invalid.
score
int 0-100
Confidence score. 81+ = verified, 61-80 = likely valid, 41-60 = catch-all or inconclusive, under 40 = risky or invalid.
risk_level
string
low, medium (for example an unresolved catch-all) or high.
is_deliverable
boolean
Convenience boolean: true when classification is valid.
metadata.internal_classification
string
Detailed verdict behind the binary result: verified, likely_valid, catch_all, invalid, disposable, risky, spamtrap, unknown or error.
metadata.catch_all_unresolved
boolean
True when the domain is a catch-all that could not be resolved individually (reported valid).
metadata.refunded
boolean
True when the address could not be verified; it is reported invalid and the credit is refunded automatically.
checks.not_disposable
boolean
False when the domain is a known temporary or throwaway email provider.
explanation
string
Plain-English explanation of why this result was returned.
Reject invalid and disposable email addresses at the point of collection - before they enter your database and ESP contact list.
Verify contacts on import or export. Flag stale addresses for re-engagement campaigns before they generate bounces.
Validate customer email at checkout to ensure order confirmations and receipts reach real inboxes.
Stop wasting ad spend on leads with invalid emails. Validate at the form level and only count real, deliverable addresses.
Enrich contact records in your data pipeline with deliverability signals. Route only valid contacts to downstream marketing tools.
Trigger email verification on HubSpot, Salesforce, or Zapier events. Automatically mark contacts as valid or invalid in your CRM.
Cached addresses return in under 100ms. Fresh SMTP verifications typically complete in 1-3 seconds. The depth parameter lets you control the trade-off: basic returns in <50ms (syntax + domain only), standard adds SMTP, and deep includes social signals.
Yes. All new accounts receive 100 free verification credits with API access - no credit card required. This is enough to prototype your integration and test the full response schema before committing to a paid plan.
Limits are per API key per minute and scale with your plan: 30, 100, 300 or 1,000 requests/minute. Rate limit headers (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset) are included in every response.
Yes. The POST /api/v1/verify/bulk endpoint accepts up to 10,000 addresses per request and returns an async job ID. Poll GET /api/v1/verify/bulk/{job_id}/status, then fetch /api/v1/verify/bulk/{job_id}/results. See our full documentation for the bulk API spec.
Forms and CRM imports are where most bad addresses get in. Non-freemail (business and ISP) addresses verified by BounceZero between April and October 2026 ran 14.5% invalid and 27% unknown (Lead List Quality Benchmarks 2026); real-time validation at the form keeps that share out of the pipeline before a lead record exists.
Forms, chat, CRM and scoring, with the validation API in the stack
Fit, intent and reachability, with email validity as an input
Why a verified address belongs in the lead score
Rates per mailbox provider and country domain
Sign up in 30 seconds, grab your API key, and make your first verification call. 100 free credits included.
Endpoints, code samples, and language guides
Endpoints, auth, limits - full API documentation
Block fake and disposable emails at the form
How APIs validate in real time - endpoints + code
net/http, concurrent worker pool, Gin middleware, fail-open signup validation - code examples
Integration guide: requests, async httpx, batch CSV, Flask/Django patterns
Net::HTTP, Faraday, Rails validator, Sidekiq worker, Devise hook - code examples
Continue through related topics
Follow BounceZero