Email Validation
developer/v1/email/validatePerforms comprehensive DNS-level email validation including RFC 5322 syntax verification, MX record checks, disposable domain detection (110K+ domains), role address identification, free provider classification, and composite risk scoring. Returns actionable intelligence without SMTP-level verification — avoiding port 25 blocks, greylisting, and rate limiting that plague SMTP probing approaches.
What It Does
Validates email syntax against RFC 5322, verifies MX record existence via Cloudflare DoH, queries a 110K+ disposable domain database (partitioned by first letter for sub-millisecond lookups), detects 35+ role/generic address prefixes (info@, admin@, noreply@, etc.), identifies 25+ free email providers (Gmail, Yahoo, Outlook, ProtonMail, etc.), checks SPF and DMARC record presence, evaluates domain age from WHOIS cache, and calculates a weighted composite risk score (0-100) with categorized risk levels (low/medium/high/critical).
Why It's Useful
Email validation at the DNS level catches invalid, disposable, and high-risk addresses without the deliverability issues of SMTP verification. Essential for protecting signup forms from fake accounts, improving lead quality for sales teams, maintaining sender reputation by reducing bounce rates, and meeting Google/Yahoo/Microsoft bulk sender authentication requirements (2024-2025). Unlike SMTP VRFY (disabled by most servers) or RCPT TO probing (rate-limited and unreliable), DNS-level validation provides consistent, fast results at scale.
Use Cases
Signup Form Validation
Validate email addresses at registration to reject disposable and invalid emails before creating accounts. Block throwaway addresses from services like Guerrilla Mail, Mailinator, and 110K+ known disposable domains.
Reduce fake signups by 60-80% and improve user quality metrics without friction for legitimate users.
Lead Quality Scoring
Score inbound leads based on email risk — flag disposable domains, role addresses (info@, sales@), and free providers to prioritize sales outreach on valid business emails with custom domains.
Focus sales effort on high-quality leads. Business email addresses convert 3-5x higher than free provider addresses.
Email List Hygiene
Clean email lists before campaigns to remove disposable, role, and invalid addresses. Identify domains without MX records that will hard-bounce.
Improve deliverability and sender reputation. Keep bounce rates below the 2% threshold that triggers ESP penalties.
Fraud Prevention
Score email addresses during account creation or transaction flows. Flag high-risk signals: disposable domains, newly registered domains (<7 days), missing SPF/DMARC, and role addresses.
Reduce account fraud by identifying throwaway and suspicious email patterns before they cause damage.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
email | string | Required | The email address to validateExample: user@example.com |
Response Fields
| Field | Type | Description |
|---|---|---|
email | string | The queried email address |
is_valid_syntax | boolean | Whether email syntax is valid per RFC 5322 |
domain_exists | boolean | Whether the email domain exists (via MX or A record fallback per RFC 5321 §5.1) |
mx_found | boolean | Whether MX records exist for the domain |
mx_records | array | MX record hostnames for the email domain |
is_disposable | boolean | Whether domain is a known disposable email provider (110K+ domain database) |
is_role_address | boolean | Whether local part is a role/generic address (info@, admin@, noreply@, etc.) |
is_free_provider | boolean | Whether domain is a free email provider (Gmail, Yahoo, Outlook, ProtonMail, etc.) |
has_spf | boolean | Whether domain has an SPF record (required by Google/Yahoo/Microsoft for bulk senders) |
has_dmarc | boolean | Whether domain has a DMARC record (required by Google/Yahoo/Microsoft for bulk senders) |
domain_age_days | number | Domain age in days (from WHOIS cache). Domains <7 days old are high risk. |
risk_score | number | Risk score 0-100. Higher score = higher risk. |
risk_level | string | Risk level: low (0-20), medium (21-50), high (51-75), critical (76-100). |
Code Examples
curl "https://api.edgedns.dev/v1/email/validate" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d "email=user@example.com"const response = await fetch(
'https://api.edgedns.dev/v1/email/validate?email=user%40example.com',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
console.log(data);import requests
response = requests.get(
'https://api.edgedns.dev/v1/email/validate',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
params={
'email': 'user@example.com'
}
)
data = response.json()
print(data)Read the full Email Validation guide
Why it matters, real-world use cases, parameters, response fields, and how to call it from Claude, ChatGPT, or Gemini via MCP.
Read the guide →Related Endpoints
External References
Learn more about the standards and protocols behind this endpoint.
Try This Endpoint
Test the Email Validation endpoint live in the playground.