Email Validator — Syntax, MX & Risk Checks avatar

Email Validator — Syntax, MX & Risk Checks

Pricing

from $1.20 / 1,000 email validateds

Go to Apify Store
Email Validator — Syntax, MX & Risk Checks

Email Validator — Syntax, MX & Risk Checks

Validate email addresses with syntax, domain, MX, disposable-email, role-account, and risk checks for cleaner lead lists and outreach data.

Pricing

from $1.20 / 1,000 email validateds

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

Email Validator - Syntax, MX & Risk Checks

Free-plan limit: Apify free-plan runs can return at most 5 dataset records per run from this Actor, even if you request more.

Validate email addresses in bulk with a deterministic Apify Actor built for lead cleaning, CRM hygiene, signup screening, and AI-agent workflows. It checks mailbox syntax, IDNA-normalized domains, DNS records, MX records, disposable domains, role accounts, and common free email providers, then returns one structured dataset row per email.

Use this actor when you need a fast, transparent email validation pass before enrichment, outreach, CRM import, or marketing automation. Do not use it as proof that a specific mailbox inbox exists; the actor does not perform SMTP handshakes, send messages, bypass catch-all domains, or verify human ownership of an address.

Output

FieldDescription
emailOriginal input email address.
normalizedEmailTrimmed email with IDNA ASCII domain normalization.
statusvalid, risky, or invalid.
confidenceScore from 0 to 1 for easy filtering.
syntaxValidWhether the address matches a safe RFC-style mailbox pattern.
domainAsciiDNS-safe domain used for lookups.
hasMxWhether MX records exist when MX checks are enabled.
isDisposableWhether the domain is in the built-in temporary mailbox list.
isRoleAccountWhether the mailbox is generic, such as sales@ or support@.
isFreeProviderWhether the domain is a common consumer email provider.
reasonsHuman-readable explanation for the result.

Pricing

This Actor uses pay-per-event pricing. These are the current Apify Store event prices:

EventPrice (USD)When it is charged
email-validated$0.0002Email validated — Charged once for each email address validated with syntax, domain, DNS, MX, and risk checks.
apify-actor-start$0.00005Actor Start — Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). — Charged once per run.

Apify platform usage for this Actor run is included alongside the event prices above; no separate per-run platform-usage fee is passed to users.

This covers Apify platform usage for this Actor run. Other Apify products or usage outside this Actor run may still follow your account plan.

Input

You can provide email addresses in two ways:

  • emails: a list with one email per item
  • emailText: pasted text; the actor extracts email-looking strings

Duplicate addresses are removed case-insensitively before validation. maxEmails caps how many unique addresses are processed in one run.

Validation Logic

The actor marks hard failures as invalid, including malformed syntax, DNS failures when DNS checks are enabled, MX failures when MX checks are enabled, and disposable domains when allowDisposable is false. It marks usable but lower-quality addresses as risky, including free providers and role accounts when role accounts are not allowed. Clean addresses that pass enabled checks are marked valid.

DNS behavior is controlled by checkDns and checkMx. Keep both enabled for production cleaning. Turn them off only for fast local syntax-only testing or when your network environment blocks DNS lookups.

Example Input

{
"emails": [
"alex@example.com",
"sales@example.org",
"bad@@example"
],
"checkDns": true,
"checkMx": true,
"allowDisposable": false,
"allowRoleAccounts": true,
"maxEmails": 1000
}

Example Output Item

{
"email": "alex@example.com",
"normalizedEmail": "alex@example.com",
"isValid": true,
"status": "valid",
"confidence": 0.95,
"syntaxValid": true,
"domain": "example.com",
"domainAscii": "example.com",
"localPart": "alex",
"dnsChecked": true,
"domainHasDns": true,
"mxChecked": true,
"mxRecords": ["mail.example.com"],
"hasMx": true,
"isDisposable": false,
"isRoleAccount": false,
"isFreeProvider": false,
"reasons": ["Email passed all enabled validation checks."],
"checkedAt": "2026-07-08T05:00:00.000Z"
}

API Usage

apify call USERNAME/email-address-validator --input='{
"emails": ["alex@example.com", "bad@@example"],
"checkDns": true,
"checkMx": true
}'

Python Client

from apify_client import ApifyClient
client = ApifyClient("APIFY_TOKEN")
run = client.actor("USERNAME/email-address-validator").call(run_input={
"emails": ["alex@example.com", "bad@@example"],
"checkDns": True,
"checkMx": True,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items

Limitations

This actor does not send email, log in to mail providers, or guarantee a human reads the mailbox. Some domains accept all mail through catch-all routing, and DNS success does not prove an individual inbox exists. Disposable-domain detection uses a curated built-in list, not a paid real-time global feed.

Use email validation responsibly and comply with applicable privacy, anti-spam, and marketing laws, including CAN-SPAM, GDPR, and local consent requirements. The actor is a data-quality utility, not permission to contact people.