Email Validator & List Cleaner (MX, Disposable, Typo) avatar

Email Validator & List Cleaner (MX, Disposable, Typo)

Pricing

from $0.60 / 1,000 email checkeds

Go to Apify Store
Email Validator & List Cleaner (MX, Disposable, Typo)

Email Validator & List Cleaner (MX, Disposable, Typo)

Bulk email validator and list cleaner: syntax, MX records, disposable email detection, role accounts, typo fixes (gmial.com) and de-duplication. Lower bounce rates for $0.60 per 1,000 emails.

Pricing

from $0.60 / 1,000 email checkeds

Rating

0.0

(0)

Developer

K09 Tools

K09 Tools

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Email Validator & List Cleaner

A fast, low-cost email validator for whole lists. Check email addresses in bulk before you import them or send to them: syntax validation, MX record check, disposable email detection, role-account detection, typo correction (gmial.com → gmail.com) and de-duplication. Paste addresses or upload a CSV, and get a status and plain-English reasons for every address.

Use it to: lower your bounce rate before a campaign, clean a newsletter or CRM import, block throwaway sign-ups, and pre-clean cold email lists before paying for a full mailbox verifier. Pricing: $0.60 per 1,000 emails, and duplicates are free.

Only need to check a few addresses by hand? Use the free browser version: K09 Email Validator (up to 100 emails, no sign-up). This Actor is for full lists, file uploads, the API and scheduled runs.

What it checks

CheckWhat you get
SyntaxCatches broken addresses (a..b@x.com, name@@mail.com, missing domain, invalid characters). Trims spaces, mailto: and <brackets>. International domains are supported.
Mail servers (MX)Looks up the domain's MX records. Flags domains that don't exist, have no mail servers, or publish a "null MX" (accepts no email).
Disposable domainsFlags temporary inboxes such as mailinator.com, using a community-maintained list that updates on every run.
TyposSuggests a fix for common mistakes: gmial.com → gmail.com, yahoo.con → yahoo.com, hotmial.com → hotmail.com.
Role accountsFlags addresses that reach a team rather than a person (info@, sales@, noreply@).
Free providersMarks Gmail, Yahoo, Outlook and other consumer mailboxes (useful for B2B lists).
DuplicatesRemoves repeats, ignoring case. Duplicates are not charged.

Status values

  • ok: passed every check.
  • risky: can receive mail but is flagged (disposable, role account, possible typo, or no MX record).
  • invalid: can't receive email (bad syntax, domain doesn't exist, or no mail servers).
  • unknown: the DNS lookup failed. Try again later.

What it does not do

It doesn't connect to mail servers to test whether a specific mailbox exists (SMTP "pinging"). That is slow, often blocked, and can hurt sender reputation. An address with status ok has a real mail domain and no red flags, but the mailbox itself isn't confirmed. Many teams run this cleaner first to cheaply remove junk, then send only the remaining addresses to a full mailbox verifier.

Input

  • Emails: one per line.
  • Paste emails: a block of text separated by lines, commas, semicolons or spaces.
  • Upload a file: upload a CSV or TXT file (or paste a link to one) up to 25 MB. Every email found in the file is checked.
  • Options: turn MX checks off, keep duplicates, or cap the number of emails.

Output

One row per address in the dataset (export as CSV, Excel or JSON):

{
"email": "someone@gmial.com",
"status": "risky",
"reasons": ["possible typo of gmail.com", "disposable / temporary email domain"],
"suggestion": "someone@gmail.com",
"mailServer": "unknown",
"isDisposable": true,
"isRoleAccount": false,
"isFreeProvider": false,
"input": "someone@gmial.com"
}

The run also saves:

  • SUMMARY: counts per status.
  • CLEAN_LIST: a plain-text file with only the ok addresses, ready to import.

Pricing

You pay per unique email checked. Duplicates are free. If you set a maximum cost for a run, the Actor stops cleanly when it reaches it and keeps everything checked so far.

Privacy

Addresses are only used to run the checks. They go into your own run's dataset and nowhere else. Only the domain part is looked up in public DNS.

Use it from code or AI agents

Every run can be started from the API, and results come back as JSON, CSV or Excel. Replace YOUR_APIFY_TOKEN with the token from Apify Console → Settings → API & Integrations.

cURL (runs the Actor and returns the results in one call):

curl -X POST "https://api.apify.com/v2/acts/k09~email-list-cleaner/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"emails":["jane.doe@gmail.com","info@acme.com","someone@gmial.com"]}'

Python (pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("k09/email-list-cleaner").call(run_input={
"emails": [
"jane.doe@gmail.com",
"info@acme.com",
"someone@gmial.com"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript / Node.js (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('k09/email-list-cleaner').call({
"emails": [
"jane.doe@gmail.com",
"info@acme.com",
"someone@gmial.com"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

No-code and AI agents: the Actor works with Apify's Zapier, Make and n8n integrations, can run on a schedule from the Console, and can be used as a tool by AI agents through Apify's MCP server (see Apify's MCP documentation).