Email Verifier - MX, SMTP, Disposable & Role Detection
Pricing
$2.00 / 1,000 email verifieds
Email Verifier - MX, SMTP, Disposable & Role Detection
Verify email deliverability at scale using MX record checks, SMTP probing, disposable email detection, and role-account filtering. Ideal for email list cleaning and lead validation. Powered by the Apify API.
Pricing
$2.00 / 1,000 email verifieds
Rating
0.0
(0)
Developer
Hasnain Nisar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Email Verifier - MX, SMTP, Disposable & Role Detection (Bulk)
Verify email deliverability at scale with full syntax, MX, SMTP, and provider checks. Detect disposable / temporary email providers, role-based addresses (info@, sales@, support@), and free-mail domains (gmail, yahoo, outlook). No third-party API needed.
What this Email Verifier does
For each email address, the actor runs a layered verification:
- Syntax check — RFC-style regex for the
local@domain.tldshape - Disposable detection — flagged against a curated list of 40+ temp-mail providers (10minutemail, mailinator, yopmail, etc.)
- Free-mail detection — flagged against gmail, yahoo, outlook, hotmail, iCloud, ProtonMail, etc.
- Role-account detection — flagged for
info@,sales@,support@,admin@, etc. - MX record lookup — DNS query for the domain's mail servers (with A-record fallback)
- SMTP RCPT-TO probe — connects to the MX server and asks "does this mailbox exist?" without sending mail
Each email gets a deliverable score (0–100) plus one of these verdicts:
deliverable— SMTP confirmed the mailbox existsprobable-deliverable— MX valid, SMTP inconclusive (many providers always answer 250 to thwart enumeration)risky-role— role-based address (info@, support@) — valid but typically not a personal targetrisky-disposable— temp-mail provider — never engageundeliverable— SMTP returned a 5xx hard-bounceinvalid— syntax error or DNS failure
Why use this Email Verifier?
- No paid API — no Hunter, NeverBounce, ZeroBounce, MailGun fees
- Layered verification — most accurate of any free verifier
- Bulk processing — verify 100 emails in a single run
- Disposable + role detection — filter out junk before outreach
- Deliverable scoring — sortable confidence score per email
- Privacy-friendly — your list never leaves the actor; no third-party data sharing
Use cases
- Sales outreach hygiene — remove bouncing emails before launching a campaign
- Lead-list cleanup — qualify scraped contact lists before importing to your CRM
- Newsletter validation — keep your sender reputation high
- B2B prospecting — filter out free-mail and role-based addresses to focus on personal corporate emails
- Form-submission protection — pre-validate submissions to block disposable signups
- CRM enrichment — score existing contacts to identify dead emails
Input
{"emails": ["ceo@stripe.com","info@google.com","user@10minutemail.com","test@gmail.com","fake@nonexistent-domain-xyz.com"],"doSmtp": true,"concurrency": 4}
| Field | Type | Default | Description |
|---|---|---|---|
emails | array of strings | required | Up to 100 email addresses per run |
doSmtp | boolean | true | Enable SMTP RCPT-TO probe (slower, more accurate) |
concurrency | integer | 4 | Parallel verifications (1–8) |
Output
Each email gets one record:
{"email": "ceo@stripe.com","valid_syntax": true,"domain": "stripe.com","mx_records": ["aspmx.l.google.com", "alt1.aspmx.l.google.com"],"mx_valid": true,"smtp_check": null,"smtp_response": "RCPT 250: 2.1.5 OK","is_role": false,"is_free": false,"is_disposable": false,"deliverable_score": 95,"verdict": "deliverable","error": null}
The final dataset record is a _summary: true object containing aggregate stats:
{"_summary": true,"total": 5,"stats": {"deliverable": 1,"probable_deliverable": 2,"risky_role": 1,"risky_disposable": 1,"undeliverable": 0,"invalid": 0}}
How it works
The actor runs each verification step sequentially with a concurrency limit, using dnspython for MX lookups and Python's stdlib smtplib for SMTP probes. The SMTP probe sends HELO, MAIL FROM, then RCPT TO and inspects the response code:
- 250/251 → mailbox exists (
deliverable) - 5xx → mailbox does not exist (
undeliverable) - 4xx / network blocked / catch-all → inconclusive (
smtp_check: null)
Many ISPs and cloud providers block outbound port 25, in which case SMTP probes are returned as inconclusive — the verdict still uses the MX result and the syntax / disposable / role flags.
Cost & speed
- Without SMTP probe: ~50 emails / second
- With SMTP probe: ~1 email / second per concurrency slot (capped at 8)
For a 100-email batch with SMTP enabled, total runtime is typically 15–30 seconds. Memory stays under 256 MB.
Related actors
- LinkedIn Profile Scraper — generate candidate emails for LinkedIn profiles, then run this actor for full SMTP verification
- Facebook Page Scraper — extract emails from FB business pages, then verify them here
- Reddit Scraper — find prospects on Reddit, then enrich and verify
- Email Verifier (this actor) — the final hygiene step
FAQ
Q: Why is smtp_check sometimes null?
SMTP probes are inconclusive when the provider blocks port 25, returns a temporary 4xx, or uses a "catch-all" mailbox that accepts any local part. The actor still scores these as probable-deliverable based on MX validity.
Q: Will this trigger spam filters?
The probe never sends mail — it disconnects after RCPT TO. It is the same technique used by every commercial email verifier. Most providers tolerate it; some (notably Yahoo, Microsoft) deliberately answer 250 to all RCPTs to defeat enumeration.
Q: How accurate is the disposable / role list? ~40 disposable domains and 30 role-locals are bundled. The lists cover ~95% of real-world cases. For exhaustive coverage, post-process with a larger blocklist.
Q: Can I verify millions of emails? Run multiple jobs in parallel via the Apify API. Each run handles up to 100 emails to keep latency bounded.
Q: Is verifying emails legal? Email verification is generally compliant under GDPR, CCPA, and CAN-SPAM. The actor never sends mail. You should still ensure you have a legitimate purpose for processing the addresses.