Email risk
Returns a 0–100 risk score for an email address, with a transparent breakdown of the signals behind it. Use it to gate signups, flag suspicious checkout emails, or prioritize manual review.
GET /v1/email-risk
Section titled “GET /v1/email-risk”| Query param | Type | Description |
|---|---|---|
email | string | Required. Email address to score. |
mx | boolean | Live MX/DNS check. Defaults to true. |
curl "https://api.fender.ai/v1/email-risk?email=admin@sketchy-domain.tk"{ "input": "admin@sketchy-domain.tk", "valid": true, "email": "admin@sketchy-domain.tk", "local": "admin", "domain": "sketchy-domain.tk", "score": 60, "risk_level": "high", "disposable": false, "free_provider": false, "role_account": true, "has_mx": false, "signals": [ { "code": "role_account", "weight": 15, "message": "Role-based mailbox \"admin\"." }, { "code": "high_abuse_tld", "weight": 15, "message": "High-abuse TLD \".tk\"." }, { "code": "no_mx", "weight": 30, "message": "Domain has no MX or A records to receive mail." } ]}Risk levels
Section titled “Risk levels”| Score | risk_level |
|---|---|
| 0–24 | low |
| 25–59 | medium |
| 60–100 | high |
Signals
Section titled “Signals”| Code | Weight | Meaning |
|---|---|---|
disposable_domain | 70 | Known throwaway/temporary provider. |
idn_homoglyph | 35 | Punycode / non-ASCII lookalike domain. |
no_mx | 30 | Domain can’t receive mail (no MX/A records). |
random_local | 25 | Local part looks random / auto-generated. |
role_account | 15 | Role mailbox (admin@, info@, …). |
high_abuse_tld | 15 | Freenom-style high-abuse TLD. |
numeric_local | 10 | Local part is mostly digits. |
long_local | 10 | Unusually long local part. |
free_provider | 5 | Free webmail provider. |
subaddressing | 5 | Uses plus-addressing. |
excessive_dots | 5 | Many dots in the local part. |
short_local | 5 | Very short local part. |
invalid_syntax | 100 | Not a valid address. |
Scores are additive and capped at 100. Weights may be tuned over time — rely on
risk_level and the signals array for stable behavior.
POST /v1/email-risk/batch
Section titled “POST /v1/email-risk/batch”Score up to 100 addresses. MX checks default to off for batches
(pass "mx": true to enable):
curl -X POST "https://api.fender.ai/v1/email-risk/batch" \ -H "Content-Type: application/json" \ -d '{"emails":["jane.doe@gmail.com","admin@sketchy-domain.tk"],"mx":true}'Try it
Section titled “Try it”Live MX check included. Anonymous requests are rate limited to 30/min.
Result will appear here…
Compare jane.doe@gmail.com (low) with admin@sketchy-domain.tk or a random
local part like xqzkvmwn8273@throwaway.tk (high).