valid
boolean
True if the email has valid format and domain. Use this as your main pass/fail gate.
risk_score
float
0.0 to 1.0. Higher means more likely to be fake or bot-generated. Above 0.7 should be blocked.
risk_level
string
LOW, MEDIUM, HIGH, or INVALID. The simplest field to act on in your signup logic.
risk_reason
string
Plain English explanation of the risk score — e.g. "bot-like username detected: number_heavy, random_pattern".
is_disposable
boolean
True if the domain is a known throwaway email provider. Always block these at signup.
is_free_provider
boolean
True for Gmail, Yahoo, Outlook etc. Useful for B2B apps that require work emails.
is_business
boolean
True if the domain is a business domain — not free and not disposable.
mx_found
boolean
True if the domain has live MX records. False means the domain cannot receive email at all.
format_valid
boolean
True if the email passes basic format checks — correct structure, valid characters, proper TLD.
suggested_fix
string|null
If the domain looks like a typo, returns the suggested correction — e.g. "Did you mean: john@gmail.com?"
domain_age_years
int|null
Age of the domain in years. Very new domains are a common signal of throwaway or fraud accounts.
mx_record
string|null
The primary MX record hostname for the domain. Null if no MX records were found.