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')
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
scorefield (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
disposablefield 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
- Signup form email validation to prevent fake registrations
- Email list cleaning for marketing campaigns
- Typo correction — catch "gmial.com" before it enters your database
- Disposable email blocking for SaaS platforms
- Bounce rate reduction for transactional emails