Email Checker & Bulk Email Validator avatar

Email Checker & Bulk Email Validator

Pricing

from $0.70 / 1,000 checked emails

Go to Apify Store
Email Checker & Bulk Email Validator

Email Checker & Bulk Email Validator

Validate email lists in bulk: syntax, MX records, disposable, role and no-reply addresses, typo fixes. Clear verdict and score per email. DNS-only, never sends email.

Pricing

from $0.70 / 1,000 checked emails

Rating

0.0

(0)

Developer

goldish_fireplace

goldish_fireplace

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Share

Email Checker: Bulk Email Validator & Email List Cleaner (MX, Disposable, Role, Typos)

Validate and clean an email list in bulk before you send. This email validator checks syntax, MX records, disposable and throwaway domains, role and no-reply addresses, free providers and common typos, and gives each address a clear verdict (deliverable-likely, risky or invalid) with a 0 to 100 score. It uses DNS only and never sends email or connects to mailboxes. Export the clean list to CSV, Excel or JSON.

Email Checker cleans an email list in seconds. For every address it checks the syntax, whether the domain exists and accepts email (MX records, with the A-record fallback from RFC 5321 and "null MX" detection), whether it's a disposable/throwaway address, a role address (info@, sales@), a free provider (Gmail, Yahoo, Outlook...), a no-reply address, or a typo (gmial.com → gmail.com). Each email gets one clear verdict: deliverable-likely, risky or invalid, with a 0–100 score and a reason in plain English.

No SMTP probing. This Actor never connects to mail servers and never contacts the mailbox. It uses DNS lookups (DNS-over-HTTPS) and curated lists only. That makes it fast, cheap, private and safe for your sender reputation, but it cannot confirm that a specific mailbox exists or detect catch-all domains. See the FAQ.

What does it check?

CheckResult fieldWhat it means
Syntax (RFC 5322 dot-atom, lengths, labels, TLD, IDN → punycode)valid_syntax, syntax_errorCatches john@@acme, john@acme, spaces, double dots and more
Domain existsdns_error, reason_code: domain_not_foundDomain is not registered (NXDOMAIN)
Accepts email (MX, A fallback, null MX)has_mx, mx_records, a_record_fallback, null_mx, accepts_mailWhether the domain is set up to receive mail at all
Mail providermx_providerGoogle, Microsoft, Zoho, Proton, Yahoo, Mimecast, Proofpoint and more
Disposable (10,000+ domains, subdomains included)disposableMailinator, 10minutemail, Guerrilla Mail...
Role addressroleinfo@, sales@, support@, admin@... shared inboxes
No-replyno_replynoreply@, do-not-reply@: nobody reads them
Free provider (~140 domains)free_providerGmail, Yahoo, Outlook, GMX, Mail.ru, Yandex...
Typo suggestiondid_you_meangmial.com, hotmal.com, yahooo.com, .con, .cmo
Sender setup (optional)has_spf, has_dmarcA domain with no SPF and no DMARC is less likely to be a real business mailbox
Plus tagplus_tagjane+news@acme.com → news

Why use it?

  • ✅ Clear verdicts, not a wall of flags. deliverable-likely, risky or invalid, plus a score and a human-readable reason. Filter on one column and you're done.
  • ⚡ Very fast. DNS is looked up once per domain and cached: 1,000 emails across 60 domains in 1.7 s in our test. No waiting on slow SMTP servers or greylisting.
  • 🛡️ Safe. No SMTP probing, so your IP and domain never end up on blocklists, and the people on your list are never pinged.
  • 📋 Paste anything. Accepts arrays, a pasted text blob (comma/space/newline separated), Name <email> and mailto: formats, quotes and trailing punctuation. Duplicates (case-insensitive) are removed and not charged.
  • 🔗 Chains with other Actors. Point it at any dataset (for example Website Contact Finder results) and it reads the emails from it, including arrays of emails per row.
  • 💸 Fair billing. You pay per unique email checked. Duplicates and emails we couldn't check because of a DNS outage are free.
  • 📤 Ready-to-use outputs. A dataset with an Overview view, a SUMMARY record with counts, and a DELIVERABLE text file with just the good addresses, one per line.

How to use Email Checker

  1. Paste emails into Emails (or Emails as text), or enter a Dataset ID from another run.
  2. Optional: mark role or free-provider addresses as risky, or switch off the SPF/DMARC lookups.
  3. Click Start, then export the results as CSV, Excel or JSON, or download the DELIVERABLE list.

Input example

{
"emails": ["jane@apify.com", "Support <support@hetzner.com>", "someone@gmial.com", "test@mailinator.com"],
"checkSpfDmarc": true,
"roleIsRisky": false,
"freeIsRisky": false
}

Validate the emails found by Website Contact Finder:

