# SDKs

URL: https://email-validation.org/docs/sdks/
Updated: 2026-10-20

> Documentation index: https://email-validation.org/llms.txt

Official SDKs wrap the REST API with typed results, typed errors, automatic retries for rate limits and a webhook
signature helper. Both cover the whole API: single checks, credits, usage and bulk jobs.

| Language | Package | Runs on |
|---|---|---|
| [JavaScript and TypeScript](https://email-validation.org/docs/sdks/javascript/) | `@email-validation/sdk` (npm) | Node.js 24+ (tested on Node.js 24); zero dependencies, only standard `fetch` and Web Crypto |
| [Python](https://email-validation.org/docs/sdks/python/) | `email-validation-sdk` (PyPI) | Python 3.10+, sync and async clients on httpx |

## What the SDKs do for you

- **Authentication** with your key in the `Authorization` header.
- **Retries** for `429` and `503` answers, honouring `Retry-After` and backing off with jitter. Validations are not
  retried after a network failure, because a check that reached us may already have been charged; reads are.
- **Typed errors** per error code: authentication, insufficient credits, permission, not found, conflict, rate limit,
  unavailable, server and connection errors, each with the `request_id`.
- **Bulk helpers** to create a job from a list or a file, wait for it and download the results.
- **Webhook verification** for deliveries signed with the Standard Webhooks scheme.
- **The vocabulary** of statuses, reasons and actions as constants, kept equal to the API by tests.

## Other languages

The API is plain HTTPS and JSON, described by an [OpenAPI 3.1 document](https://api.email-validation.org/openapi.json) you can feed to a
client generator. Ready-to-run examples for curl, PHP, Ruby, Go, Java, C# and Rust are on
[code samples](https://email-validation.org/docs/code-samples/).
