Bulk Email Validator & List Cleaner avatar

Bulk Email Validator & List Cleaner

Pricing

from $0.35 / 1,000 email checkeds

Go to Apify Store
Bulk Email Validator & List Cleaner

Bulk Email Validator & List Cleaner

Clean an email list before you send: catches malformed addresses, dead domains, domains that accept no mail, disposable addresses and typos like gmial.com, with a suggested fix. No emails are sent and no mailboxes are probed.

Pricing

from $0.35 / 1,000 email checkeds

Rating

0.0

(0)

Developer

Mårten Fitzback

Mårten Fitzback

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

Paste an email list and get a verdict for every address, so you can remove the ones that will bounce before you send.

It sends no email and never contacts a mailbox. Every check uses the address itself and public DNS records. That makes it fast, and safe for your sender reputation: there is nothing for a mail server to block or report.

What it catches

ProblemExampleVerdict
Malformed addressanna@@company.com, anna.company.cominvalid
Domain does not existanna@company-that-closed.cominvalid
Domain accepts no maila parked domain with no mail serverinvalid
Typo in a well-known domainanna@gmial.com, anna@gmail.coninvalid or risky, with didYouMean: anna@gmail.com
Disposable addressx@mailinator.comrisky

Addresses that pass are marked ok. If a DNS lookup fails, the verdict is unknown rather than a guess.

What you get for each address

FieldWhat it is
verdictok, risky, invalid or unknown
reasonWhy, in one code: domain-does-not-exist, domain-accepts-no-mail, domain-typo, possible-typo, disposable-address, shared-inbox, missing-at and so on
didYouMeanThe corrected address when the domain looks mistyped
isRoleA shared inbox such as info@ or sales@
isFreeProviderGmail, Outlook, Yahoo and over 100 other consumer providers
isDisposableOn the public list of throwaway email domains, loaded fresh on every run
mailServerFound, mailProviderWhether the domain has a mail server, and who runs it (Google Workspace, Microsoft 365, Proton and others)

Input

{
"emails": ["hello@apify.com", "someone@gmial.com", "test@mailinator.com", "not-an-email"]
}

One address per line, or a pasted list separated by commas or semicolons. Entries like Anna Berg <anna@company.com> are understood. Duplicates are checked, and charged, once.

Output example

{
"input": "someone@gmial.com",
"email": "someone@gmial.com",
"domain": "gmial.com",
"verdict": "invalid",
"reason": "domain-typo",
"didYouMean": "someone@gmail.com",
"isRole": false,
"isFreeProvider": false,
"isDisposable": true,
"mailServerFound": false,
"mailProvider": null
}

Pricing

$0.50 per 1,000 addresses ($0.0005 each). One charge per unique address checked.

A list of 10,000 addresses costs $5. 100,000 addresses cost $50.

Each run also has a start charge of $0.00005. There is no separate charge for computing time. Apify's paid plans get 10% to 30% off these prices; the Pricing tab shows yours. Apify's free plan includes $5 of credit a month, which covers 10,000 addresses.

What it does not do

It does not confirm that an individual mailbox exists. An address at a working domain is marked ok even if that person has left the company. Tools that probe mailboxes can catch those, at the cost of speed and of being blocked by many mail servers. Use this one as the fast first pass that removes the certain failures.

Questions

Can I run it on a schedule?

Yes. Save your input as a task and add an Apify schedule, for example every morning.

How do I get the results into Excel or Google Sheets?

Every run's results can be downloaded as Excel, CSV or JSON from the run's Output tab. Apify's integrations with Make, Zapier, n8n and Google Sheets can pass them on automatically.

Can I call it from my own code or from an AI agent?

Yes. The API tab has ready-made code for Python, JavaScript and cURL, and the tool can be connected to AI agents through Apify's MCP server.

Something looks wrong or is missing

Open a report under the Issues tab and include the input you used.