Bulk Email Checker - Syntax, MX, Disposable & Typo Check avatar

Bulk Email Checker - Syntax, MX, Disposable & Typo Check

Pricing

from $0.21 / 1,000 checked emails

Go to Apify Store
Bulk Email Checker - Syntax, MX, Disposable & Typo Check

Bulk Email Checker - Syntax, MX, Disposable & Typo Check

Clean email lists fast: syntax, domain and MX checks, disposable and role account detection, free provider flag and typo fixes like gmial.com to gmail.com. $0.30 per 1,000. No mailbox pinging.

Pricing

from $0.21 / 1,000 checked emails

Rating

0.0

(0)

Developer

Kyle Pretorius

Kyle Pretorius

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

Bulk Email Checker: Syntax, MX, Disposable and Typo Check

Clean an email list before you send to it. For every address this actor checks the format, whether the domain exists and can receive mail (MX records), whether it is a disposable or temporary address, whether it is a role account such as info@ or sales@, and whether it is a free provider such as Gmail. It also catches common typos and suggests the fix, for example jane@gmial.com to jane@gmail.com.

Each email gets one clear status, a recommended action and the reasons behind it.

Price: $0.30 per 1,000 checked emails, plus $0.0005 per run. Duplicates are removed first and are not charged.

What it checks

CheckHow
FormatPractical address rules: one @, allowed characters, no leading, trailing or double dots, length limits, valid domain labels and TLD. International domains are supported.
Domain existsDNS lookup. Domains that do not exist are marked invalid.
Can receive mailMX records. A domain with no MX but an A record is flagged as risky (mail may still arrive through the A record). A domain that publishes a "null MX" (it explicitly refuses mail, like example.com) is invalid.
DisposableMatched against the community maintained disposable-email-domains list (about 9,200 domains, public domain CC0), including subdomains of listed domains.
Role accountinfo@, sales@, support@, admin@, noreply@, hr@ and about 80 more shared inbox names.
Free providerGmail, Yahoo, Outlook, Hotmail, iCloud, AOL, Proton, GMX, Yandex, Mail.ru and others. Shown as a flag only.
TypoClose misspellings of popular providers (gmial.com, yahooo.com, hotmial.com) and wrong endings (gmail.con). Returns suggested_email.

Each domain is looked up once per run, so lists with many addresses on the same domains run very fast.

What it does not do

It does not ping mailboxes. There is no SMTP check, so it cannot tell you whether a specific mailbox like john@company.com exists, and it does not detect catch-all domains. A valid_format_and_domain result means the address is well formed and its domain is set up to receive mail. If you need mailbox-level verification, run this first to remove the obvious bad addresses cheaply, then send only the survivors to a mailbox verifier.

Statuses

statusrecommendationMeaning
valid_format_and_domainsendWell formed, domain exists and has mail servers, not disposable, not a role account, no typo.
riskyreview or removeDeliverable domain but something to look at: role account, possible typo, no MX record (A record only), or a DNS lookup that failed twice. Disposable addresses are risky with remove.
invalidremoveBad format, domain does not exist, domain refuses mail, or no mail server at all.

Input

Use any mix of these:

{
"emails": ["john.doe@gmail.com", "jane@gmial.com", "Sales Team <sales@acme.com>"],
"fileUrl": "https://example.com/leads.csv",
"datasetId": "aBcD1234",
"datasetField": "email",
"maxEmails": 0
}
  • emails: one per line, or several separated by commas or semicolons.
  • fileUrl: a CSV or text file. A column named email is used if present, otherwise every email-like string in the file is checked. A Google Sheets "publish to web as CSV" link works.
  • datasetId: the output of another Apify actor, such as a lead or contact scraper. datasetField names the field that holds the email (arrays of emails are fine).

Output

One row per unique email:

{
"email": "jane@gmial.com",
"input": "jane@gmial.com",
"status": "risky",
"recommendation": "remove",
"reasons": ["disposable_domain", "possible_typo", "no_mx_record_uses_a_record"],
"is_valid_syntax": true,
"domain": "gmial.com",
"domain_exists": true,
"has_mx": false,
"mail_server_fallback": true,
"is_disposable": true,
"is_role_account": false,
"is_free_provider": false,
"suggested_email": "jane@gmail.com",
"mx_records": [],
"mailbox_checked": false
}

Possible reasons: missing_at_sign, multiple_at_signs, missing_local_part, missing_domain, contains_whitespace, too_long, local_part_too_long, bad_dots_in_local_part, invalid_characters_in_local_part, invalid_domain, domain_has_no_tld, invalid_tld, ip_literal_domain_not_supported, domain_not_found, domain_does_not_accept_mail, no_mail_server, no_mx_record_uses_a_record, disposable_domain, role_account, possible_typo, dns_lookup_failed_<code>.

A run summary (counts per status, duplicates removed, domains looked up, duration) is saved as OUTPUT in the key-value store.

Common uses

  • Clean a lead list before a cold email campaign to cut bounces and protect your sender reputation.
  • Check sign-up emails from a form or CRM export and block disposable addresses.
  • Fix typos in customer emails before sending receipts or onboarding mail.
  • Cheap first pass before a paid mailbox verifier, so you only pay that verifier for addresses worth checking.
  • Validate the output of contact or lead scrapers straight from their Apify dataset.

Pricing

Pay per event, platform usage included:

  • $0.0003 per checked email ($0.30 per 1,000)
  • $0.0005 per run at the default 512 MB memory (Apify charges the start event once per GB, minimum one)

Duplicates are removed before checking and are not charged. You can cap spend with the run's maximum total charge setting; the actor stops cleanly when it is reached.

API and integrations

Call it from the Apify API, the JavaScript or Python client, Make, Zapier, n8n or any MCP client like other Apify actors, and chain it after a scraper with an Apify integration so new leads are checked automatically.