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.
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
}
| Endpoint | Method | Purpose |
|---|---|---|
/api/v1/verify | POST / GET | Verify a single email address |
/api/v1/verify/batch | POST | Verify up to 100 emails in one request |
/api/v1/usage | GET | Usage statistics for your key |
/api/v1/keys | POST / GET / DELETE | Create, list, and revoke API keys |
/api/v1/auth/signup | POST | Register an account |
/health | GET | Service health check |
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.
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.