Email Verifier — syntax + MX + disposable/role heuristics
Under maintenancePricing
from $0.10 / 1,000 email verifieds
Email Verifier — syntax + MX + disposable/role heuristics
Under maintenanceBulk email verification and list cleaning: syntax, DNS MX, disposable-domain and role-account detection, optional SMTP RCPT probe with catch-all detection, 0-100 deliverability score. Pay per decisive result, $0.125 per 1,000. No third-party validation service, no email retention.
Pricing
from $0.10 / 1,000 email verifieds
Rating
0.0
(0)
Developer
Karl Sundström
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Email Verifier: deliverability, catch-all and risk score
Bulk email verification for list cleaning before a campaign: syntax check, DNS MX lookup, disposable-domain and role-account detection, an optional SMTP RCPT probe with catch-all detection, and a 0-100 deliverability score per address. No third-party validation services in the chain. No email retention: addresses exist only for the duration of the run.
Pricing
You are charged per decisive result, not per address scanned. Unknown and catch-all-uncertain outcomes are free.
| Item | Price |
|---|---|
| Run start | $0.002 |
| Decisive result (valid, invalid or disposable) | $0.00125 ($1.25 per 1,000) |
| Unknown or catch-all-uncertain result | $0 |
| Max spend per run | $5 |
Comparison
| Feature | Email Verifier (this actor) | BounceVerify | Email Verifier & Validator | Million Verifier wrapper |
|---|---|---|---|---|
| Price | $1.25 / 1k decisive results | $0.89 / 1k emails | $1 / 1k emails | $1 / 1k decisive results |
| Pay per uncertain result | No (unknown results are free) | Yes | Yes | No (decisive only) |
| Catch-all detection | Yes (random-mailbox probe) | Yes | Yes | Yes |
| Risk score (0-100) | Yes | No | No | No |
| Disposable-domain detection | Yes | Yes | Yes | Yes |
| Role-account detection | Yes | Yes | Yes | Yes |
| SMTP RCPT probe | Optional, runs in your run | Service-side | Service-side | Third-party service |
| Third-party verification service in the chain | None | None | None | Million Verifier |
| Email retention | Not retained | Per provider policy | Per provider policy | Retained by Million Verifier |
| Per-run spend cap | $5 | Per-provider billing | Per-provider billing | Per-provider billing |
This actor runs its own DNS and SMTP logic inside your Apify run. Addresses are not sent to any verification service and are not stored after the run.
What data you get
| Field | Description |
|---|---|
| The address checked (lowercased, trimmed) | |
| status | good, risky, bad or unknown |
| score | 0-100 deliverability score |
| valid | Derived boolean (syntax + MX pass, nothing invalidates) |
| syntaxValid | Syntax-level result |
| mxFound | DNS MX record present |
| disposable | Disposable-domain heuristic hit |
| roleAccount | Role-account heuristic hit (info@, admin@, ...) |
| freeProvider | Known consumer mailbox provider |
| catchAll | True when the domain accepts any mailbox (probe mode) |
| smtpResult | valid, risky, unknown, invalid or null (probe mode) |
| technicalReason | SMTP reply code with plain-text DSN meaning |
| didYouMean | Suggested correction for a likely domain typo |
| reason | Human-readable summary of the verdict |
How to use
- Add the actor to your Apify account and click Run.
- Paste addresses into
emails. Duplicates are removed automatically and you are charged once per unique address. - Optionally enable
smtpProbefor mailbox-level checks. - Export results as JSON, CSV or Excel.
Input
{"emails": ["karl@example.se", "info@example.org"],"smtpProbe": false}
Limitations
These are plain facts about how the checks behave:
- Datacenter IPs receive greylisting; some servers return unknown rather than a verdict. The actor reports unknown and does not charge for it.
- On catch-all (accept-all) domains a 250 reply does not prove the mailbox exists. Such results are marked catchAll=true and reported as risky, and are not charged.
- The disposable-domain list is a static snapshot of the most common disposable providers, not an exhaustive one. disposable=true is reliable; disposable=false does not guarantee a non-disposable domain.
- Some servers block or rate-limit port 25 probes from datacenter ranges. When the probe cannot connect, the actor reports smtpResult=null with a reason and falls back to DNS-layer checks.
- Without the probe, the verdict rests on syntax, MX and heuristics. It does not confirm the mailbox exists.
- did_you_mean suggestions come from a small list of common providers plus domains observed in the run, using a levenshtein distance of 2 or less.