Email Address Validator - Bulk MX, Disposable & Role Detection avatar

Email Address Validator - Bulk MX, Disposable & Role Detection

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Email Address Validator - Bulk MX, Disposable & Role Detection

Email Address Validator - Bulk MX, Disposable & Role Detection

📧 Email Address Validator - Bulk MX, Disposable & Role Detection checks deliverability fast! ✅ Verify syntax, MX records, spot disposable & role-based emails. Perfect for cleaning lists, reducing bounce, and boosting outreach conversions. 🚀

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

SimpleAPI

SimpleAPI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

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 }
}
FieldTypeDefaultWhat it does
emailsarrayEmail addresses to validate. Required.
checkMXbooleantrueVerify the domain has a working mail server.
checkDisposablebooleantrueFlag throw-away email providers.
checkRoleBasedbooleantrueFlag generic mailboxes (info@, support@, …).
failFastbooleantrueSkip MX lookup when earlier checks already fail.
timeoutinteger5000DNS lookup timeout in milliseconds.
concurrencyinteger25Number of parallel validations (1–50).
outputFilterstringallRestrict dataset to accept / review / reject.
proxyConfigurationobjectdirectOptional 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

ScoreRiskRecommendation
≥ 0.80🟢 LOW✅ ACCEPT
0.50 – 0.79🟡 MEDIUM⚠️ REVIEW
< 0.50🔴 HIGH❌ REJECT

🚀 How to use the Actor

  1. Open Apify Console → Actors.
  2. Find Email Address Validator and click it.
  3. Paste your addresses into the 📧 Email Addresses field.
  4. Tweak the toggles and concurrency to match your batch size.
  5. Click ▶️ Start and watch the progress log paint your results in real time.
  6. Open the Storage → Dataset tab — pick a view (Overview, Mail Server, …) and export as JSON / CSV / Excel.
  7. The full summary blob (counts, timing, proxy mix) is stored as OUTPUT in 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.

  • 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.