Skip to main content
SaaS|Product Engineer / Growth Engineer

Email Address Validation & Risk Scoring

Validate email addresses at signup to reduce fraud, bounce rates, and fake accounts

Invalid and disposable email addresses cost businesses through fake signups, high bounce rates, and fraud. EdgeDNS validates email addresses at the DNS level — checking MX records, mail server health, domain age, and email authentication — to score risk before accounts are created.

The Challenge

Fake and disposable email signups inflict hidden costs: inflated user counts that mislead product metrics, high bounce rates that damage sender reputation, fraud from throwaway accounts, and wasted onboarding resources. Simple regex validation catches format errors but misses disposable domains, domains with no mail servers, and recently registered domains used for fraud.

The Solution

Use EdgeDNS email validation to perform deep DNS-level checks at the point of signup. Verify the domain has valid MX records, check mail server health and reachability, assess domain age and trust score, and validate email authentication setup — all in a single API call or composable pipeline.

Endpoints Used

Combine these EdgeDNS endpoints to build this solution.

GET
/v1/email/validateTry in Playground

Email Validate: Comprehensive email validation with DNS checks and risk scoring

GET

MX Records: Verify mail servers exist and identify the email provider

GET
/v1/dns/mx-healthTry in Playground

MX Health: Check mail server connectivity and redundancy

GET
/v1/score/emailTry in Playground

Email Score: Get overall email domain security grade (A-F)

GET
/v1/domain/whoisTry in Playground

WHOIS Lookup: Check domain age to flag newly registered throwaway domains

Results You Can Achieve

Catch fraudulent signups before they enter your pipeline

Block disposable and invalid email domains before account creation

Protect sender reputation

Prevent hard bounces by validating mail server existence at signup

Reduce signup fraud

Flag accounts using recently registered or low-trust domains

Code Example

Email validation at signup

javascript
async function validateSignupEmail(email) {
  const domain = email.split('@')[1];

  // Primary validation via email validate endpoint
  const validation = await fetch(
    `https://api.edgedns.dev/v1/email/validate?email=${email}`,
    { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
  ).then(r => r.json());

  // If basic validation fails, reject immediately
  if (!validation.data.is_valid) {
    return { allowed: false, reason: validation.data.reason };
  }

  // Deep check: domain age and email security
  const [whois, emailScore] = await Promise.all([
    fetch(`https://api.edgedns.dev/v1/domain/whois?domain=${domain}`),
    fetch(`https://api.edgedns.dev/v1/score/email?domain=${domain}`),
  ].map(p => p.then(r => r.json())));

  const riskFactors = [];
  if (validation.data.is_disposable) riskFactors.push('Disposable email provider');
  if (whois.data.domain_age_days < 30) riskFactors.push('Domain registered < 30 days ago');
  if (validation.data.is_free_provider) riskFactors.push('Free email provider');

  const gradeRank = { 'A': 1, 'B': 2, 'C': 3, 'D': 4, 'F': 5 };
  if (gradeRank[emailScore.data.grade] > gradeRank['C']) {
    riskFactors.push('Poor email authentication');
  }

  return {
    allowed: riskFactors.length < 2,
    email,
    riskFactors,
    riskLevel: riskFactors.length === 0 ? 'low' : riskFactors.length < 2 ? 'medium' : 'high'
  };
}

Learn More

Explore industry standards and best practices related to this use case.

Ready to build Email Address Validation & Risk Scoring?

Get started with 200 free API requests per month. No credit card required.

Other Use Cases