Regex alone won't save you. test@test.com passes regex but has no mail server.
Why regex is not enough
You need 3 checks:
- Syntax (regex)
- MX record — does the domain actually receive mail?
- Disposable detection — one-time inbox like mailinator?
Email Validator Pro API
import requests
r = requests.post(
"https://emailvalidatorpro.p.rapidapi.com/validate",
json={"email": "user@gmail.com"},
headers={"X-RapidAPI-Key": "YOUR_KEY", "Content-Type": "application/json"}
)
print(r.json())
Response:
{
"email": "user@gmail.com",
"is_valid": true,
"syntax_valid": true,
"mx_valid": true,
"is_disposable": false,
"quality_score": 100,
"reason": "ok"
}
Disposable email example
{
"email": "temp@mailinator.com",
"is_valid": false,
"is_disposable": true,
"quality_score": 10,
"reason": "disposable_email"
}
JavaScript example
const res = await fetch("https://emailvalidatorpro.p.rapidapi.com/validate", {
method: "POST",
headers: { "X-RapidAPI-Key": "YOUR_KEY", "Content-Type": "application/json" },
body: JSON.stringify({ email: "user@example.com" })
});
const result = await res.json();
if (!result.is_valid) showError(result.reason);
Quality score
| Score | Meaning |
|---|---|
| 90-100 | Major provider (Gmail, Outlook) |
| 70-89 | Valid, not disposable |
| 0-39 | Invalid or disposable |
Use cases
- Block throwaway emails at signup
- Clean email lists before campaigns
- Score lead quality automatically
- Reduce bounce rate
Pricing
| Plan | Price | Requests |
|---|---|---|
| BASIC | Free | 50/hr |
| PRO | $9.99/mo | 1,000/hr |
| ULTRA | $29.99/mo | 10,000/hr |
Email Validator Pro on RapidAPI — free tier, no credit card.
Top comments (0)