Email Validator: Syntax, MX, Disposable & Typo Check
Pricing
from $0.50 / 1,000 email validateds
Email Validator: Syntax, MX, Disposable & Typo Check
Bulk-validate email lists without sending mail: RFC syntax, MX/null-MX DNS check, 10k+ disposable domains, role accounts, free providers, mail host (Google, Microsoft...) and typo fixes like gmial.com → gmail.com.
Pricing
from $0.50 / 1,000 email validateds
Rating
0.0
(0)
Developer
oqen
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Clean an email list before you import it into a CRM or send a campaign. The Actor checks every address without sending any email and without connecting to the recipient's mail server (no SMTP "ping"), so it can't get your IP blacklisted and it doesn't bother anyone's mail server.
What it checks
| Check | What it catches |
|---|---|
| Syntax (RFC 5321/5322 dot-atom, internationalised domains) | missing @, double dots, spaces, bad characters, labels over 63 chars, numeric TLDs, addresses over 254 chars |
| Domain & MX (DNS) | domains that don't exist, domains with no mail server, domains that publish a null MX (RFC 7505: "this domain never receives mail", e.g. example.com), and A-record fallback |
| Disposable | 10,000+ throwaway domains (mailinator, yopmail, 10minutemail, ...) from the community-maintained disposable-email-domains list |
| Typos | gmial.com, hotmial.com, yaho.com, gmail.con → returns the fixed address in didYouMean |
| Role accounts | info@, support@, sales@, noreply@ ... (flag only) |
| Free provider | Gmail, Outlook, Yahoo, iCloud, GMX, Proton and 100+ others: useful to separate B2B from B2C leads |
| Mail host | Google Workspace, Microsoft 365, Zoho, Proofpoint, Mimecast ... detected from MX records |
Status values
- valid: syntax OK and the domain accepts mail.
- risky: deliverable domain but disposable, or a likely typo. Review before sending.
- invalid: bad syntax, non-existent domain, null MX or no mail server.
reasonsays which. - unknown: DNS timed out. Not charged; just run those again.
What this Actor does not do: it does not confirm that a specific mailbox exists. That needs SMTP probing, which providers like Gmail and Microsoft deliberately block or answer with false positives, and which can get the checking IP blacklisted. If you need mailbox-level verification, use a dedicated paid verification service after this free-of-risk first pass.
Input
{ "emails": ["john.doe@gmail.com", "someone@mailinator.com", "jane@gmial.com"], "checkMx": true }
You can also paste a whole column from a spreadsheet into emailsText. Duplicates are removed (case-insensitive) unless you turn that off.
Output
{ "input": "jane@gmial.com", "email": "jane@gmial.com", "status": "risky", "reason": "possible_typo","syntaxValid": true, "localPart": "jane", "domain": "gmial.com", "disposable": false, "roleAccount": false,"freeProvider": false, "mxFound": true, "mxRecords": ["..."], "mailProvider": "Other", "didYouMean": "jane@gmail.com" }
Export as CSV, Excel or JSON from the dataset, or call it from Make, Zapier, n8n or an AI agent through the Apify API or MCP. A SUMMARY record in the key-value store has counts per status.
Speed and limits
DNS answers are cached per domain, so 10,000 addresses usually finish in well under a minute. The maxEmails cap (default 10,000, up to 100,000 per run) protects you from accidentally running a huge list.
Pricing
Pay per event: you pay per validated address (email-validated). Addresses that come back unknown (DNS timeout), duplicates you asked us to remove, and addresses skipped by maxEmails are free. The run stops cleanly when your Max cost per run is reached.
Privacy
Addresses are only used inside your run to compute the result. Only domain names are sent to DNS; nothing is stored outside your own dataset.