Documentation
The usecheck API lets you validate email addresses and domains in real time. All endpoints require authentication via API key.
Include your API key in the Authorization header:
Get your API key from the dashboard. Free tier includes 1,000 requests/month.
/v1/email/:emailValidate an email address
emailstringThe email address to validate{
"status": 200,
"email": "test@mailinator.com",
"domain": "mailinator.com",
"mx": true,
"mx_records": [
"mx1.mailinator.com"
],
"disposable": true,
"public_domain": false,
"relay_domain": false,
"role_account": false,
"alias": false,
"spam": true,
"domain_age_days": 4523,
"did_you_mean": null,
"blocklisted": false
}/v1/domain/:domainValidate a domain
domainstringThe domain to validate{
"status": 200,
"domain": "mailinator.com",
"mx": true,
"mx_records": [
"mx1.mailinator.com"
],
"disposable": true,
"public_domain": false,
"relay_domain": false,
"spam": true,
"domain_age_days": 4523
}Full reference of all fields returned by the email validation endpoint.
statusnumberHTTP status code (200 or 400)emailstringThe normalized email addressdomainstringThe email domainmxbooleanWhether the domain has valid MX recordsmx_recordsstring[]List of MX records for the domaindisposablebooleanWhether the domain is a disposable/throwaway email providerpublic_domainbooleanWhether the domain is a public email provider (Gmail, Yahoo, etc.)relay_domainbooleanWhether the domain is an email relay/forwarding servicerole_accountbooleanWhether the local part is a role account (admin@, info@, etc.)aliasbooleanWhether the email uses plus-addressing or is an aliasspambooleanWhether the email is likely spam (disposable or very new domain)domain_age_daysnumber | nullDomain age in days, or null if unknowndid_you_meanstring | nullSuggested correction for common typos (gmial.com → gmail.com)blocklistedbooleanWhether the domain is on your custom blocklistRate limits depend on your plan. The response includes rate limit headers:
X-RateLimit-LimitMax requests per secondX-RateLimit-RemainingRemaining requests in current windowX-RateLimit-ResetUnix timestamp when the window resetsThe API returns standard HTTP status codes.
400Invalid email syntax or missing parameter401Missing or invalid API key429Rate limit exceeded500Internal server error