Email Validator.io

Email Validation API

Integrate email validation into your applications with our free REST API. No API key required. Perfect for signup forms, contact forms, and marketing automation.

Quick Start

Make a POST request to validate an email address:

curl -X POST https://email-validator-api.rayanbaig796.workers.dev/v1/validate \
  -H "Content-Type: application/json" \
  -d '{"email": "example@domain.com"}'

Endpoints

POST /v1/validate

Validate a single email address. Returns validation result with syntax check, MX record status, and disposable email detection.

POST /v1/validate/bulk

Validate multiple email addresses at once. Accepts up to 1000 emails per request.

GET /v1/check-mx?domain=example.com

Check MX records for a domain. Returns mail server information.

GET /v1/check-disposable?domain=example.com

Check if a domain is a known disposable email provider.

Request & Response Examples

Request Body

{
  "email": "example@domain.com"
}

Success Response

{
  "success": true,
  "data": {
    "email": "example@domain.com",
    "valid": true,
    "status": "valid",
    "checks": {
      "syntax": true,
      "mx": true,
      "disposable": false,
      "role_based": false
    },
    "domain": "domain.com",
    "local_part": "example",
    "mx_records": [
      "mx1.domain.com",
      "mx2.domain.com"
    ]
  }
}

Error Response

{
  "success": false,
  "error": {
    "code": "INVALID_EMAIL",
    "message": "The email address format is invalid"
  }
}

Code Examples

JavaScript / Node.js

const response = await fetch('https://email-validator-api.rayanbaig796.workers.dev/v1/validate', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ email: 'example@domain.com' })
});

const data = await response.json();
console.log(data);

Python

import requests

response = requests.post(
    'https://email-validator-api.rayanbaig796.workers.dev/v1/validate',
    json={'email': 'example@domain.com'}
)

data = response.json()
print(data)

PHP

 'example@domain.com']));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$data = json_decode($response, true);
print_r($data);
?>

Rate Limits

Our API is free to use with the following rate limits:

Plan Requests/Day Requests/Second
Free 10,000 10

Try It Now

Test the API with your own email address:

API Frequently Asked Questions

Do I need an API key to use the email validation API? +

No, our API is completely free and requires no API key. Simply send a POST request with the email address and get instant validation results.

What are the API rate limits? +

The API supports up to 10 requests per second with no daily limit. For high-volume needs, contact us for custom rate limits.

What does the API response include? +

The API returns email, valid status, status code (valid/invalid/disposable/role-based), confidence score, detailed checks (syntax, MX, disposable, role-based, gibberish), provider info, and MX records.

Can I integrate the API with my website? +

Yes, the API is a simple REST endpoint. You can integrate it with signup forms, contact forms, or any application using JavaScript fetch, Python requests, PHP cURL, or any HTTP client.

Is the API secure? +

Yes, the API uses HTTPS encryption for all requests. We never store email addresses and all validation happens in real-time. The API also supports CORS for browser-based integrations.