Skip to main content
POST
/
v1
/
validate
/
email
curl -X POST https://www.unosend.co/api/v1/validate/email \
  -H "Authorization: Bearer un_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "check_catch_all": true
  }'
{
  "email": "[email protected]",
  "valid": true,
  "score": 90,
  "reason": null,
  "checks": {
    "syntax": true,
    "mx_records": true,
    "disposable": false,
    "role_based": false,
    "free_provider": false,
    "catch_all": false,
    "smtp_valid": null
  },
  "details": {
    "local_part": "john",
    "domain": "company.com",
    "mx_hosts": ["mail.company.com"],
    "suggestion": null
  }
}

Request Body

email
string
required
Email address to validate
check_smtp
boolean
default:"false"
Perform SMTP mailbox verification. This connects to the mail server to check if the address exists. Slower but more accurate.
check_catch_all
boolean
default:"false"
Check if the domain is a catch-all (accepts any email address). Useful for identifying domains where individual addresses can’t be verified.

Response

email
string
Normalized email address (lowercase)
valid
boolean
Whether the email is valid for sending
score
number
Quality score from 0-100
reason
string
Explanation if email is invalid or risky
checks
object
details
object
curl -X POST https://www.unosend.co/api/v1/validate/email \
  -H "Authorization: Bearer un_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "check_catch_all": true
  }'
{
  "email": "[email protected]",
  "valid": true,
  "score": 90,
  "reason": null,
  "checks": {
    "syntax": true,
    "mx_records": true,
    "disposable": false,
    "role_based": false,
    "free_provider": false,
    "catch_all": false,
    "smtp_valid": null
  },
  "details": {
    "local_part": "john",
    "domain": "company.com",
    "mx_hosts": ["mail.company.com"],
    "suggestion": null
  }
}