Email Address Validator - Bulk MX, Disposable & Role Detection
Pricing
from $4.99 / 1,000 results
Email Address Validator - Bulk MX, Disposable & Role Detection
π§ Verify email addresses at scale with Bulk MX + disposable & role detection. Reduce bounces, protect deliverability, and clean your lists fast. Ideal for marketing, CRM, and onboardingβsmart validation, fewer wasted sends! π
Pricing
from $4.99 / 1,000 results
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
π§ Email Address Validator β Bulk MX, Disposable & Role Detection
A blazing-fast, production-grade email validation actor that scores any list of email addresses and tells you which ones are worth keeping. Built for marketers, sales teams, fraud-prevention engineers, and anyone who needs to clean a contact list before it costs real money.
β‘ Why choose this Actor?
- π Built for bulk β async DNS lookups, in-memory de-duplication and caching, configurable concurrency up to 50.
- π§ 4 independent checks β syntax, MX records, disposable domains, role-based addresses β each weighted into a single risk score.
- π« 5,400+ disposable domains tracked out of the box (Mailinator, 10MinuteMail, Guerrilla Mail and friends).
- π₯ Role-based detection with fuzzy matching β catches
info+sales@,support.team@,noreply2@, etc. - π Smart proxy fallback β starts direct, escalates to datacenter, then sticks with residential if a network keeps blocking.
- πΎ Live saving β every result is pushed to the dataset as soon as it's validated. A crash never wipes finished work.
- π Six dataset views β Overview, Syntax, Mail Server, Disposable, Role-Based, and Full Details for quick filtering.
β¨ Key features
- β Bulk input (paste hundreds of addresses)
- β Live, friendly progress logs with per-email decisions
- β
Output filtering (
accept,review,reject,all) - β Configurable timeout, concurrency, and fail-fast behavior
- β Per-section dataset views for easy slicing in the Apify Console
- β
Summary blob saved to the key-value store (
OUTPUT) - β Works with the standard Apify proxy or zero-proxy direct DNS
π₯ Input
{"emails":["raisulislam998@gmail.com","info@example.com","user@mailinator.com"],"checkMX":true,"checkDisposable":true,"checkRoleBased":true,"failFast":true,"timeout":5000,"concurrency":25,"outputFilter":"all","proxyConfiguration":{"useApifyProxy":false}}
| Field | Type | Default | What it does |
|---|---|---|---|
emails | array | β | Email addresses to validate. Required. |
checkMX | boolean | true | Verify the domain has a working mail server. |
checkDisposable | boolean | true | Flag throw-away email providers. |
checkRoleBased | boolean | true | Flag generic mailboxes (info@, support@, β¦). |
failFast | boolean | true | Skip MX lookup when earlier checks already fail. |
timeout | integer | 5000 | DNS lookup timeout in milliseconds. |
concurrency | integer | 25 | Number of parallel validations (1β50). |
outputFilter | string | all | Restrict dataset to accept / review / reject. |
proxyConfiguration | object | direct | Optional Apify proxy config used only when direct DNS is blocked. |
π€ Output (dataset row)
{"email":"raisulislam998@gmail.com","valid":true,"score":1.0,"risk":"LOW","recommendation":"ACCEPT","processingTimeMs":76.87,"domain":"gmail.com","localPart":"raisulislam998","normalizedEmail":"raisulislam998@gmail.com","syntaxValid":true,"syntaxMessage":"Valid email syntax","mxValid":true,"mxMessage":"5 MX records found","mxRecords":["alt1.gmail-smtp-in.l.google.com","alt2.gmail-smtp-in.l.google.com","alt3.gmail-smtp-in.l.google.com","alt4.gmail-smtp-in.l.google.com","gmail-smtp-in.l.google.com"],"disposableValid":true,"disposableMessage":"Not a disposable email","roleBasedValid":true,"roleBasedMessage":"Not a role-based email","validation":{"syntax":true,"domain":true,"mailServer":true,"disposable":true,"roleBased":true},"fullDetails":{"syntax":{"valid":true,"message":"Valid email syntax","normalized":"raisulislam998@gmail.com","local":"raisulislam998","domain":"gmail.com"},"domain":{"valid":true,"message":"Domain is not reserved"},"mxRecords":{"valid":true,"message":"5 MX records found","records":["β¦"]},"disposable":{"valid":true,"message":"Not a disposable email"},"roleBased":{"valid":true,"message":"Not a role-based email"}}}
The same fields appear in the dataset views (Overview, Syntax, Mail Server, Disposable, Role-Based, Full Details), so you can slice the results without writing transformations.
Risk scoring
| Score | Risk | Recommendation |
|---|---|---|
| β₯ 0.80 | π’ LOW | β ACCEPT |
| 0.50 β 0.79 | π‘ MEDIUM | β οΈ REVIEW |
| < 0.50 | π΄ HIGH | β REJECT |
π How to use the Actor
- Open Apify Console β Actors.
- Find Email Address Validator and click it.
- Paste your addresses into the π§ Email Addresses field.
- Tweak the toggles and concurrency to match your batch size.
- Click βΆοΈ Start and watch the progress log paint your results in real time.
- Open the Storage β Dataset tab β pick a view (Overview, Mail Server, β¦) and export as JSON / CSV / Excel.
- The full summary blob (counts, timing, proxy mix) is stored as
OUTPUTin the key-value store.
π‘ Best use cases
- Cleaning newsletter / CRM / outbound lists before sending campaigns
- Real-time signup validation (server side, behind your own API)
- Lead quality scoring in sales pipelines
- Fraud / abuse triage β auto-rejecting disposable-only signups
- Pre-flight checks before any costly downstream enrichment
β Frequently asked questions
Does this verify the inbox actually exists? No β verifying delivery requires sending real SMTP traffic, which is rate-limited and detectable. This actor checks everything you can confirm without contacting the destination, which catches the vast majority of bad addresses.
Why is info@example.com flagged?
info@ is a role-based mailbox and example.com is a reserved test domain β that combination is rejected by design.
What about Gmail aliases like john+sale@gmail.com?
Syntax is valid, the local part doesn't match a role prefix, and Gmail has working MX records β so the address scores fine.
Can I run this on millions of addresses?
Yes. The default 25-way concurrency comfortably hits a few thousand validations per minute. Increase memory and concurrency for higher throughput; the actor caches DNS results per domain so duplicates are essentially free.
What happens if my network gets blocked? The actor escalates: direct β datacenter proxy β residential proxy (sticky, 3 retries). Each escalation is logged so you can see exactly when the switch happened.
π Support and feedback
Found a bug or want a new feature? Open a run with the failing input and share the run ID. Issue reports and feature requests are welcome via the Apify Console messaging.
β οΈ Legal & ethical notes
- Validate only addresses you have a lawful basis to process (consent, contract, legitimate interest).
- Respect applicable laws (GDPR, CAN-SPAM, CASL, β¦).
- This actor does not contact the mail server during validation β it relies purely on DNS and pattern checks.
