✅ Email Verifier — Bulk MX + SMTP Check · $1/1k avatar

✅ Email Verifier — Bulk MX + SMTP Check · $1/1k

Pricing

$1.00 / 1,000 emails

Go to Apify Store
✅ Email Verifier — Bulk MX + SMTP Check · $1/1k

✅ Email Verifier — Bulk MX + SMTP Check · $1/1k

Verify emails in bulk: syntax, DNS MX, SMTP mailbox check, disposable & role-based detection, plus a catch-all heuristic. Returns valid / invalid / risky / unknown per address. No API key. Works in Claude, ChatGPT & any MCP agent.

Pricing

$1.00 / 1,000 emails

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

18 hours ago

Last modified

Share

Email Verifier & Validator — Bulk MX + SMTP Check (No API Key)

What is Email Verifier & Validator?

Email Verifier & Validator is clean, fast bulk email verification. Paste a list of addresses and get back a per-email verdict — valid, invalid, risky, or unknown — backed by real syntax parsing, DNS MX lookups, a non-sending SMTP mailbox check, plus disposable, role-based, and catch-all detection. No API key, no sign-up, no third-party verification service. It is the reusable enrichment primitive for cleaning outreach lists, deduping sign-ups, and scoring leads before you send.

  • Protect sender reputation — strip dead mailboxes before a cold-email or newsletter send
  • Cut bounce rates — catch typo domains, dead domains, and disposable addresses
  • Clean CRM lists — flag role-based and catch-all addresses for filtering
  • Verify at the form — reject throwaway sign-ups in real time
  • Drop into any pipeline — run it after a scraper to validate the emails it found

No API key, no verification-service subscription

Paid verification services (ZeroBounce, NeverBounce, Hunter Verify) charge per credit and route your list through their servers. Email Verifier & Validator uses only DNS and a direct SMTP socket — no proxy, no browser, no external API, and your list never leaves the Apify run. The SMTP mailbox check stops at RCPT TO and issues QUIT: there is no DATA stage, so no message body is ever transmitted and nothing lands in anyone's inbox. It is a pure-network actor, which keeps it fast and cheap.

What data does Email Verifier & Validator return?

Every record contains these real fields:

FieldDescription
📧 emailThe address checked (lowercased, trimmed)
🌐 domainDomain portion of the email
✏️ isValidSyntaxPasses RFC-style syntax validation
📡 mxFoundDomain has at least one DNS MX record
📬 smtpAcceptsMail server accepted RCPT TO; null if skipped, blocked, or inconclusive
🗑️ isDisposableKnown disposable / throwaway mailbox provider
👥 isRoleBasedGeneric role mailbox (info, sales, admin, support…)
🕳️ isCatchAllServer appears to accept all addresses on the domain
statusOverall verdict: valid / invalid / risky / unknown
💬 reasonShort human-readable explanation of the status
🕒 checkedAtISO timestamp of the check

How to use Email Verifier & Validator (5 steps)

  1. Paste your addresses into Emails to verify (one per line). Bulk lists are processed in order.
  2. Leave Check MX records on to confirm each domain can receive mail (disabling it also disables the SMTP check).
  3. Leave Check mailbox via SMTP on for the non-sending RCPT TO mailbox test — or turn it off for a faster MX-only pass.
  4. Keep Detect disposable domains and Detect role-based addresses on to clean outreach lists.
  5. Click Start, then export the per-address verdicts as JSON, CSV, or Excel — or pull them via API/MCP.

Example input

{
"emails": ["test@stripe.com", "ceo@notion.so", "info@example.com"],
"checkMx": true,
"checkSmtp": true,
"detectDisposable": true,
"detectRoleBased": true
}

Example output record

{
"email": "test@stripe.com",
"domain": "stripe.com",
"isValidSyntax": true,
"mxFound": true,
"smtpAccepts": null,
"isDisposable": false,
"isRoleBased": false,
"isCatchAll": false,
"status": "unknown",
"reason": "MX found; mailbox not confirmed (SMTP inconclusive)",
"checkedAt": "2026-07-10T09:12:44.018Z"
}

How to read status: valid = syntax ok, MX found, SMTP accepted a non-catch-all mailbox. invalid = bad syntax, no MX, or a definitive server rejection. risky = deliverable but low quality (disposable, role-based, or catch-all). unknown = MX exists but the mailbox could not be confirmed (SMTP skipped, blocked, or greylisted) — many large providers (Gmail, Outlook) deliberately land here.

Use cases

  • Clean an outreach / cold-email list before sending to protect sender reputation and cut bounces.
  • Validate sign-ups in real time — reject disposable addresses at the form.
  • Score and dedupe CRM leads — drop role-based and invalid contacts.
  • Pre-flight a newsletter — strip dead mailboxes ahead of a send.
  • Enrich any pipeline — run it right after a scraper to verify the emails it found.
  • Audit a purchased list — measure how much of a bought list is actually deliverable.

FAQ

Does this send any email?

No. The SMTP check stops at RCPT TO and issues QUIT. There is no DATA stage, so no message body is ever transmitted and nothing is delivered.

Why is smtpAccepts null for some addresses?

Port 25 is frequently firewalled, and providers such as Gmail and Outlook intentionally cloak mailbox existence or greylist unfamiliar connections. When the handshake is inconclusive we return null and a status of unknown rather than guessing.

What does "catch-all" mean?

Some domains accept mail for every possible address. We detect this by also probing a random, nonexistent mailbox; if the server accepts it, we mark isCatchAll: true and downgrade the verdict to risky, because acceptance no longer proves the real mailbox exists.

Do I need a proxy or API key?

No. The actor uses only DNS and a direct SMTP socket — no proxy, no browser, no external API.

How is it priced?

Pay-per-event: one email-verified event per email processed, at $0.001 per email ($1 per 1,000). The first 25 emails per Apify account are free for life, so you can try it before spending anything.

Use in Claude, ChatGPT & any MCP agent

This actor is exposed as a Model Context Protocol (MCP) tool, so AI agents can verify emails as a step in any workflow:

https://mcp.apify.com/?tools=themineworks/email-verifier-validator

Or run it programmatically with the Apify client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('themineworks/email-verifier-validator').call({
emails: ['test@stripe.com', 'ceo@notion.so', 'info@example.com'],
checkMx: true,
checkSmtp: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const r of items) {
if (r._type === 'summary') continue;
console.log(`${r.email}: ${r.status} (${r.reason})`);
}

This actor is the final hygiene step in a pipeline:

  • Google Maps Leads Scraper — pull businesses + emails from a Google Maps search.
  • Website Contact Scraper — extract emails, phones, and socials from a domain list.
  • B2B Leads Finder — find named decision-makers (email, LinkedIn, phone) at target companies.
  • email-verifier-validator (this actor) — MX + SMTP verify every address before you send.

Typical flow: maps-leads → website-contact-finder → email-verifier-validator.