verifications.email API Documentation

The verifications.email API verifies email addresses over REST. One request runs 28 checks on an address: syntax validation, DNS and MX lookups, an SMTP mailbox probe, provider-specific verification for Google, Microsoft, Yahoo, Apple, ProtonMail, Zoho, and Mail.ru accounts, disposable and role-based detection, catch-all scoring, spam trap and blacklist screening, and deliverability scoring. Responses return in under a second for most addresses and include a 0 to 100 score plus a risk classification of valid, invalid, risky, or unknown. Unknown results are never billed. Authentication uses an API key in the X-API-Key header. A free plan includes 300 verifications per month with no credit card required.

How do I verify an email address with the API?

Send a POST request to /api/v1/verify with your API key:

curl -X POST https://verifications.email/api/v1/verify \
  -H "X-API-Key: eva_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'

Example response:

{
  "email": "[email protected]",
  "score": 92,
  "risk": "valid",
  "syntax_valid": true,
  "mx_found": true,
  "smtp_check": true,
  "disposable": false,
  "role_based": false,
  "catch_all": false,
  "free_provider": false
}

What endpoints are available?

EndpointMethodPurpose
/api/v1/verifyPOST / GETVerify a single email address
/api/v1/verify/batchPOSTVerify up to 100 emails in one request
/api/v1/usageGETUsage statistics for your key
/api/v1/keysPOST / GET / DELETECreate, list, and revoke API keys
/api/v1/auth/signupPOSTRegister an account
/healthGETService health check

How does authentication work?

Every request needs an API key passed in the X-API-Key header. Keys start with the prefix eva_ and are created from the dashboard or the /api/v1/keys endpoint. Rate limit state is returned on every response in the X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers.

Are there SDKs?

Official SDKs are published for JavaScript/TypeScript and Python. Both are open source under the MIT license and wrap the same REST API documented here.

# JavaScript / TypeScript (Node 18+, Deno, Bun, browsers)
npm install @verifications-email/sdk

# Python 3.9+
pip install verifications-email

Verifying an address with each:

import { EvaClient } from '@verifications-email/sdk';

const eva = new EvaClient({ apiKey: 'eva_your_api_key' });
const { data } = await eva.verify('[email protected]');
console.log(data.score, data.risk);
from eva_email import EvaClient

eva = EvaClient(api_key="eva_your_api_key")
result = eva.verify("[email protected]")
print(result.data.score, result.data.risk)

Both SDKs cover single and batch verification, async bulk uploads with polling, domain deliverability reports, webhook signature verification, and automatic retry on rate limits. Source: eva-sdk-js and eva-sdk-python. A Postman collection and an embeddable widget are listed on integrations. The complete machine-readable spec is at /docs/openapi.yaml (OpenAPI 3).

The full interactive reference with every parameter and response field loads below. If it does not load, the OpenAPI spec contains the same information.