Canonical version on our guides page. Disclosure: I built the API used in the examples — it has a permanent free tier.
Why form regex isn't enough
A regex can tell you jane@gmial.com looks like an email. It can't tell you:
- the domain has no MX records (mail is undeliverable),
- it's a throwaway from a disposable-mail provider,
- it's a role account (
admin@,billing@) that never converts, - the user meant
gmail.com.
Dead addresses pollute your list, tank your sender reputation, and waste onboarding emails.
One call, five checks
curl "https://email-validator109.p.rapidapi.com/validate?email=jane.doe@gmial.com" \
-H "X-RapidAPI-Key: YOUR_KEY" \
-H "X-RapidAPI-Host: email-validator109.p.rapidapi.com"
const res = await fetch(
"https://email-validator109.p.rapidapi.com/validate?email=" + encodeURIComponent(email),
{ headers: {
"X-RapidAPI-Key": "YOUR_KEY",
"X-RapidAPI-Host": "email-validator109.p.rapidapi.com",
} }
);
const v = await res.json();
The response combines syntax validation, MX-record lookup, disposable-domain detection (checked against a ~121,000-domain list), role-account detection, and a did-you-mean typo suggestion — one JSON object.
What to do with the results
- Invalid syntax / no MX → reject with a clear message.
- Disposable domain → your call: block for trials, allow for downloads.
- Typo suggestion → offer "Did you mean jane.doe@gmail.com?" — this alone recovers a surprising number of signups.
- Role account → flag for sales/marketing lists rather than blocking.
Nothing is stored server-side; each request is validated in-memory.
Try it free
In-browser checker (no signup): abundanceapis.com/tools/email-validator. The API's free tier is 1,000 validations/month.
Top comments (0)