Quickstart
Your first verified email in five minutes.
1. Get a key
Sign up (free, no card), then create a key on the API keyspage. You'll see the full key once — store it in your secret manager.
2. Run a request
1curl -X POST https://api.mxping.dev/v1/verify \2 -H "Authorization: Bearer mxp_live_..." \3 -H "Content-Type: application/json" \4 -d '{"email": "jeff@amazon.com"}'3. Read the response
{
"email": "jeff@amazon.com",
"is_valid": true,
"status": "valid",
"sub_status": null,
"validation_mode": "fast",
"confidence": "high",
"score": 85,
"checks": {
"syntax_valid": true,
"domain_valid": true,
"mx_found": true,
"smtp_valid": null,
"is_disposable": false,
"is_role_based": false,
"is_catch_all": null,
"is_free_provider": false
},
"cached": false,
"response_time_ms": 41
}statusvalid, invalid, risky, or unknown. Branch on this.
is_validBoolean shortcut: true only when status is valid.
sub_statusMachine-readable reason: no_mx_record, disposable, role_based, invalid_syntax, …
score0–100 deliverability score; confidence is high/medium/low.
checksEvery individual signal, so you can apply your own policy.
response_time_msServer-side time for this request. cached tells you if it was a cache hit.
4. Decide what to do with risky
risky means the address will probably receive mail but is a poor signup signal — a disposable domain or a role account like info@. Most products accept valid, reject invalid, and either warn on or reject risky depending on how much they care about list quality. unknownis rare (DNS timed out); treat it as "retry later" rather than a rejection.