Email List Verifier avatar

Email List Verifier

Pricing

$500.00 / 1,000 completed verifications

Go to Apify Store
Email List Verifier

Email List Verifier

Verify a list of email addresses without sending mail. Combines syntax checks, MX lookup over DNS-over-HTTPS, disposable and role-account detection, and an optional live SMTP mailbox probe into a per-address verdict: valid, invalid, risky, or unknown. Charged only on completion.

Pricing

$500.00 / 1,000 completed verifications

Rating

0.0

(0)

Developer

Chris Arsenault

Chris Arsenault

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Clean an email list before you send to it, without sending a single message. Give the Actor up to 100 addresses and it returns a per-address verdict built from four independent signals: syntax, a working MX host, disposable and role-account detection, and an optional live SMTP mailbox probe. No mail is ever sent.

What it checks

  • Syntax: each address is validated against a practical RFC-style pattern.
  • MX lookup: the domain is resolved over DNS-over-HTTPS (Cloudflare, then Google as a fallback). A domain with no MX host cannot receive mail, so the address is marked invalid.
  • Disposable providers: the domain is matched against an embedded set of temporary-mailbox services (mailinator, guerrillamail, yopmail, sharklasers, temp-mail, and more).
  • Role accounts: local-parts like info@, admin@, support@, sales@, noreply@, billing@, and postmaster@ are flagged, since they usually address a function rather than a person.
  • Live SMTP probe (optional, on by default): the Actor connects to the domain's highest-priority mail server on port 25 and runs EHLO, MAIL FROM, and RCPT TO to read whether the mailbox is accepted. It stops before DATA, so no message is delivered. It also probes a random address at the same domain to detect catch-all servers that accept everything.

Verdicts

Each address gets one of four verdicts:

  • valid — syntax and MX are good and the mailbox was accepted by the mail server.
  • invalid — bad syntax, no MX host, or the mailbox was rejected.
  • risky — deliverable but flagged: a disposable domain, a role account, or a catch-all domain where the specific mailbox cannot be confirmed.
  • unknown — the mailbox could not be determined, for example because the SMTP probe was off, the server greylisted the request, or outbound port 25 was blocked.

Output

A summary row followed by one row per address:

{
"row_type": "summary",
"total": 3,
"valid": 1,
"invalid": 1,
"risky": 1,
"unknown": 0,
"disposable_count": 0,
"role_count": 1
}
{
"row_type": "email",
"email": "info@apify.com",
"verdict": "risky",
"syntax_ok": true,
"has_mx": true,
"smtp_status": "deliverable",
"is_disposable": false,
"is_role": true,
"is_catch_all": false
}

Use cases

  • Sales list cleaning: strip dead and disposable addresses out of a prospect list before an outreach campaign.
  • Signup validation: check an address at registration to catch typos and throwaway inboxes.
  • Reducing bounce rate: remove addresses that will bounce, protecting your sending domain's reputation.

Honest limits

  • This does not send real email. The SMTP probe stops before the DATA phase, so no message is ever delivered.
  • SMTP status is best-effort. Many mail hosts and many networks block outbound port 25 or greylist unfamiliar senders. When the Actor cannot complete the conversation, the SMTP status comes back unknown rather than a false positive or negative. If you run it from a network where port 25 is blocked, expect unknown and rely on the syntax, MX, disposable, and role signals.
  • Catch-all domains cannot be individually confirmed. Some domains accept mail for every address. When that is detected, the address is marked risky and is_catch_all is set, because the specific mailbox cannot be proven to exist.
  • Signals, not guarantees. A valid verdict means the checks passed at probe time; mailboxes can still be disabled later.

Empty runs and failed runs are not charged; billing is per completed batch verification.

Built by 1450 Enterprises. Pure Python standard library, no third-party lookups beyond public DNS-over-HTTPS.