mailboxlayer

Data API · Email validation · MX verification · Spam detection

TL;DR

mailboxlayer verifies email addresses in real-time. Check syntax validity, domain MX records, SMTP deliverability, disposable/temporary email detection, and typo suggestions (e.g., gmial.com → gmail.com). It's an essential tool for reducing bounce rates, cleaning mailing lists, and preventing fake signups.

Quick start: https://api.mailboxlayer.com/check?access_key=YOUR_KEY&email=support@apilayer.com

Free tier available — register for an API key (free plan includes 100 requests/month)

How to Use This API

1. Check Email Address

https://api.mailboxlayer.com/check?access_key=YOUR_KEY&email=test@example.com

Returns format_valid, mx_found, smtp_check, score (0-1), did_you_mean suggestions, and disposable/role account flags.

2. Validate with SMTP Check

https://api.mailboxlayer.com/check?access_key=YOUR_KEY&email=john@gmail.com&smtp=1

Enable SMTP verification (connection to mail server) for deeper validation. May take 3-10 seconds.

3. JavaScript — Signup Email Validator

async function validateEmail(email, apiKey) {
  const resp = await fetch(
    `https://api.mailboxlayer.com/check` +
    `?access_key=${apiKey}&email=${encodeURIComponent(email)}&smtp=1`
  );
  const data = await resp.json();
  
  return {
    valid: data.format_valid && data.mx_found,
    score: data.score,
    suggestion: data.did_you_mean || null,
    isDisposable: data.disposable,
    isRoleAccount: data.role,
    reason: !data.format_valid ? 'Invalid format' :
            !data.mx_found ? 'No mail server' :
            data.disposable ? 'Disposable email' : 'Valid'
  };
}

async function onSignup(email) {
  const result = await validateEmail(email, 'YOUR_API_KEY');
  if (!result.valid) {
    alert(`Invalid email: ${result.reason}`);
    if (result.suggestion) {
      alert(`Did you mean: ${result.suggestion}?`);
    }
    return false;
  }
  return true;
}

onSignup('user@gmial.com').then(console.log);

4. Python — Email List Cleaner

import requests

def check_email(email, api_key):
    resp = requests.get(
        'https://api.mailboxlayer.com/check',
        params={'access_key': api_key, 'email': email, 'smtp': 0}
    )
    return resp.json()

def clean_email_list(emails, api_key):
    valid = []
    invalid = []
    for email in emails:
        result = check_email(email, api_key)
        if result.get('format_valid') and result.get('mx_found'):
            valid.append(email)
        else:
            invalid.append(email)
    
    print(f"Valid: {len(valid)}, Invalid: {len(invalid)}")
    if invalid:
        print("Invalid emails:")
        for e in invalid[:5]:
            print(f"  {e}")

clean_email_list(['user@gmail.com', 'fake@nonexistent-domain-abc123.com'], 'YOUR_KEY')
Test email check (replace key): https://api.mailboxlayer.com/check?access_key=YOUR_KEY&email=test@example.com

Frequently Asked Questions

What checks does the API perform?
Syntax validation, domain DNS/MX record check, SMTP verification (optional), disposable email detection, role account detection (admin@, info@, support@), and typo suggestions.
How accurate is the SMTP check?
SMTP verification is highly accurate but some mail servers may block testing connections. The score field (0-1) combines all checks into a confidence score.
What is the free tier limit?
100 requests per month on the free plan. Paid plans start at higher volumes with additional features like catch-all detection.
Does it detect temporary/disposable emails?
Yes, the disposable field indicates if the email domain belongs to a disposable email provider like Mailinator, Guerrilla Mail, or 10MinuteMail.
Can I use it for GDPR compliance?
Yes, validating emails at signup helps maintain data quality. No email content is stored — only validation results are returned.

API Details

API URL
https://api.mailboxlayer.com
Documentation
mailboxlayer.com/documentation
Category
Data
Authentication
API Key Required (free tier available)
Geographic Coverage
Global

What You Can Build