Email Address Validator
Pricing
from $4.99 / 1,000 results
Email Address Validator
π§ Validate bulk emails with MX checks, disposable & role detection for clean, deliverable lists. β‘ Email Address Validator - Bulk MX keeps bounce rates low and improves campaign ROI. Perfect for CRM hygiene, marketing, and outreach.
Pricing
from $4.99 / 1,000 results
Rating
0.0
(0)
Developer
Scraper Engine
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 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.