{ "datasetId": "<dataset ID of a Website Contact Finder run>", "datasetField": "emails" }

Output example

{
"email": "jane@apify.com",
"verdict": "deliverable-likely",
"score": 95,
"reason": "Domain accepts email (Google).",
"reason_code": "ok",
"valid_syntax": true,
"domain": "apify.com",
"has_mx": true,
"mx_records": ["aspmx.l.google.com", "alt1.aspmx.l.google.com", "alt2.aspmx.l.google.com"],
"mx_provider": "Google",
"accepts_mail": true,
"a_record_fallback": false,
"null_mx": false,
"disposable": false,
"role": false,
"no_reply": false,
"free_provider": false,
"did_you_mean": null,
"plus_tag": null,
"has_spf": true,
"has_dmarc": true,
"dns_error": null
}

Real results from a test run (12 inputs, 1 duplicate removed, 0.3 s):

EmailVerdictScoreReason
jane@apify.comdeliverable-likely95Domain accepts email (Google).
john.doe@gmail.comdeliverable-likely90Domain accepts email (Google). Note: free email provider.
info@cloudflare.comdeliverable-likely80Domain accepts email. Note: role address (shared inbox).
someone@gmial.comrisky10Looks like a typo. Did you mean someone@gmail.com?
test@mailinator.comrisky10Disposable / throwaway email provider (mailinator.com).
noreply@github.cominvalid5No-reply address: messages are not read.
ceo@example.cominvalid0example.com publishes a "null MX": it accepts no email.
a@acme.coninvalid0The domain acme.con does not exist. Did you mean a@acme.com?
bob@this-domain-does-not-exist-xyz.cominvalid0The domain does not exist.
not-an-emailinvalid0Not a valid email address (missing at sign).

Verdicts

VerdictWhenWhat to do
deliverable-likelyValid syntax, domain accepts mail, not disposable or a typoSafe to send. Role and free addresses are included but flagged
riskyTypo, disposable, A-record-only domain, unusual characters, or DNS temporarily failedFix the typo or review by hand before sending
invalidBad syntax, domain doesn't exist, domain accepts no mail (null MX / no MX and no A), no-replyRemove from your list

How much does it cost?

You pay a small fixed price per unique email checked (see the Pricing tab). Platform usage is tiny (256 MB, no browser, no SMTP). Duplicates and emails that couldn't be checked because DNS failed are free. Set a maximum cost per run and the Actor stops before going over it.

Use it from AI agents, Zapier, Make, n8n or the API

  • AI agents (MCP): works with the Apify MCP server. Ask Claude or ChatGPT: "Check these 200 emails and give me only the deliverable ones."
  • No-code: validate sign-ups or new CRM contacts in Zapier, Make or n8n before they reach your mailing tool.
  • API: POST https://api.apify.com/v2/acts/goldish_fireplace~email-checker/run-sync-get-dataset-items with {"emails": ["jane@acme.com"]}.

Limitations

  • It cannot confirm that a specific mailbox exists. There is no SMTP check, so typo.name@realcompany.com can still be deliverable-likely if the domain accepts mail.
  • No catch-all detection. That needs SMTP.
  • Disposable and free-provider lists are curated, not complete. New throwaway domains appear every day; the list is updated with new versions of the Actor.
  • DNS outages. If DNS lookups fail during a run, the affected emails are marked risky and not charged, so you can run them again.

FAQ

How do I clean an email list? Paste the emails into Emails as text (or pass a dataset ID), click Start, then keep the rows with verdict deliverable-likely or download the DELIVERABLE file.

Is it a free email validator? You can try it with the free Apify plan credits. After that you pay a small fixed price per unique email checked (see the Pricing tab).

Why no SMTP check? SMTP "mailbox pinging" is slow, often blocked (port 25 is closed on most clouds), triggers greylisting, is unreliable on Gmail/Microsoft/catch-all domains, and can hurt your sender reputation. Email Checker stays on DNS and lists, which catches the problems that cause most bounces (bad syntax, dead domains, typos, throwaway addresses) instantly and safely. If you need mailbox-level verification for a high-stakes send, use a dedicated SMTP verification service on the deliverable-likely subset.

Can it tell me if jane@company.com exists? No. It tells you whether company.com accepts email and whether the address looks real. It doesn't know whether the mailbox jane exists.

Does it detect catch-all domains? No, that needs SMTP.

Is my list stored or shared? Only in your own Apify storage. Lookups go to public DNS-over-HTTPS resolvers (Cloudflare, with Google as a fallback) and include the domain only, never the full address.

How fresh is the disposable list? It's built from the community-maintained disposable-email-domains list (10,000+ domains) and updated with new versions of the Actor.

Feedback

Spotted a wrong verdict or a missing disposable domain? Open an issue on the Issues tab.