Email Address Validator avatar

Email Address Validator

Pricing

from $5.99 / 1,000 results

Go to Apify Store
Email Address Validator

Email Address Validator

Pricing

from $5.99 / 1,000 results

Rating

0.0

(0)

Developer

Scrapier

Scrapier

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 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
emailsarrayโ€”Email 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.