Skip to main content

Email Validation

developer
GET/v1/email/validate

Performs 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

Product Engineer

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.

Marketing Ops

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 Marketer

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.

Security Engineer

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

NameTypeRequiredDescription
emailstringRequiredThe email address to validateExample: user@example.com

Response Fields

FieldTypeDescription
emailstringThe queried email address
is_valid_syntaxbooleanWhether email syntax is valid per RFC 5322
domain_existsbooleanWhether the email domain exists (via MX or A record fallback per RFC 5321 §5.1)
mx_foundbooleanWhether MX records exist for the domain
mx_recordsarrayMX record hostnames for the email domain
is_disposablebooleanWhether domain is a known disposable email provider (110K+ domain database)
is_role_addressbooleanWhether local part is a role/generic address (info@, admin@, noreply@, etc.)
is_free_providerbooleanWhether domain is a free email provider (Gmail, Yahoo, Outlook, ProtonMail, etc.)
has_spfbooleanWhether domain has an SPF record (required by Google/Yahoo/Microsoft for bulk senders)
has_dmarcbooleanWhether domain has a DMARC record (required by Google/Yahoo/Microsoft for bulk senders)
domain_age_daysnumberDomain age in days (from WHOIS cache). Domains <7 days old are high risk.
risk_scorenumberRisk score 0-100. Higher score = higher risk.
risk_levelstringRisk level: low (0-20), medium (21-50), high (51-75), critical (76-100).

Code Examples

cURL
curl "https://api.edgedns.dev/v1/email/validate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d "email=user@example.com"
JavaScript
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);
Python
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.