Bulk Email Validator: MX, Disposable & Role Check avatar

Bulk Email Validator: MX, Disposable & Role Check

Pricing

$0.24 / 1,000 email checkeds

Go to Apify Store
Bulk Email Validator: MX, Disposable & Role Check

Bulk Email Validator: MX, Disposable & Role Check

Validate email lists in bulk: syntax, domain and MX records, disposable and role addresses, free providers, typos (gmial.com), SPF/DMARC and mail provider, each with a valid/risky/invalid verdict and a score. No SMTP pings, no API key.

Pricing

$0.24 / 1,000 email checkeds

Rating

0.0

(0)

Developer

Andres Garcia

Andres Garcia

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Bulk Email Validator: MX, Disposable, Role & Typo Check

Validate and clean email lists in bulk before you send. For every address you get a clear valid / risky / invalid / unknown verdict, a 0–100 score and the reasons behind it: syntax, domain existence and MX records, disposable / temporary email, role accounts (info@, sales@, support@), free providers (Gmail, Yahoo, Outlook…), typo detection with "did you mean" (gmial.com → gmail.com), the mail provider (Google Workspace, Microsoft 365, Proofpoint, Mimecast…) and SPF / DMARC presence.

DNS-only verification: no SMTP pings and no emails sent, so your IPs and domains are never put at risk and runs finish in seconds. No API key needed.

Why use this email verifier?

  • ✅ One clear verdict per email, ready for filtering in Excel, Google Sheets or your CRM
  • 🧹 Cuts bounces by removing non-existent domains, domains without mail servers and null-MX domains
  • 🗑️ Detects about 9,000 disposable domains (Mailinator, Guerrilla Mail, 10 Minute Mail…) from a maintained open-source blocklist, plus 14,000+ free-provider domains
  • 👥 Flags role accounts (info@, sales@, admin@, no-reply@…) that hurt cold-email deliverability
  • ✍️ Catches typos in popular providers (gmial.com, hotmial.com, yahoo.con) and suggests the fix
  • 🏢 Free vs. business email split: separate B2B prospects from personal addresses
  • 📬 Mail provider detection from MX records: know whether a company uses Google Workspace, Microsoft 365 or a security gateway
  • 🔐 SPF & DMARC checks as a domain-quality signal
  • 🔗 Chains with other actors: validate the emails in any Apify dataset (e.g. a lead scraper's output) by its ID
  • 💸 Very low price per email, deduplication included (duplicates are free), plus an "only valid" output mode where you pay only for good emails

Use cases

  • Cold email & outbound: clean lists before loading them into Instantly, Lemlist, Apollo, Smartlead or HubSpot sequences
  • Lead generation pipelines: verify emails scraped from websites, Google Maps, directories or government data (e.g. our FMCSA trucking leads)
  • Sign-up forms & CRM hygiene: find fake, disposable and mistyped addresses in your user base
  • Pre-filter for paid SMTP verifiers: remove obvious invalids first and pay less to ZeroBounce, NeverBounce or similar services

How to use it

  1. Click Try for free. The input is prefilled with sample emails that show every verdict.
  2. Paste your emails (one per line), or pick an Input dataset (e.g. a lead scraper's output) and set the Email field.
  3. Click Start and export to CSV, Excel or JSON. Filter by status.
  4. Use it from code through the Apify API, or in Zapier / Make / n8n to validate emails in real time as leads arrive.

Input example

{
"emails": ["john.smith@gmail.com", "info@acme.com", "jane@gmial.com", "test@mailinator.com"],
"checkDns": true,
"checkSpfDmarc": true,
"dedupe": true,
"onlyValid": false,
"maxItems": 10000
}

To validate another dataset: { "inputDatasetId": "abc123XYZ", "emailField": "email" }. Dot paths such as contact.email and arrays of emails are supported.

Output example

{
"email": "jane@gmial.com",
"normalizedEmail": "jane@gmial.com",
"status": "risky",
"score": 0,
"reasons": ["no_mx_uses_a_record", "disposable_domain", "possible_typo"],
"isValidSyntax": true,
"domain": "gmial.com",
"isFreeProvider": true,
"isDisposable": true,
"isRoleAccount": false,
"didYouMean": "jane@gmail.com",
"domainExists": true,
"hasMxRecords": false,
"mxRecords": [],
"mailProvider": null,
"hasSpf": false,
"hasDmarc": false
}

Verdicts

StatusMeaningTypical action
validCorrect syntax, domain exists and has mail servers, not disposable/role/typoSend
riskyDeliverable domain but disposable, role account, likely typo, or no MX (A-record fallback)Review, fix the typo, or exclude from cold email
invalidBad syntax, domain does not exist, domain refuses email (null MX) or has no mail serverRemove
unknownDNS timed outRe-run later

A run summary (valid / risky / invalid / unknown counts) is saved to the key-value store as SUMMARY.

Pricing

Pay-per-event: a fixed price per email saved, currently about $0.24 per 1,000 emails (see the Pricing tab). There is no start fee and no compute charge on top. Duplicates are removed for free, and with Output only valid emails you pay only for the good ones. Cap spend with maxItems.

FAQ

Does it confirm the mailbox exists? No. This validator does not connect to mail servers (SMTP). It checks everything that can be verified safely from DNS and public lists. That catches most hard bounces (bad domains, no MX, typos, disposables) without risking your sender reputation. Mailbox-level checks on catch-all servers are unreliable anyway.

How accurate is the disposable list? It uses the community-maintained disposable-email-domains blocklist (about 9,000 domains, the most common throwaway services), refreshed whenever the actor is rebuilt.

Is my data stored? Emails are processed only in your own Apify run and saved only in your own dataset.

Can I validate millions of emails? Yes. DNS results are cached per domain, so large lists are fast. Split very large lists into runs of a few hundred thousand.

Something wrong? Report it on the Issues tab. The actor is monitored daily.