Skip to main content

Overview

Verify a single email address in real time and return deliverability signals such as syntax, domain, SMTP, and inbox checks.

POST /api/v1/verify

Purpose: perform realtime verification of a single email address (syntax, domain, SMTP, inbox checks).

Request

Headers:
  • Content-Type: application/json
Body:
  • email (string, required): email address to verify.
Example request:
curl -X POST \
  'https://api.example.com/api/v1/verify' \
  -H 'Content-Type: application/json' \
  -d '{"email":"[email protected]"}'

Response

Status: 200 OK (or 408 Request Timeout with partial results) Example response:
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "email": "[email protected]",
  "status": "exists",
  "is_role_based": false,
  "is_disposable": false,
  "has_mx_records": true,
  "has_reverse_dns": true,
  "domain_name": "example.com",
  "host_name": "mx1.example.com",
  "server_type": "smtp",
  "is_catchall": false,
  "validated_at": "2025-01-01T12:00:00Z",
  "unknown_reason": null,
  "needs_physical_verify": false
}
Response fields:
  • id: UUID of the stored verification record when available.
  • email: the verified email address.
  • status: overall verification result. Values: exists, not_exists, catchall, invalid_syntax, unknown.
  • is_role_based: true if the local part is a role account (e.g., admin@).
  • is_disposable: true if domain is known disposable.
  • has_mx_records: true if the domain has MX records.
  • has_reverse_dns: true if reverse DNS records exist for the mail host.
  • domain_name: resolved domain name.
  • host_name: mail host (MX) used for SMTP.
  • server_type: mail server type reported by verifier.
  • is_catchall: true if domain accepts any address.
  • validated_at: RFC3339 timestamp of verification completion.
  • unknown_reason: reason when status is unknown.
  • needs_physical_verify: true when inbox check requires manual/physical verification.
Errors:
  • 400 invalid body or email syntax.
  • 401 unauthorized (missing/invalid auth).
  • 408 verification timed out.
  • 429 rate limited.
  • 500 internal error.