Official libraries and code examples

Verify email addresses from your code in a few lines: official, open-source (MIT) clients for Node.js, Python and PHP, examples in 6 languages, and ready-made connectors for AI assistants and no-code tools.

Test without an account: use the sandbox key eev_sandbox_key with addresses at sandbox.easyemailverification.com (for example valid@sandbox.easyemailverification.com). No credits are used.

Libraries

Each library verifies one address, a batch of up to 50 or a bulk list, returns the result (valid, invalid or unknown) with the reason and risk signals, and includes decide() to turn a result into accept, reject, suggest or review.

Node.js

Node.js 18+, no dependencies, TypeScript types included.

npm install easyemailverification

import { EasyEmailVerification, decide } from "easyemailverification";

const eev = new EasyEmailVerification(); // key from EEV_API_KEY
const r = await eev.verify("anna@example.com");
console.log(r.result, r.reason, decide(r)); // valid accepted_email accept

Python

Python 3.8+, standard library only, type hints included.

pip install easyemailverification

from easyemailverification import Client, decide

eev = Client()  # key from EEV_API_KEY
r = eev.verify("anna@example.com")
print(r["result"], r["reason"], decide(r))  # valid accepted_email accept

PHP

PHP 8.1+, only the curl and json extensions.

composer require easyemailverification/php-sdk

use EasyEmailVerification\Client;

$eev = new Client(); // key from EEV_API_KEY
$r = $eev->verify('anna@example.com');
echo $r['result'], ' ', $r['reason'], ' ', Client::decide($r); // valid accepted_email accept

Keep the API key on your server, in the EEV_API_KEY environment variable. For web forms, use the verification widget instead of calling the API from the browser.

Code examples on GitHub

Copy-paste examples of the REST API, without a library, and full integration guides (signup form, batch, bulk lists).

  • cURL
  • Node.js
  • Python
  • PHP
  • Java
  • Go

Open the api-examples repository ↗

Guides by language

For tools and AI agents: OpenAPI · agents.md · llms.txt

Without writing code

The same verification, from an AI assistant, a form or a spreadsheet.

MCP

MCP server for any MCP client (Cursor, VS Code, Windsurf…): sign in with OAuth or send an API key.

Learn more

Claude

Connector in the Claude directory: one click in claude.ai or Claude Desktop, one command in Claude Code.

Learn more

ChatGPT

Verify addresses and lists from a ChatGPT conversation.

Learn more

Form widget

Block invalid and disposable addresses on your signup forms with one script tag.

Learn more

Zapier

Verify new contacts automatically in thousands of apps.

Learn more ↗

Google Sheets

Verify a column of addresses directly in Google Sheets.

Learn more ↗

FAQ

Which languages have an official library?

Node.js (npm), Python (PyPI) and PHP (Composer). For Java, Go and others, the api-examples repository has ready-to-use code for the REST API.

Are the libraries free?

Yes. They are open source under the MIT license. Each verified address uses one credit from your account; checking your credits is free.

Can I test without spending credits?

Yes. Use the sandbox key eev_sandbox_key with addresses at sandbox.easyemailverification.com. Bulk lists do not work with the sandbox key.

Where do I get an API key?

Create a free account and open API settings in the dashboard. Keep the key on the server, never in browser code.

How many addresses can I verify per call?

One with verify, up to 50 with the batch method, and files of up to 16 MB (TXT or CSV) with bulk upload, which you can poll until the job is completed and then download as CSV.

Start verifying in minutes

Install the library, set EEV_API_KEY and verify your first address.

Get a free API key