GET /email_verifications

Validate an email address and return detailed verification results.

Performs comprehensive validation including:

  • Email syntax validation
  • MX record verification (DNS lookup)
  • SMTP deliverability check
  • Disposable email detection
  • Common domain typo suggestions
  • Detection of servers that accept any email

Query parameters

  • email_address string(email) Required

    Email address to validate

  • smtp_timeout integer

    SMTP check timeout in seconds

    Minimum value is 1, maximum value is 60. Default value is 10.

Responses

  • 200 application/json

    Email validation completed successfully

    Hide response attributes Show response attributes object
    • email string(email) Required

      The email address that was validated

    • valid boolean Required

      Whether the email is considered valid

    • classification string Required

      Overall classification of the email:

      • valid: Email passed all checks cleanly
      • risky: Email is valid but has concerns (accepts any email, DNS/SMTP assumptions, disposable email, or warnings)
      • invalid: Email validation failed

      Values are valid, risky, or invalid.

    • score integer Required

      Validation score from 0-100. Higher scores indicate higher confidence.

      Scoring breakdown:

      • Syntax valid: +20 points
      • MX verified: +40 points (or +15 if assumed)
      • SMTP verified: +35 points (or +15 if accepts any email, +10 if assumed)
      • No SMTP check: +20 points
      • Warning penalty: Up to -25 points

      Minimum value is 0, maximum value is 100.

    • score_details object Required

      Detailed breakdown of validation scoring factors

      Hide score_details attributes Show score_details attributes object
      • syntax_valid boolean

        Whether email syntax is valid

      • mx_verified boolean

        Whether MX records were verified via DNS

      • smtp_verified boolean

        Whether SMTP deliverability was verified

      • smtp_failed_assumption boolean

        Whether SMTP verification was assumed due to connection failure

      • dns_failed_assumption boolean

        Whether DNS verification was assumed due to lookup failure

      • has_warnings boolean

        Whether any warnings were generated

      • accepts_any_email boolean

        Whether the server accepts any email (catch-all)

    • errors array[string] Required

      List of validation errors encountered

    • warnings array[string] Required

      List of validation warnings

    • checks object Required

      Individual validation check results

      Hide checks attributes Show checks attributes object
      • syntax boolean

        Email syntax check result

      • mx_record boolean

        MX record DNS lookup result

      • smtp_deliverable boolean | null

        SMTP deliverability check result (null if not checked)

      • disposable boolean

        Whether the email domain is a known disposable email provider

      • typo_suggestion string | null

        Suggested correction for common domain typos

      • accepts_any_email boolean | null

        Whether the server accepts any email address (null if not checked)

  • 400 application/json

    Bad request - missing email_address parameter

    Hide response attribute Show response attribute object
    • error string Required

      Error message

  • 401 application/json

    Unauthorized - invalid or missing bearer token

    Hide response attribute Show response attribute object
    • error string Required

      Error message

GET /email_verifications
curl \
 --request GET 'https://peopledb.co/api/v1/email_verifications?email_address=user%40example.com' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "email": "user@example.com",
  "valid": true,
  "classification": "valid",
  "score": 95,
  "score_details": {
    "syntax_valid": true,
    "mx_verified": true,
    "smtp_verified": true,
    "smtp_failed_assumption": false,
    "dns_failed_assumption": false,
    "has_warnings": false,
    "accepts_any_email": false
  },
  "errors": [
    "string"
  ],
  "warnings": [
    "Domain appears to accept any email address"
  ],
  "checks": {
    "syntax": true,
    "mx_record": true,
    "smtp_deliverable": true,
    "disposable": false,
    "typo_suggestion": "string",
    "accepts_any_email": false
  }
}
Response examples (400)
{
  "error": "Email address parameter is required"
}
Response examples (401)
{
  "error": "Unauthorized"
}