Email List Cleaner & Deliverability Pre-Check avatar

Email List Cleaner & Deliverability Pre-Check

Pricing

Pay per event

Go to Apify Store
Email List Cleaner & Deliverability Pre-Check

Email List Cleaner & Deliverability Pre-Check

Clean email lists in bulk: syntax, MX/DNS, disposable, role and typo detection, dedup, plus per-domain mail provider, SPF and DMARC intelligence. $0.50/1000 decisive results; temporary failures and duplicates are never charged. Input: JSON, raw text, a file URL or any scraper's Apify dataset.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Burly Bat

Burly Bat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Clean any email list before you import it into a CRM or a sending tool. Point this Actor at a scraped lead list, a CSV, a pasted column or another Actor's dataset, and get back a send-safe list plus a per-domain deliverability profile.

You pay $0.50 per 1,000 decisive results. Duplicates, temporary DNS failures and run errors are delivered free of charge.

Quick start

  1. Paste addresses into Email addresses, or set Apify dataset ID to the dataset of a scraper run (for example a Google Maps or lead-generation Actor) and name the column in Email field.
  2. Run the Actor.
  3. Download CLEAN_LIST.csv (send-safe addresses) or the full dataset.
{ "datasetId": "YOUR_SCRAPER_DATASET_ID", "emailField": "email" }

What you get for every address

ResultMeaning
accepts_mailThe domain provably receives mail. The individual mailbox was not confirmed.
validThe mailbox itself was confirmed over SMTP. Requires outbound port 25 — see below.
invalidBroken syntax, or the domain has no mail infrastructure at all (no MX, no A fallback).
riskyDisposable/throwaway domain, or a catch-all server that accepts every address.
unknownA temporary DNS or SMTP failure. Never charged.

Every record also carries:

  • isRole — shared mailbox (info@, sales@, billing@, biuro@, …)
  • isDisposable — throwaway provider, from the CC0 disposable-email-domains blocklist
  • isFreeProvider — consumer mailbox (Gmail, Outlook, WP.pl, …)
  • didYouMean — typo correction, e.g. jane@gamil.comjane@gmail.com
  • mailProvider — who actually hosts the mailboxes: google_workspace, microsoft_365, zoho, proofpoint, mimecast, self_hosted_or_other
  • spf / dmarcPolicy — the domain's published email-authentication posture
  • confidence and verificationDepth — how far the check actually got

Duplicates are removed before any work is done, so you are never charged twice for the same address.

Honest note on SMTP and the valid status

Mailbox-level verification requires an outbound connection on port 25. Apify's platform blocks outbound port 25, and so do most cloud providers. This Actor therefore does not claim to confirm individual mailboxes when it runs here: a healthy address is reported as accepts_mail, never as valid. smtpCheck is off by default because leaving it on only slows the run down.

If you run this Actor on your own infrastructure with port 25 open, enable smtpCheck (and optionally catchAllCheck). The probe performs a standard RCPT TO handshake and disconnects — no message is ever sent — and results then reach valid / mailbox_not_found depth.

We would rather tell you this than sell you a valid we cannot prove.

What this removes from a scraped list

  • addresses that cannot exist (malformed syntax)
  • domains with no mail server at all — the single biggest source of hard bounces
  • disposable and throwaway addresses
  • duplicates, including the same mailbox written in different letter cases
  • typo'd provider domains such as gamil.com, which are parked, accept mail and act as spam traps
  • role accounts, separated out so you can decide whether to keep them

Deliverability intelligence

With domainIntel enabled (default), each unique domain is resolved once for its mail provider, SPF record and DMARC policy. Two cached DNS lookups per domain, not per address.

Useful for segmenting B2B lists (google_workspace vs microsoft_365), and for spotting domains with no SPF or no DMARC before you send to them.

Output

KeyContents
datasetone record per unique address, all fields above
CLEAN_LIST.csvsend-safe addresses only: deliverable, non-role, no suspected typo
RESULTS.csvevery address with every flag, for spreadsheets and CRM import
REPORTself-contained HTML report
SUMMARYMarkdown summary
OUTPUTJSON summary with counts, provider breakdown and the billable ratio

Billing

One email-checked event per address that reaches a decisive result: accepts_mail, valid, invalid or risky. Not charged: unknown (temporary DNS/SMTP failure), duplicates removed before the check, and addresses skipped by your run charge limit. The Actor caps its own input to your run charge limit before doing any work.

Data processing

Addresses you submit are processed only inside your own run and stored in your own dataset and key-value store. Nothing is retained, shared or resold by this Actor. Use it for list hygiene on data you are allowed to process — it is not a tool for unsolicited mass email, which Apify's Acceptable Use Policy prohibits.

Sources and limits

  • Disposable domain blocklist: disposable-email-domains (CC0), vendored and refreshed with each release.
  • Syntax follows practical RFC 5321/5322 rules for unquoted local parts. Quoted local parts ("a b"@example.com) are rejected; they are legal but effectively never deliverable in practice.
  • MX resolution honours the RFC 5321 implicit A/AAAA fallback and RFC 7505 "null MX".
  • accepts_mail is a domain-level guarantee, not a mailbox-level one. Treat it as "safe to send, bounce still possible", which is exactly what a DNS-level check can honestly promise.