API reference

A small API surface, fully specified.

Send one address and receive deliverability, catch-all, and disposable-email signals. This reference covers authentication, response contracts, credits, and every error code.

Production base URL

https://api.verifyemail.net/api/v1

Quickstart

Create an API key in the Dashboard, keep it on your server, and send it as a Bearer credential. A verification request accepted for processing consumes one credit.

Request
curl -sS -X POST 'https://api.verifyemail.net/api/v1/verifications' \
  -H 'Authorization: Bearer ve_live_your_api_key' \
  -H 'Content-Type: application/json' \
  -d '{"address":"[email protected]"}'
Response · HTTP 200
{
  "errcode": 0,
  "address": "[email protected]",
  "is_deliverable": true,
  "status": 250,
  "catch_all": false,
  "disposable": false
}

Authentication

Create an API key in your dashboard: Dashboard → API keys

The complete ve_live_… value is shown only once.

Keep API keys in server-side secrets. Never put them in browser code, query strings, public repositories, or client-visible logs.
Authorization: Bearer ve_live_your_api_key

Verify an email

POST/verifications

Request body

FieldTypeRequiredDescription
addressstringYesA complete email address.

Response fields

FieldTypeDescription
errcodenumber0 means the request succeeded. Handle other values using the error table.
addressstringThe normalized email address.
is_deliverablebooleanWhether the receiving server accepts the recipient.
statusnumber | nullThe numeric SMTP response code, or null when no SMTP response was received.
catch_allboolean | nullWhether the domain accepts every recipient. Null means no reliable conclusion.
disposablebooleanWhether the address belongs to a disposable email domain.

250 · HTTP 200 · errcode 0

The receiving server accepted the recipient.

550 · HTTP 200 · errcode 0

The domain or receiving server rejected the recipient.

null · HTTP 422

The address is invalid or cannot be verified.

null · HTTP 503

No reliable conclusion is available; retry later.

A GET form is also available at the endpoint below. POST is recommended so addresses do not appear in proxy access logs or browser history: /verifications?address=…

Check remaining credits

GET/usage

This request does not consume a verification credit. Dashboard sessions and every API key owned by the same user share one allowance.

Request
curl -sS 'https://api.verifyemail.net/api/v1/usage' \
  -H 'Authorization: Bearer ve_live_your_api_key'
Response · HTTP 200
{
  "errcode": 0,
  "verification_limit": 100,
  "verification_used": 1,
  "remaining_verifications": 99,
  "unlimited": false
}
FieldTypeDescription
verification_limitnumberThe current total allowance. Zero means unlimited.
verification_usednumberThe number of verification credits already used.
remaining_verificationsnumber | nullCredits still available. Null when the account is unlimited.
unlimitedbooleanWhether the current allowance is unlimited.

Unlimited plans return remaining_verifications: null, unlimited: true.

Error codes

Use the numeric errcode for program logic. The human-readable message may change.

Error response
{
  "errcode": 10006,
  "message": "request rate limit exceeded"
}
errcodeHTTPMeaning
02xxSuccess.
10000400Malformed request. Check JSON, headers, and the HTTP method.
10001400 / 422A parameter or business rule failed validation.
10002401The credential is missing, invalid, or expired.
10003403The account cannot access this resource.
10004404The requested resource does not exist.
10005409The resource conflicts with the current state.
10006429The per-second request limit was exceeded.
10007429Verification credits are exhausted.
10008429Service concurrency capacity is exhausted.
10009500An internal service error occurred.
10010503The service is temporarily unavailable or not configured.
10011502An upstream service returned an error.

Rate-limit headers

Retry-After, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset — describe the current request window.

Ready to make your first request?Create an account and get 100 verification credits.