Email List Verifier
Pricing
$500.00 / 1,000 completed verifications
Email List Verifier
Verify a list of email addresses without sending mail. Combines syntax checks, MX lookup over DNS-over-HTTPS, disposable and role-account detection, and an optional live SMTP mailbox probe into a per-address verdict: valid, invalid, risky, or unknown. Charged only on completion.
Pricing
$500.00 / 1,000 completed verifications
Rating
0.0
(0)
Developer
Chris Arsenault
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Clean an email list before you send to it, without sending a single message. Give the Actor up to 100 addresses and it returns a per-address verdict built from four independent signals: syntax, a working MX host, disposable and role-account detection, and an optional live SMTP mailbox probe. No mail is ever sent.
What it checks
- Syntax: each address is validated against a practical RFC-style pattern.
- MX lookup: the domain is resolved over DNS-over-HTTPS (Cloudflare, then Google as a fallback). A domain with no MX host cannot receive mail, so the address is marked invalid.
- Disposable providers: the domain is matched against an embedded set of temporary-mailbox services (mailinator, guerrillamail, yopmail, sharklasers, temp-mail, and more).
- Role accounts: local-parts like
info@,admin@,support@,sales@,noreply@,billing@, andpostmaster@are flagged, since they usually address a function rather than a person. - Live SMTP probe (optional, on by default): the Actor connects to the domain's highest-priority mail server on port 25 and runs
EHLO,MAIL FROM, andRCPT TOto read whether the mailbox is accepted. It stops beforeDATA, so no message is delivered. It also probes a random address at the same domain to detect catch-all servers that accept everything.
Verdicts
Each address gets one of four verdicts:
- valid — syntax and MX are good and the mailbox was accepted by the mail server.
- invalid — bad syntax, no MX host, or the mailbox was rejected.
- risky — deliverable but flagged: a disposable domain, a role account, or a catch-all domain where the specific mailbox cannot be confirmed.
- unknown — the mailbox could not be determined, for example because the SMTP probe was off, the server greylisted the request, or outbound port 25 was blocked.
Output
A summary row followed by one row per address:
{"row_type": "summary","total": 3,"valid": 1,"invalid": 1,"risky": 1,"unknown": 0,"disposable_count": 0,"role_count": 1}
{"row_type": "email","email": "info@apify.com","verdict": "risky","syntax_ok": true,"has_mx": true,"smtp_status": "deliverable","is_disposable": false,"is_role": true,"is_catch_all": false}
Use cases
- Sales list cleaning: strip dead and disposable addresses out of a prospect list before an outreach campaign.
- Signup validation: check an address at registration to catch typos and throwaway inboxes.
- Reducing bounce rate: remove addresses that will bounce, protecting your sending domain's reputation.
Honest limits
- This does not send real email. The SMTP probe stops before the
DATAphase, so no message is ever delivered. - SMTP status is best-effort. Many mail hosts and many networks block outbound port 25 or greylist unfamiliar senders. When the Actor cannot complete the conversation, the SMTP status comes back
unknownrather than a false positive or negative. If you run it from a network where port 25 is blocked, expectunknownand rely on the syntax, MX, disposable, and role signals. - Catch-all domains cannot be individually confirmed. Some domains accept mail for every address. When that is detected, the address is marked risky and
is_catch_allis set, because the specific mailbox cannot be proven to exist. - Signals, not guarantees. A
validverdict means the checks passed at probe time; mailboxes can still be disabled later.
Empty runs and failed runs are not charged; billing is per completed batch verification.
Built by 1450 Enterprises. Pure Python standard library, no third-party lookups beyond public DNS-over-HTTPS.