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/jsonX-Request-ID: <string>(optional): request identifier for attribution/tracing.
email(string, required): email address to verify.
Response
Status:200 OK (or 408 Request Timeout with partial results)
Example response:
id: UUID of the stored verification record when available.email: the verified email address.status: overall verification result. Values:valid,invalid,catchall,invalid_syntax,disposable_domain,unknown.is_role_based: true if the local part is a role account (e.g., support@).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 whenstatusisunknown.needs_physical_verify: true when inbox check requires manual/physical verification.
- Credits: deducts 1 credit when the resulting status is not
unknownand the request is not inside the same-user/same-email free-repeat window. unknownresults are free.- Same user + same canonical email (trimmed/lowercased) within 24 hours is free-repeat (no additional deduction), including cached responses.
- Cached responses are billed only when outside the free-repeat window.
X-Request-IDis optional and used for attribution; charge idempotency is enforced by a server-generated deterministic key per user/email in 5-minute UTC windows.
400invalid body or email syntax.401unauthorized (missing/invalid auth).402insufficient credit balance.408verification timed out.429rate limited.500internal error.