Fast, reliable SMTP-based email verification. Catch-all detection, disposable email blocking, and role account identification. No per-query markup.
Built for developers who want reliable email verification without enterprise complexity.
Real mailbox validation via direct SMTP connections. Not just MX records - we actually check if the mailbox exists.
Identify domains that accept all emails. Catch-all leads hurt sender reputation and deliverability.
Block 80+ disposable email providers. Mailinator, Guerrilla Mail, 10MinuteMail, Tempmail, and more.
Flag info@, admin@, support@, sales@, hello@ addresses. Generic accounts, not individuals.
Identify Gmail, Yahoo, Hotmail, Outlook, iCloud. For B2B, free emails may not be ideal.
Detect known spam traps and honeypot emails. Only CleanMail and DeBounce have this feature.
Check when domain was registered via RDAP. Very new domains (< 30 days) are higher risk.
Check if email appeared in data breaches using HaveIBeenPwned (k-anonymity, privacy-safe).
Combined risk score based on all signals. Low (< 40), Medium (40-75), High (> 75).
Get notified when batch processing completes. Real-time updates for your application.
Fast mode without catchall checking. Ideal for high-volume real-time validation.
Verify up to 100 emails at once with detailed summary stats. Webhook support included.
Find person name, job title, LinkedIn, company info using AI + web search. 500 enrichments/mo on Pro.
No hidden fees. No credit card required for free tier.
100 verifications/day
5,000 verifications/mo
20,000 verifications/mo
100,000 verifications/mo
One request away from cleaner email lists.
VERIFY A SINGLE EMAIL
curl -X POST https://cleanmailhq.site/api/verify \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{"email": "user@example.com"}'
BATCH VERIFICATION (UP TO 100)
curl -X POST https://cleanmailhq.site/api/verify/batch \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{"emails": ["a@example.com", "b@example.com", "c@example.com"]}'
SAMPLE RESPONSE
{
"success": true,
"email": "user@example.com",
"deliverable": true,
"reason": "valid",
"details": "Email exists on mx.example.com",
"mxRecord": "mx.example.com",
"responseCode": 250
}