Email Validation

Single Email Verification

Verify a single email address in real-time via the REST API. Useful for signup forms, CRM integrations, or one-off checks.

Endpoint

text
POST /v1/verify

Request

bash
curl -X POST http://YOUR_SERVER/v1/verify \
  -H "Content-Type: application/json" \
  -H "Cookie: auth_token=YOUR_SESSION" \
  -d '{"email": "john@example.com", "level": 2}'

Parameters

FieldTypeRequiredDescription
emailstringYesEmail address to verify
levelintegerNo1 = fast checks only, 2 = full SMTP handshake (default: 1)

Response

json
{
  "email": "john@example.com",
  "reachable": "yes",
  "syntax": {
    "username": "john",
    "domain": "example.com",
    "valid": true
  },
  "smtp": {
    "host_exists": true,
    "full_inbox": false,
    "catch_all": false,
    "deliverable": true,
    "disabled": false
  },
  "suggestion": "",
  "disposable": false,
  "role_account": false,
  "free": false,
  "has_mx_records": true
}

Response Fields

FieldDescription
reachableyes / no / unknown
syntax.validWhether the email passes RFC syntax check
smtp.deliverableWhether the SMTP server accepted the RCPT TO command
smtp.catch_allWhether the domain accepts all addresses
disposableWhether the domain is a known disposable provider
role_accountWhether it's a role address (info@, admin@, etc.)
freeWhether it's a free provider (Gmail, Yahoo, etc.)
suggestionTypo correction suggestion (e.g., gmial.com → gmail.com)

Error Responses

StatusErrorMeaning
400email_requiredNo email provided
400invalid_levelLevel must be 1 or 2
401auth_requiredNot authenticated
401license_requiredNo active license