Email Verifier - MX, SMTP & Disposable Check, No Paid API avatar

Email Verifier - MX, SMTP & Disposable Check, No Paid API

Pricing

$1.00 / 1,000 results

Go to Apify Store
Email Verifier - MX, SMTP & Disposable Check, No Paid API

Email Verifier - MX, SMTP & Disposable Check, No Paid API

Verify email addresses in bulk using only free deterministic checks: RFC-5322 syntax, DNS MX lookup, best-effort SMTP probe, catch-all detection and disposable-domain flagging. Never sends email and never calls a paid verification API.

Pricing

$1.00 / 1,000 results

Rating

0.0

(0)

Developer

Ahmed Moussa

Ahmed Moussa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Share

Email Verifier (syntax + MX + SMTP — no paid API)

A cost-safe email verifier that uses only free / deterministic checks. It never calls a paid email-verification API and it never sends email.

What it checks

CheckHowCost
SyntaxPragmatic RFC-5322 validationfree (pure code)
MXDNS MX lookup (A/AAAA fallback per RFC 5321)free DNS query
SMTPBest-effort RCPT TO probe against the MX (no DATA sent)free TCP to MX:25
DisposableBundled list of throwaway providersfree (pure code)
Catch-allProbe a random mailbox; if accepted, domain is catch-allfree SMTP probe

Honest limitations

SMTP probing is best-effort. Many mail servers block inbound port 25 from cloud hosts, greylist, or accept all recipients (catch-all). In those cases the result is reported honestly as smtp_check: "unknown" — it is never upgraded to a false "valid". A domain with no MX/A records returns mx_found: false and is treated as not deliverable.

Input

{ "email": "postmaster@gmail.com" }

or a batch:

{ "emails": ["a@gmail.com", "b@example.com"], "smtp_check": true }
  • email — a single address.
  • emails — optional batch list (processed in addition to email).
  • smtp_check — run the SMTP probe (default true); set false for syntax+MX only.

Output (one dataset item per address)

{
"email": "user@example.com",
"syntax_valid": true,
"domain": "example.com",
"mx_found": true,
"mx_records": ["mx1.example.com"],
"smtp_check": "unknown",
"disposable": false,
"catch_all": null,
"score": 0.4,
"reason": "MX present; SMTP port 25 unreachable/blocked — deliverability inconclusive"
}

score is a deterministic 0.0-1.0 confidence: 0 for invalid syntax / no MX, ~0.4 when MX exists but SMTP is inconclusive, up to ~0.95 when SMTP positively accepts a non-catch-all mailbox.

Cost safety

  • $0 idle, bounded $0-network per run: DNS + SMTP are free, every call has a hard timeout, and SMTP only ever connects to the domain's resolved MX hosts on port 25 (no arbitrary-URL fetch).
  • No paid API keys, no third-party verification service, no email sent.