Email Validator & Verifier — Bulk List Cleaner, MX, Disposable avatar

Email Validator & Verifier — Bulk List Cleaner, MX, Disposable

Pricing

from $0.24 / 1,000 email address checkeds

Go to Apify Store
Email Validator & Verifier — Bulk List Cleaner, MX, Disposable

Email Validator & Verifier — Bulk List Cleaner, MX, Disposable

Clean email lists in bulk before you send: syntax, domain and MX records, disposable and temporary addresses, role accounts (info@, sales@), free providers, typo fixes (gmial.com → gmail.com) and mail provider. Lists, CSV files or your scraper's dataset. No SMTP pings.

Pricing

from $0.24 / 1,000 email address checkeds

Rating

0.0

(0)

Developer

tidydata

tidydata

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Share

✉️ Email Validator & List Cleaner — Syntax, MX, Disposable, Typos

Clean email lists in bulk before you send or import them. For every address you get a clear status (valid, risky, invalid, disposable, unknown), a 0–100 score and the reason: syntax, domain and MX records, disposable / temporary inboxes, role accounts (info@, sales@…), free providers (Gmail, Yahoo…), typo fixes (gmial.com → gmail.com) and the domain's mail provider (Google Workspace, Microsoft 365…).

Works on a pasted list, on CSV / JSON / TXT files, or directly on your scraper's dataset: every row is kept and enriched with email_status, email_score, email_isDisposable…

$0.30 per 1,000 emails — about 3× cheaper than SMTP verifiers, and ~1,000 addresses in under 5 seconds. Duplicates are free.

  • ✅ Syntax per the email standards (RFC 5322 / 6531), including international addresses
  • ✅ Domain exists and accepts email (MX records, null-MX, A-record fallback)
  • ✅ Disposable / temporary addresses — 9,900+ domains (mailinator, 10minutemail, guerrillamail…)
  • ✅ Role-based addresses — info@, sales@, support@, admin@, noreply@ … (70 common prefixes)
  • ✅ Free vs business email — Gmail, Yahoo, Outlook, iCloud, GMX, Yandex… vs company domains
  • ✅ "Did you mean…?" — typo detection for popular providers and TLDs (.con → .com)
  • ✅ Mail provider from the MX records — Google Workspace, Microsoft 365, Zoho, Proofpoint, Mimecast…
  • ✅ Finds addresses inside text (several per cell) and removes duplicates
  • ✅ Gmail canonical address (optional): j.o.h.n+promo@gmail.com → john@gmail.com
  • ✅ Private: no emails are sent and no mail server is contacted — only public DNS lookups

Who uses it

  • Lead generation — clean emails from contact / Google Maps / website scrapers before outreach or CRM import.
  • Email marketing — remove disposable, mistyped and dead-domain addresses to protect your sender reputation.
  • Sign-up and form data — flag throwaway addresses and fix typos.
  • B2B sales — separate business emails from free webmail and see which companies use Google or Microsoft.
  • Before paid SMTP verification — drop the obvious junk first and pay the expensive check only for the rest.

How to use it

A. Paste addresses in Email addresses (one per line).

B. Validate a scraper's results: pick the dataset in Or validate the emails in datasets. The email column is detected automatically (email, emails, contact.email, e-mail…) or write it in Email fields.

C. Run it automatically after your scraper: add this Actor as an integration of your scraper and set datasets to {{resource.defaultDatasetId}}.

Use Keep only these results (e.g. Valid + Risky) to get a cleaned list straight away.

Output

{
"input": "jane.doe@gmial.com",
"email": "jane.doe@gmial.com",
"status": "risky",
"score": 30,
"reason": "possible_typo_of_gmail.com",
"user": "jane.doe",
"domain": "gmial.com",
"domainExists": true,
"acceptsMail": true,
"mxRecords": [],
"mailProvider": null,
"isDisposable": true,
"isRoleBased": false,
"isFreeProvider": false,
"didYouMean": "jane.doe@gmail.com"
}
statusmeaningtypical action
validgood syntax, domain accepts email, not disposable, not a role accountkeep
riskyrole account, possible typo (see didYouMean) or domain without MX recordreview / fix
invalidbad syntax, domain doesn't exist or doesn't accept emailremove
disposabletemporary / throwaway inboxremove
unknownDNS didn't answer in timerun again

Dataset input: your original row plus <field>_email, _status, _score, _reason, _isDisposable, _isRoleBased, _isFreeProvider, _mailProvider, _didYouMean (and _all when a cell holds several addresses).

Export to CSV, Excel, JSON or push to Google Sheets, HubSpot, Make, Zapier or n8n with Apify integrations. To merge several runs and drop duplicates, use our Merge, Deduplicate & Export Datasets Actor; for phone numbers use our Phone Number Validator.

Pricing

$0.0003 per email checked ($0.30 per 1,000).

EmailsPrice
1,000$0.30
10,000$3
100,000$30

Free: duplicates, rows without an email and invalid input. Higher Apify plans get an automatic discount. Set a maximum cost per run and the Actor stops cleanly at that amount.

FAQ

Does it check that the mailbox exists (SMTP)? No, on purpose. Mailbox (SMTP) checks need to talk to each mail server from special IPs, are slow, often blocked or answered "accept all", and cost about 3× more. This Actor catches everything that can be known safely from the address and DNS — which already removes most hard bounces from scraped lists (dead domains, typos, disposable inboxes).

What's the difference between invalid and risky? invalid will bounce for sure. risky may work but deserves a look: generic role inboxes, suspected typos and domains without MX records.

Is a free-provider email bad? No — isFreeProvider is just information (useful to tell B2B from B2C). Free addresses can be valid.

How is the score calculated? 100 for a clean address; −20 for role accounts, −25 for domains without MX; typos score 30, disposable 10, invalid 0–5, unknown 50.

Is my data safe? Addresses are processed inside the Actor run in your Apify account. Only the domain is looked up in public DNS; no email is sent and no mailbox is contacted.

Something doesn't work? Open an issue in the Issues tab with an example — we answer fast.