Email Validation API

Real-time email validation and verification. Check syntax, MX records, detect disposable emails, and verify email ownership with Magic Link or OTP.

Features

✅ Email Validation

Comprehensive validation including syntax, domain, MX records, and disposable email detection.

  • • RFC 5322 compliant syntax
  • • Domain validation
  • • MX record lookup
  • • Disposable email detection

🔐 Email Verification

Verify email ownership with Magic Link or OTP code methods.

  • • Magic Link verification
  • • OTP code verification
  • • Webhook callbacks
  • • Custom expiry times

⚡ Smart Features

Risk scoring, typo detection, and role-based email identification.

  • • Risk score calculation
  • • Common typo suggestions
  • • Role-based detection
  • • Email provider info

Quick Start

1. Create API Key

curl -X POST https://email-validation.maru-api.workers.dev/api/keys/create \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com", "name": "My App", "plan": "free"}'

// Response
{
  "success": true,
  "api_key": "apikey_abc123...",
  "plan": "free",
  "limits": {
    "requestsPerMonth": 1000,
    "requestsPerMinute": 10
  }
}

2. Validate Email

curl -X POST https://email-validation.maru-api.workers.dev/api/validate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: apikey_abc123..." \
  -d '{"email": "user@example.com"}'

// Response
{
  "valid": true,
  "email": "user@example.com",
  "risk_score": 0,
  "quality": "excellent"
}

3. Send Verification (Magic Link)

curl -X POST https://email-validation.maru-api.workers.dev/api/verify/send \
  -H "Content-Type: application/json" \
  -H "X-API-Key: apikey_abc123..." \
  -d '{
    "email": "user@example.com",
    "method": "magic_link",
    "callback_url": "https://yourapp.com/webhook"
  }'

// Response
{
  "success": true,
  "verification_id": 123,
  "message": "인증 이메일이 발송되었습니다"
}

JavaScript Example

const API_KEY = 'apikey_abc123...';
const API_URL = 'https://email-validation.maru-api.workers.dev';

async function validateEmail(email) {
  const response = await fetch(`${API_URL}/api/validate`, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-API-Key': API_KEY
    },
    body: JSON.stringify({ email })
  });
  
  return await response.json();
}

const result = await validateEmail('test@gmail.com');
console.log(result.valid); // true

Pricing Plans

Free

$0/month
  • 1,000 requests/month
  • 10 requests/minute
  • Basic validation
  • SMTP verification
  • Email verification
Get Started
POPULAR

Pro

$29/month
  • 50,000 requests/month
  • 100 requests/minute
  • All validation features
  • SMTP verification
  • Email verification
Start Free Trial

Enterprise

Custom
  • Unlimited requests
  • 1,000 requests/minute
  • All features
  • Priority support
  • Custom SLA
Contact Sales

API Reference

POST /api/validate

Comprehensive email validation with MX lookup and risk scoring.

Request Headers

Header Value
X-API-Key Your API key

Request Body

Field Type Description
email string Email address to validate
POST /api/verify/send

Send email verification via Magic Link or OTP.

Request Body

Field Type Description
email string Email address to verify
method string "magic_link", "otp", or "both"
callback_url string Optional. Webhook URL for verification events

Start validating emails today

1,000 free validations per month. No credit card required.

Get Your API Key