POST
/v1/email/validatescope: email:validateValidate email
Syntax, MX, live SMTP handshake, SPF + DMARC, catch-all and disposable detection. Single call.
Send {"email": "..."} for a single address, or {"emails": ["...", "..."]} for up to 100 addresses in one request. Results are cached per-address — a repeat validation within 30 days of a high-confidence result is free and returned as cached: true.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| string | optional | A single email address. | |
| emails | string[] | optional | Up to 100 email addresses for bulk validation. |
Example request
curl -X POST https://api.leadleap.net/v1/email/validate \
-H "Authorization: Bearer $LEADLEAP_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]"}'Example response
{
"data": {
"email": "[email protected]",
"is_valid": true,
"confidence": "high",
"reason": null,
"cached": false,
"checks": {
"syntax": true,
"domain": true,
"smtp": true,
"mx_records": true
},
"details": {
"mx_host": "apple.com",
"mx_records": ["mx1.mail.icloud.com", "mx2.mail.icloud.com"],
"smtp_code": "250",
"has_spf": true,
"has_dmarc": true,
"catch_all": false,
"disposable": false,
"role_based": false,
"provider": "apple"
},
"flags": []
},
"meta": {
"request_id": "req_...",
"timestamp": "2026-04-24T15:32:00.000Z",
"cached": false,
"usage": {
"credits_used": 1,
"credits_remaining": 4999,
"daily_limit": 5000,
"plan": "beta"
}
}
}data and include aggregate counts (valid, invalid, unknown, cached_count) in meta. Invalid-format addresses in a bulk request are skipped and surfaced under meta.warnings.