Email Verifier: Bulk, SMTP & Catch-All Checks avatar

Email Verifier: Bulk, SMTP & Catch-All Checks

Pricing

from $3.50 / 1,000 results

Go to Apify Store
Email Verifier: Bulk, SMTP & Catch-All Checks

Email Verifier: Bulk, SMTP & Catch-All Checks

Most verifiers report "valid" after a DNS check. That's how clean lists still bounce. We ask the mail server whether the mailbox exists, flag catch-all, disposable and role addresses, and give you one verdict per address with the reason. Honest "unknown" beats a confident guess.

Pricing

from $3.50 / 1,000 results

Rating

0.0

(0)

Developer

toolmill

toolmill

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

Toolmill Email Verifier

Email Verifier with Reasons: SMTP, Catch-All, No False Valids

Thousands of listings claim SMTP checks. This one shows you the mail server's answer for every address in the checks field, and says "unknown" when there isn't one instead of guessing. One verdict per address, with the reason, so you decide what to do with the risky ones.

Three promises

  1. We only say deliverable when a mail server confirmed the mailbox and the domain is not catch-all.
  2. We say unknown when we can't confirm. An honest unknown beats a confident guess that bounces.
  3. Every result carries the reason and the raw checks, so you can apply your own rules to risky and unknown addresses instead of throwing them away.

Use cases

  • Clean a list before cold outreach. Drop undeliverables, decide what to do with catch-all and role addresses, protect your sending domain.
  • Verify sign-ups in real time. Call it from your app with one address and act on status and reason.
  • Check a scraped lead list. Chain it after any contact or lead scraper; the output keeps your original address next to the verdict.
  • Agents. Pass a list of emails, read back status, reason and score, no parsing. Pairs with the Email Finder.

Verdicts at a glance

VerdictMeaningWhat to do
🟢 deliverableMail server confirmed the mailbox; domain is not catch-allSend
🔴 undeliverableBad syntax, no mail server, or mailbox does not existDrop
🟡 riskyMailbox exists but it is a catch-all domain, a role inbox, or a disposable providerYour call; reason tells you which
⚪ unknownThe server would not say: greylisting, policy block, timeoutRetry later or treat as risky

How this compares

DNS-only verifiersToolmill Email Verifier
Syntax and MX✅✅
Disposable and role detectionsometimes✅
Asks the mail server if the mailbox exists❌✅
Detects catch-all domains❌✅
Says "unknown" instead of guessing❌✅
Reason and raw checks on every row❌✅
Typo suggestions (gmial.com → gmail.com)❌✅

What it checks

CheckWhat it means
SyntaxAddress is well-formed. Gmail dots and +tags are normalized so duplicates collapse.
MXThe domain has a mail server (MX record, or A record fallback).
DisposableDomain is a throwaway provider (mailinator, guerrillamail, ...).
Role accountinfo@, support@, sales@ and similar shared inboxes.
Free providergmail.com, outlook.com, yahoo.com, ...
Typogmial.com → suggests gmail.com.
SMTP mailboxConnects to the mail server and asks whether the mailbox exists. No email is ever sent.
Catch-allProbes a random address on the domain; if it is accepted, the domain accepts anything and a "deliverable" verdict would be meaningless.

Input

{
"emails": ["jane@example.com", "support@github.com", "someone@gmial.com"],
"smtpCheck": true,
"catchAllCheck": true,
"timeoutMs": 8000,
"concurrency": 10
}

Output (one item per email)

{
"email": "someone@gmial.com",
"normalized": "someone@gmial.com",
"status": "unknown",
"reason": "smtp_unreachable",
"score": 50,
"suggestion": "someone@gmail.com",
"domain": "gmial.com",
"mxHost": "mail.gmial.com",
"checks": { "syntax": true, "mx": true, "disposable": false, "role": false, "free": false, "catchAll": null, "smtp": { "result": "unreachable" } },
"durationMs": 779
}

score is 0–100: 95 confirmed mailbox, 70 role account, 60 catch-all, 50 syntax + MX only, 10 disposable, 0 undeliverable.

Pairs with

  • Email Finder finds the address first; this Actor confirms it.
  • Hiring Signals tells you which companies are hiring; the Finder gets you the hiring manager; this Actor keeps your list clean.
  • Toolmill Briefs: what each company is building, read from its hiring. Free.

Use it from an AI agent

This Actor works with the Apify MCP server, so agents can call it as a tool: pass a list of addresses, get verdicts back as structured JSON. The reason and score fields are designed to be consumed by code.

Notes

  • Per-domain concurrency is capped at 2 so no mail server sees a burst from you.
  • Some providers (Yahoo, some corporate gateways) refuse probes from everyone; those come back unknown / smtp_blocked, not a false "valid".
  • Nothing is stored beyond the run's dataset.

Pricing

Pay per result: one charge for each address written to the dataset, including ones rejected by syntax or DNS, since every address is processed. Duplicates are verified once. Set a maximum charge on the run if you want a hard cap.


Toolmill
Toolmill · small, reliable tools for agents and developers.
Every verdict with a reason. Checked by automated runs every day.
More Toolmill tools · Found a problem? Use the Issues tab, every report gets a reply.