Email Checker & Bulk Email Validator
Pricing
from $0.70 / 1,000 checked emails
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
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?
| Check | Result field | What it means |
|---|---|---|
| Syntax (RFC 5322 dot-atom, lengths, labels, TLD, IDN → punycode) | valid_syntax, syntax_error | Catches john@@acme, john@acme, spaces, double dots and more |
| Domain exists | dns_error, reason_code: domain_not_found | Domain is not registered (NXDOMAIN) |
| Accepts email (MX, A fallback, null MX) | has_mx, mx_records, a_record_fallback, null_mx, accepts_mail | Whether the domain is set up to receive mail at all |
| Mail provider | mx_provider | Google, Microsoft, Zoho, Proton, Yahoo, Mimecast, Proofpoint and more |
| Disposable (10,000+ domains, subdomains included) | disposable | Mailinator, 10minutemail, Guerrilla Mail... |
| Role address | role | info@, sales@, support@, admin@... shared inboxes |
| No-reply | no_reply | noreply@, do-not-reply@: nobody reads them |
| Free provider (~140 domains) | free_provider | Gmail, Yahoo, Outlook, GMX, Mail.ru, Yandex... |
| Typo suggestion | did_you_mean | gmial.com, hotmal.com, yahooo.com, .con, .cmo |
| Sender setup (optional) | has_spf, has_dmarc | A domain with no SPF and no DMARC is less likely to be a real business mailbox |
| Plus tag | plus_tag | jane+news@acme.com → news |
Why use it?
- ✅ Clear verdicts, not a wall of flags.
deliverable-likely,riskyorinvalid, plus a score and a human-readablereason. 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>andmailto: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
SUMMARYrecord with counts, and aDELIVERABLEtext file with just the good addresses, one per line.
How to use Email Checker
- Paste emails into Emails (or Emails as text), or enter a Dataset ID from another run.
- Optional: mark role or free-provider addresses as risky, or switch off the SPF/DMARC lookups.
- Click Start, then export the results as CSV, Excel or JSON, or download the
DELIVERABLElist.
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):
| Verdict | Score | Reason | |
|---|---|---|---|
| jane@apify.com | deliverable-likely | 95 | Domain accepts email (Google). |
| john.doe@gmail.com | deliverable-likely | 90 | Domain accepts email (Google). Note: free email provider. |
| info@cloudflare.com | deliverable-likely | 80 | Domain accepts email. Note: role address (shared inbox). |
| someone@gmial.com | risky | 10 | Looks like a typo. Did you mean someone@gmail.com? |
| test@mailinator.com | risky | 10 | Disposable / throwaway email provider (mailinator.com). |
| noreply@github.com | invalid | 5 | No-reply address: messages are not read. |
| ceo@example.com | invalid | 0 | example.com publishes a "null MX": it accepts no email. |
| a@acme.con | invalid | 0 | The domain acme.con does not exist. Did you mean a@acme.com? |
| bob@this-domain-does-not-exist-xyz.com | invalid | 0 | The domain does not exist. |
| not-an-email | invalid | 0 | Not a valid email address (missing at sign). |
Verdicts
| Verdict | When | What to do |
|---|---|---|
| deliverable-likely | Valid syntax, domain accepts mail, not disposable or a typo | Safe to send. Role and free addresses are included but flagged |
| risky | Typo, disposable, A-record-only domain, unusual characters, or DNS temporarily failed | Fix the typo or review by hand before sending |
| invalid | Bad syntax, domain doesn't exist, domain accepts no mail (null MX / no MX and no A), no-reply | Remove 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-itemswith{"emails": ["jane@acme.com"]}.
Limitations
- It cannot confirm that a specific mailbox exists. There is no SMTP check, so
typo.name@realcompany.comcan still bedeliverable-likelyif 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
riskyand 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.
Related tools
- 🔎 Website Contact Finder: find emails, phones and social profiles for a list of websites, then validate them here.
- 🔗 Broken Link Checker · 📈 SEO Audit Crawler