Skip to content

API overview

The VerifyEmail REST API lets you verify email addresses from your own application — a single address in real time, or millions through bulk jobs.

https://api.tryverifyemail.com/v1

All requests are made over HTTPS. Requests and responses use JSON.

Authenticate every request with your secret API key. See Authentication for details.

Terminal window
curl -X POST "https://api.tryverifyemail.com/v1/email-verifications?timeout=25" \
-H "Authorization: Bearer sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{"email":"jane@example.com","source":"signup-form"}'

GET /v1/me tells you whose key you hold, its plan and the credits it can spend. See Account.

Each POST runs a fresh live check and holds the request open for up to timeout seconds (default 5, maximum 90). If the verdict lands in time you get a 200 with the result. If the mail server is still answering, you get a 202 with "status": "pending" and a Location header: wait poll_after_ms, then GET /v1/email-verifications/{id}, which takes its own timeout. A 202 means “not finished yet”, never “unknown”.

A check the mail server never answers inside the server’s 180-second budget closes as verdict: "unknown", sub_status: "timeout". That outcome is terminal and free: the credit held for it is released.

The optional source field on the request body ("zapier", "signup-form", …) is stored with the result for your own attribution; it defaults to "api".

Endpoint Credits per address
POST /v1/email-verifications — real-time 1
POST /v1/bulk-verifications — queued bulk job 1

Every address verified costs one credit, on every plan and every channel. Duplicates, failures on our side and unknown/timeout outcomes are never charged. See Account & billing for how credits work.

The single-verification and account endpoints are described in an OpenAPI 3.0 document, docs/api/openapi.yaml, which every marketplace integration is built from.

Quickstart

Your first verification call in five minutes. Quickstart →

Verify a single email

Real-time verification of one address, with timeout and a 202 to poll. Verify endpoint →

DMARC monitoring

Enroll domains for DMARC monitoring from your own code — one POST returns the DNS record to publish. DMARC endpoints →

Blacklist monitoring

Watch your sending domains and IPs across the major DNS blocklists, and re-check on demand after a delisting request. Blacklist endpoints →

Bulk jobs

Create a job, add addresses, commit, poll, and export. Bulk jobs →

Prefer a client library? See SDKs & libraries.