Skip to content

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.

Query paramTypeDescription
emailstringRequired. Email address to score.
mxbooleanLive MX/DNS check. Defaults to true.
Terminal window
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." }
]
}
Scorerisk_level
0–24low
25–59medium
60–100high
CodeWeightMeaning
disposable_domain70Known throwaway/temporary provider.
idn_homoglyph35Punycode / non-ASCII lookalike domain.
no_mx30Domain can’t receive mail (no MX/A records).
random_local25Local part looks random / auto-generated.
role_account15Role mailbox (admin@, info@, …).
high_abuse_tld15Freenom-style high-abuse TLD.
numeric_local10Local part is mostly digits.
long_local10Unusually long local part.
free_provider5Free webmail provider.
subaddressing5Uses plus-addressing.
excessive_dots5Many dots in the local part.
short_local5Very short local part.
invalid_syntax100Not 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.

Score up to 100 addresses. MX checks default to off for batches (pass "mx": true to enable):

Terminal window
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}'

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