Bulk Email Verifier avatar

Bulk Email Verifier

Under maintenance

Pricing

$1.00 / 1,000 email verifieds

Go to Apify Store
Bulk Email Verifier

Bulk Email Verifier

Under maintenance

Bulk email verifier for syntax, MX, disposable and role checks. Return deliverability signals and a 0–100 score; pay only for successfully verified emails.

Pricing

$1.00 / 1,000 email verifieds

Rating

0.0

(0)

Developer

PROOFNEXA

PROOFNEXA

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 days ago

Last modified

Share

Verify up to 500 email addresses for syntax, MX, disposable, and role-based risk 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 no-MX 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 the DNS MX check.

{
"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
smtpReachableAlways null; retained for schema compatibility, because this Actor never probes SMTP

Verification and billing boundaries

  • DNS MX lookup uses Node.js built-in DNS resolution. No paid enrichment API is used.
  • The Actor never opens an SMTP connection, sends RCPT TO, sends an email, or attempts mailbox discovery. This keeps the check read-only and avoids provider-side connection blocks.
  • valid means the syntax and domain-level signals passed; it is not proof that the individual mailbox exists or can receive mail.
  • 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.001 ($1.00 / 1,000 billable results). Keep the Apify PPE event aligned with this value.

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.