Email Validator: Syntax, MX, Disposable and Role Check
Pricing
$0.50 / 1,000 email checkeds
Email Validator: Syntax, MX, Disposable and Role Check
Bulk email list cleaning without sending mail. Checks syntax, whether the domain exists and accepts email (MX and null MX), disposable providers, role accounts and free webmail, and suggests fixes for typos like gmial.com. $0.50 per 1,000.
Pricing
$0.50 / 1,000 email checkeds
Rating
0.0
(0)
Developer
Hay Equipos
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Clean an email list before you send to it. For every address this actor checks the syntax, whether the domain exists, whether the domain accepts email (MX and null MX records), whether the provider is disposable, whether the address is a shared role inbox such as info@ or sales@, and whether it is free webmail. It also suggests a fix for common typos, so someone@gmial.com comes back with someone@gmail.com.
It never sends an email and never connects to anyone's mail server, so it is fast, cheap and safe for your sending reputation.
Price: $0.50 per 1,000 emails. Rows the actor could not check (a DNS timeout) are free.
What you get for each email
| Field | Meaning |
|---|---|
verdict | deliverable_domain, risky, invalid or unknown (see below) |
reason | One plain sentence explaining the verdict |
isValidSyntax | The address is well formed |
domainExists | The domain is registered and resolves |
hasMx, mxRecords | The domain publishes mail servers, and which ones |
mailProvider | Who runs the mailbox: Google Workspace, Microsoft 365, Proton, Zoho and others |
isNullMx | The domain says outright that it accepts no email |
isDisposable | A throwaway provider such as Mailinator (list of about 9,000 domains) |
isRoleAccount | A shared inbox: info, sales, support, admin, noreply and about 90 more |
isFreeProvider | Free webmail such as Gmail, Yahoo, Outlook, GMX |
suggestedEmail | Corrected address when the domain looks like a typo |
spfRecord, dmarcPolicy | Optional, the domain's SPF record and DMARC policy |
Verdicts
deliverable_domain: valid syntax, the domain exists and accepts email, not disposable, not a role inbox.risky: the domain works but the address is disposable, a role inbox, has no MX record (mail falls back to the A record), or the domain's name servers fail.invalid: bad syntax, the domain does not exist, or it publishes a null MX.unknown: the DNS lookup timed out. Free of charge; run it again.
Input
{"emails": ["hello@apify.com", "someone@gmial.com", "test@mailinator.com", "not-an-email"],"checkDns": true,"checkSpfDmarc": false}
You can also paste a whole column from a spreadsheet into emailsText; commas, semicolons and new lines all work. Duplicates are skipped (turn off dedupe to keep them).
Output example
{"input": "someone@gmial.com","email": "someone@gmial.com","verdict": "risky","reason": "Disposable or temporary email provider","isValidSyntax": true,"domain": "gmial.com","domainExists": true,"hasMx": false,"isDisposable": true,"isRoleAccount": false,"isFreeProvider": false,"suggestedEmail": "someone@gmail.com"}
{"input": "jane@proton.me","verdict": "deliverable_domain","reason": "Valid syntax and the domain accepts email","domainExists": true,"hasMx": true,"mxRecords": ["10 mail.protonmail.ch", "20 mailsec.protonmail.ch"],"mailProvider": "Proton","isFreeProvider": true}
A run summary (counts per verdict) is saved in the key value store as SUMMARY.
Pricing
Pay per event: $0.0005 per email checked ($0.50 per 1,000). No start fee and no platform usage on top. Rows with verdict unknown are not charged. SPF and DMARC come at no extra cost. You can cap the spend of any run with the maximum charge setting in Apify.
Limits, stated plainly
- No mailbox probing. This actor does not connect to mail servers to ask whether a specific mailbox exists (SMTP verification). That means it cannot tell you that
jane@company.comexists whilejnae@company.comdoes not. What it removes is everything that is certain to fail or likely to hurt you: broken syntax, dead domains, domains without mail, disposable and role addresses, and typos. For many lists that is most of the bounces, at a fraction of the price of SMTP verifiers. - Catch all domains are not detected (that also needs SMTP).
- Up to 100,000 addresses per run. About 1,000 addresses a minute; lists with many repeated domains go faster because each domain is looked up once.
- Disposable domain list is a snapshot of the public domain blocklist maintained on GitHub (CC0), updated with each actor release.
FAQ
Why is it so much cheaper than other email verifiers? It does DNS lookups only. No mail server connections, no proxy networks. Use it as a first pass, and send only the deliverable_domain rows to an SMTP verifier if you need mailbox level certainty.
Does it send anything to the people on my list? No. Nothing is sent to any address, and no mail server is contacted.
What do you do with my list? The addresses stay in your own Apify storage. The actor only looks up the domain part in public DNS.
Can I use it from an AI agent or an API? Yes. Give it an emails array and read the dataset. Every row has the same fields, and verdict plus reason are written to be read by a program or a person.
Is a role account bad? Not always. info@ and sales@ are real inboxes, but they are shared, often filtered, and many email platforms penalize bulk sends to them. The actor marks them risky so you can decide.