Data ValidationPopular

Email Validation API

Deep email validation with 500+ disposable domain detection, deliverability scoring, SPF/DMARC checks, and mail provider identification.

Endpoint:/api/v1/email/validate
Method:GETPOST
Latency:~50ms
Public Access

No API key required. This endpoint is publicly accessible — you can call it without authentication. Unauthenticated requests are rate-limited to 10 requests/minute per IP address. To unlock higher limits, authenticate with Authorization: Bearer <YOUR_API_KEY>.

Unauthenticated Access Limits

When called without an API key, this endpoint enforces a per-minute rate limit keyed by client IP address:

  • 10 requests/minute per IP
  • Exceeding the limit returns HTTP 429 Too Many Requests with a Retry-After header
  • Authenticated requests (with API key) use your plan's limits instead

POST requests: send the email in a JSON body — { "email": "[email protected]" }

Try it out

GET/api/v1/email/validate

Parameters

Code

curl
curl -X GET "https://khaleejiapi.dev/api/v1/email/validate?email=test%40gmail.com" \
-H "Authorization: Bearer your_api_key"

Parameters

ParameterTypeRequiredDescription
emailstringRequiredEmail address to validate

Response Fields

valid, deliverabilityScore

Boolean validity and 0–100 deliverability confidence score

checks

Individual check results: syntax, disposable, mx, role, freeProvider, autoGenerated, plusAddressing, spf, dmarc

domain, localPart, mailProvider

Parsed email components and detected mail provider (Google, Microsoft, etc.)

mx

MX record data with records array and count

suggestion

Typo correction suggestion when a likely misspelling is detected (e.g. gmial.com → gmail.com)

Rate Limits

PlanRequests/MonthRate Limit
Unauthenticated (no API key)10 req/min / IP
Free1,00010 req/min
Starter10,00060 req/min
Professional100,000300 req/min
Business500,0001,000 req/min

Debugging & Support

Include X-Request-ID when contacting support

Every response from KhaleejiAPI includes an X-Request-ID header — a unique identifier that lets our support team pull the exact log entry for your request within seconds. Always share it when reporting an unexpected error or unexpected result.

How to capture it

JavaScript / fetch

const res = await fetch("https://khaleejiapi.dev/api/v1/...", {
  headers: { Authorization: "******" },
});
const requestId = res.headers.get("x-request-id");
console.log("Request ID:", requestId);
// → e.g. "req_01j9xkz4vp8..."

cURL

curl -si "https://khaleejiapi.dev/api/v1/..." \
  -H "Authorization: ******" | grep -i x-request-id
# → x-request-id: req_01j9xkz4vp8...

Browser DevTools

Open DevTools (F12) → Network tab → click the failing request → scroll to the Response Headers section → copy the value next to x-request-id.

For a full list of error codes and guidance on common issues, see the Troubleshooting guide.