Email Verifier — Syntax + MX + SMTP Probe
Pricing
$0.50 / 1,000 email address verifieds
Email Verifier — Syntax + MX + SMTP Probe
Verify email addresses via three checks — RFC syntax, DNS MX record presence, and SMTP RCPT TO probe with a short timeout. One row per email with verdict, MX hosts, reason. Pure protocol, datacenter-friendly.
Verify email addresses via three progressive checks — RFC syntax, DNS MX record presence, and an optional SMTP RCPT TO probe. One row per address with a deliverability verdict. No third-party API, no auth — pure DNS + SMTP socket.
Example output row
{"email": "hello@stripe.com","syntaxValid": true,"domain": "stripe.com","mxHosts": ["aspmx.l.google.com", "alt1.aspmx.l.google.com"],"mxOk": true,"smtpAccepts": "accepts","reason": "ok"}
How to use
Pass a list of email addresses. The actor runs syntax → MX → SMTP in sequence for each one.
Input schema:
{"emails": ["hello@stripe.com", "support@github.com", "press@anthropic.com"],"smtpProbe": true,"timeoutSeconds": 8}
| Field | Type | Default | Description |
|---|---|---|---|
emails | array of strings | prefill examples | Email addresses to verify |
smtpProbe | boolean | true | Connect to MX and issue RCPT TO probe. Slower but more accurate. Disable for MX-only checks. |
timeoutSeconds | integer | 8 | Per-email SMTP connection timeout in seconds |
Output fields:
| Field | Type | Notes |
|---|---|---|
email | string | Input address |
syntaxValid | bool | RFC syntax check passed |
domain | string | Domain part of the address |
mxHosts | list | MX hostnames sorted alphabetically |
mxOk | bool | At least one MX record found |
smtpAccepts | string | accepts / rejects / unknown |
reason | string | Human-readable explanation or ok |
Pricing
Event: email_verified — one email address checked (syntax + MX + optional SMTP probe).
Rate: $0.0005 per email verified.
Verifying 1 000 addresses = $0.50. All processed emails are charged — including syntax failures and SMTP unknowns — because protocol work still happens for each one.
Buyer
- List hygiene before cold email campaigns — remove hard bounces before paying per-send
- SaaS signup validation — flag disposable or nonexistent domains on sign-up forms
- Lead enrichment pipelines — score inbound leads by email deliverability
- CRM cleanup — bulk-audit stale contact lists without a third-party SaaS subscription
- Compliance workflows — confirm addresses are reachable before GDPR/CAN-SPAM sends
Source
Protocol: DNS MX lookup + SMTP socket probe (no HTTP API)
MX lookup: dns.resolver.resolve(domain, "MX") — uses the system DNS resolver
SMTP probe flow:
- Connect to port 25 of the first MX host
EHLO voiddo-verifier.apify.comMAIL FROM:<>(null reverse-path per RFC 5321 §4.5.5)RCPT TO:<email>— reads response codeQUIT— no mail is ever sent
Response codes: 250 → accepts, 550 → rejects, anything else → unknown.