API Reference

Complete reference for the Easy Email Verification REST API.


Base URL

https://api.easyemailverification.com/v1

All requests are made over HTTPS. Plain HTTP is not supported.


Authentication

Pass your API key as a query parameter in every request. Keep it secret — do not expose it in client-side code.

Example
GET /v1/verify?apikey=YOUR_API_KEY&email=user@example.com

GET

/v1/verify

Verify a single email address. Returns a JSON object with all check results.

Query Parameters
ParameterTypeRequiredDescription
apikey string required Your API key from the dashboard.
email string required The email address to verify (URL-encoded).
Code Examples
curl "https://api.easyemailverification.com/v1/verify \
  ?apikey=YOUR_API_KEY \
  &email=user%40example.com"
<?php
$apikey = 'YOUR_API_KEY';
$email  = urlencode('user@example.com');
$url    = "https://api.easyemailverification.com/v1/verify?apikey={$apikey}&email={$email}";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$body = curl_exec($ch);
curl_close($ch);

$data = json_decode($body, true);
if ($data['safe_to_send']) {
    // safe to add to your list
}
import requests

API_KEY = "YOUR_API_KEY"

def verify_email(email: str) -> dict:
    r = requests.get(
        "https://api.easyemailverification.com/v1/verify",
        params={"apikey": API_KEY, "email": email},
        timeout=10
    )
    r.raise_for_status()
    return r.json()

result = verify_email("user@example.com")
print(result["safe_to_send"])  # True / False
async function verifyEmail(email) {
  const params = new URLSearchParams({
    apikey: "YOUR_API_KEY",
    email,
  });
  const res  = await fetch(`https://api.easyemailverification.com/v1/verify?${params}`);
  const data = await res.json();
  return data;
}

const result = await verifyEmail("user@example.com");
console.log(result.safe_to_send); // true / false
Example Response 200 OK
{
  "email":        "user@example.com",
  "user":         "user",
  "domain":       "example.com",
  "result":       "valid",
  "reason":       "Accepted by mail server",
  "mx_record":    "mail.example.com",
  "mx_domain":    "example.com",
  "accept_all":   false,
  "disposable":   false,
  "role":         false,
  "free":         false,
  "safe_to_send": true,
  "did_you_mean": null
}

Response Schema

FieldTypeDescription
email string The normalized email address that was checked.
user string The local part of the email (before @).
domain string The domain part of the email (after @).
result string valid, invalid, or unknown.
reason string Human-readable explanation of the result.
mx_record string Highest-priority MX record hostname for the domain.
mx_domain string Domain of the MX record.
accept_all boolean true if the domain accepts mail for any address (catch-all).
disposable boolean true if the address is from a known disposable provider.
role boolean true if the address is role-based (info@, admin@, etc.).
free boolean true if the address uses a free email provider (Gmail, Yahoo, etc.).
safe_to_send boolean Primary signal. true if the address passed all checks and is safe to send to.
did_you_mean string|null Suggested correction for common typos (e.g. gnail.com → gmail.com). Null if no suggestion.

Error Codes

Non-2xx responses include an error field with a machine-readable code and a human-readable message.

HTTPError CodeDescription
400 invalid_email The email parameter is missing or malformed.
401 invalid_apikey The apikey is missing, invalid, or revoked.
402 quota_exceeded Daily verification quota exhausted. Upgrade your plan or wait for the reset.
429 rate_limited Too many requests per second. Slow down or use the bulk endpoint.
500 server_error Unexpected server error. Retry with exponential back-off.
401 Unauthorized
{
  "error":   "invalid_apikey",
  "message": "The API key provided is invalid or has been revoked."
}

Rate Limits

Free plans include 50 verifications per day. Paid plans scale from 500 to 100,000 per day. Contact us for custom enterprise volumes.

Free
50 / day
No credit card
Starter
500 / day
From $9/mo
Growth
5,000 / day
From $29/mo
Pro
100,000 / day
From $99/mo
Enterprise
Custom
Contact us

View full pricing →


Official SDKs

Official client libraries maintained by the Easy Email Verification team.

Ready to integrate?

Sign up free — 50 verifications/day, no credit card required.

Get Your Free API Key →