Bulk Email Verifier avatar

Bulk Email Verifier

Under maintenance

Pricing

$5.00 / 1,000 email verifieds

Go to Apify Store
Bulk Email Verifier

Bulk Email Verifier

Under maintenance

Verify email deliverability in bulk. Get syntax, MX, disposable/role checks and a 0–100 score. Pay only for successfully verified emails.

Pricing

$5.00 / 1,000 email verifieds

Rating

0.0

(0)

Developer

PROOFNEXA

PROOFNEXA

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

Share

Verify up to 500 email addresses for syntax, MX, disposable, role-based, and conservative SMTP reachability signals. Get one structured Dataset record per unique input address, with a 0–100 score and valid / risky / invalid status. Pay only for saved, syntax-valid results that complete the email-verified event; failed, duplicate, syntax-invalid, and invalid results are not charged.

Input

emails is required and accepts either a JSON string array or CSV/newline-delimited text. timeoutMs is optional and applies to MX and SMTP connection checks.

{
"emails": [
"person@gmail.com",
"alerts@mailinator.com",
"not-an-email"
],
"timeoutMs": 1500
}

CSV text is also accepted:

email
person@gmail.com
alerts@mailinator.com
not-an-email

The maximum is 500 unique addresses. Duplicate inputs are emitted once and are not charged.

Output

Each unique input address produces at most one Dataset record:

FieldMeaning
emailTrimmed input address
isValidSyntaxConservative syntax check
hasMxWhether the domain returned at least one MX record
isDisposableMatch against the built-in disposable-domain baseline
isRoleBasedCommon role mailbox prefix such as support@ or sales@
score0–100 heuristic score, not a delivery guarantee
statusvalid, risky, or invalid
checkedAtISO-8601 check timestamp
smtpReachabletrue, false, or null; conservative TCP connection signal

Verification and billing boundaries

  • DNS MX lookup uses Node.js built-in DNS resolution. No paid enrichment API is used.
  • SMTP checking opens a short TCP connection to the preferred MX host only. It does not send RCPT TO, does not send an email, and does not claim that a mailbox can receive mail.
  • SMTP timeout or connection failure becomes an unknown signal and does not crash the run.
  • A Dataset write happens before Actor.charge({ eventName: "email-verified", count: 1 }).
  • The implementation checks chargedCount. If the event is unavailable, partially fulfilled, or the run limit is reached, processing stops safely to avoid continuing with uncharged billable results.
  • The code constant is EVENT_PRICE_USD = 0.005. Configure the matching PPE event in Apify Console only after human approval; this repository does not publish or change Console pricing.

Local checks

npm install
npm run check
npm test

For a local integration run without Apify PPE configuration, set EMAIL_VERIFIER_LOCAL_TEST=1. This test-only flag simulates one successful charge response; it is not set by the Actor in production.

Scope

This Actor contains no SEC, filing-monitor, social-network, LinkedIn, Finder, or dashboard code. The disposable-domain and role-prefix lists are deliberately small baselines; valid is not an SMTP delivery guarantee.

Operational stop lines

  • Success line: within 7 days after human-approved publication, at least one external paid run occurs and the result is net profitable.
  • Withdrawal line: if paid runs remain 0 after 14 days, stop candidate.
  • Until those observations exist, do not infer product demand or expand the feature set from local test runs.