Contact Verify ยท Free tools

Email verification API

Sample address: jane.doe@example.com. These examples use the fields a finished check returns.

POST /verify/email/preview

Request

curl -i -X POST "https://verify-x402.okwithit9.workers.dev/verify/email/preview" \
  -H "content-type: application/json" \
  -d '{"email":"jane.doe@example.com"}'

Response

{
  "preview": true,
  "mailbox_checked": false,
  "email": "jane.doe@example.com",
  "valid_syntax": true,
  "mx_found": true,
  "is_disposable": false,
  "is_role_account": false,
  "upgrade": {
    "url": "/verify/email",
    "price_usd": "0.01",
    "adds": [
      "smtp_deliverable",
      "catch_all",
      "score"
    ]
  }
}

POST /verify/email/basic

Request

curl -i -X POST "https://verify-x402.okwithit9.workers.dev/verify/email/basic" \
  -H "content-type: application/json" \
  -d '{"email":"jane.doe@example.com"}'

Response

{
  "email": "jane.doe@example.com",
  "username": "jane.doe",
  "domain": "example.com",
  "tier": "basic",
  "mailbox_checked": false,
  "is_valid_syntax": true,
  "is_disposable": false,
  "is_free_email": false,
  "is_role_account": false,
  "mx_accepts_mail": true,
  "upgrade": {
    "url": "/verify/email",
    "price_usd": "0.01",
    "adds": [
      "smtp_deliverable",
      "catch_all",
      "score"
    ]
  }
}

POST /verify/email

Request

curl -i -X POST "https://verify-x402.okwithit9.workers.dev/verify/email" \
  -H "content-type: application/json" \
  -d '{"email":"jane.doe@example.com"}'

Response

{
  "email": "jane.doe@example.com",
  "status": "safe",
  "overall_score": 98,
  "username": "jane.doe",
  "domain": "example.com",
  "is_safe_to_send": true,
  "is_valid_syntax": true,
  "is_disposable": false,
  "is_role_account": false,
  "can_connect_smtp": true,
  "has_inbox_full": false,
  "is_catch_all": false,
  "is_deliverable": true,
  "is_disabled": false,
  "is_spamtrap": false,
  "is_free_email": false,
  "mx_accepts_mail": true,
  "mx_records": [
    "mx.example.com"
  ]
}

POST /verify/email/batch

Request

curl -i -X POST "https://verify-x402.okwithit9.workers.dev/verify/email/batch" \
  -H "content-type: application/json" \
  -d '{"emails":["jane.doe@example.com"]}'

Response

{
  "results": [
    {
      "email": "jane.doe@example.com",
      "status": "safe",
      "overall_score": 98,
      "username": "jane.doe",
      "domain": "example.com",
      "is_safe_to_send": true,
      "is_valid_syntax": true,
      "is_disposable": false,
      "is_role_account": false,
      "can_connect_smtp": true,
      "has_inbox_full": false,
      "is_catch_all": false,
      "is_deliverable": true,
      "is_disabled": false,
      "is_spamtrap": false,
      "is_free_email": false,
      "mx_accepts_mail": true,
      "mx_records": [
        "mx.example.com"
      ]
    }
  ]
}

How payment works

An unpaid request to a priced route returns HTTP 402 with a PAYMENT-REQUIRED header and accepts[]. Pay that amount in USDC on Base (eip155:8453), then retry the same request with PAYMENT-SIGNATURE. The response is returned after settlement. A failed upstream check is not settled. No signup, no API key.