Subscription successful! Check your email for your API key.

Email Validation API

Validate email addresses in real-time with MX record checking, disposable domain detection, and role account identification.

Base URL

https://emailvalidation.ewabeachwebcreations.com

Authentication

All API requests (except free tier) require an API key passed in the X-API-Key header:

curl -X POST https://emailvalidation.ewabeachwebcreations.com/api/validate \\
  -H "X-API-Key: your_a...ere" \\
  -H "Content-Type: application/json" \\
  -d '{"email": "user@gmail.com"}'

Endpoints

POST/api/validate

Validate a single email address. Requires X-API-Key header.

Request Body

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

Response

{
  "email": "test@example.com",
  "is_valid": true,
  "reason": null,
  "mx_record": "mail.example.com",
  "is_disposable": false,
  "is_role_account": false,
  "score": 95
}
POST/api/validate/bulk

Upload a CSV file with one email per line (first column) for bulk validation. Requires X-API-Key header.

Request — multipart form with field name file

curl -X POST https://emailvalidation.ewabeachwebcreations.com/api/validate/bulk \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@emails.csv"

Response

{
  "total": 150,
  "valid_count": 142,
  "invalid_count": 8,
  "processing_time_ms": 234,
  "results": [...]
}
GET/api/validate-demo?email=test@example.com

Free demo validation — no API key required. Rate limited to 3 requests/minute/IP.

GET/api/config

Get the Stripe publishable key and pricing plans.

POST/api/create-checkout-session

Create a Stripe Checkout Session for subscription.

Request Body

{
  "plan": "pro"
}

Response

{
  "session_id": "cs_test_...",
  "url": "https://checkout.stripe.com/..."
}
POST/api/keys/create

Create a sandbox API key (no payment required).

Request Body

{
  "name": "My App Key",
  "plan": "pro"
}
POST/api/keys/regenerate

Regenerate an API key. Old key is invalidated.

Request Body

{
  "api_key": "ev_..."
}
GET/dashboard?api_key=ev_...

Usage dashboard showing API key stats and recent validations.

GET/api/keys/{key_prefix}/usage

Get recent usage data for a specific API key prefix.

GET/

Landing page with pricing info.

GET/api/docs

This documentation page.

Response Fields

FieldTypeDescription
emailstringThe email address that was validated
is_validbooleantrue if the email passes all checks
reasonstring|nullFailure reason if not valid, otherwise null
mx_recordstring|nullThe domain's MX server hostname, or null
is_disposablebooleanWhether the domain is a known disposable/temp email provider
is_role_accountbooleanWhether the local part is a role account (admin, info, etc.)
scoreintegerConfidence score 0-100

Error Codes

CodeMeaning
402Payment Required - valid API key required
422Validation error - email field is required
400Bad request - invalid JSON or missing email field

Examples

curl

curl -X POST https://emailvalidation.ewabeachwebcreations.com/api/validate \\
  -H "X-API-Key: *** \\
  -H "Content-Type: application/json" \\
  -d '{"email": "user@gmail.com"}'

Python

import requests

resp = requests.post(
    "https://emailvalidation.ewabeachwebcreations.com/api/validate",
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={"email": "user@gmail.com"}
)
print(resp.json())

JavaScript

fetch("https://emailvalidation.ewabeachwebcreations.com/api/validate", {
  method: "POST",
  headers: {
    "X-API-Key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({ email: "user@gmail.com" })
})
.then(r => r.json())
.then(console.log);

Pricing

TierRatePrice
Free100 validations/month$0
Starter5,000 validations/month$29/mo
Pro50,000 validations/month$99/mo
EnterpriseUnlimited validations$299/mo
Pay As You GoPer-validation credits0.5¢/validation

Support

Contact support@ewabeachwebcreations.com for questions or custom plans.