mxping
Docs navigation

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

terminal
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

response.json
{
  "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
}
status

valid, invalid, risky, or unknown. Branch on this.

is_valid

Boolean shortcut: true only when status is valid.

sub_status

Machine-readable reason: no_mx_record, disposable, role_based, invalid_syntax, …

score

0–100 deliverability score; confidence is high/medium/low.

checks

Every individual signal, so you can apply your own policy.

response_time_ms

Server-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.