Bulk Email Verifier — NeverBounce Alternative avatar

Bulk Email Verifier — NeverBounce Alternative

Pricing

from $0.90 / 1,000 email validateds

Go to Apify Store
Bulk Email Verifier — NeverBounce Alternative

Bulk Email Verifier — NeverBounce Alternative

Verify email lists in bulk with syntax, DNS MX, disposable-domain, role-account, typo, and optional SMTP checks. Export per-address preflight signals for CRM imports and list cleanup; mailbox delivery is not guaranteed.

Pricing

from $0.90 / 1,000 email validateds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Share

Verify email lists in bulk with syntax, DNS MX, disposable-domain, role-account, typo, and optional SMTP checks. Export per-address preflight signals for CRM imports and list cleanup; mailbox delivery is not guaranteed. For CRM import teams, each dataset row is one supplied email address with standard or selected premium verification evidence.

Workflow: put the results to work

Run a bounded email list before importing it into a CRM or reviewing it for outreach. Separate clearly invalid addresses from uncertain results and inspect optional SMTP findings with their limitations. Preflight validation does not prove that a mailbox belongs to a person or will accept mail.

Best fit

Use this Actor when you already have full email addresses and need a bounded, machine-readable quality pass. It is useful for sales operations, CRM hygiene, signup screening, and lead-enrichment pipelines.

Use a vendor-managed verification service when the workflow requires mailbox ownership evidence, consent handling, or its product-specific delivery decision. Verification remains a data-quality signal rather than permission to contact anyone.

Then use Email to LinkedIn Profile Scraper after the preflight when your lawful workflow needs permitted profile enrichment from that email address.

What each row contains

FieldMeaning
email and normalizedEmailThe supplied address and its trimmed lowercase form.
status, score, primaryReason, reasonsA routing-oriented verdict and the signals behind it.
isValidSyntax, hasMxRecord, mxRecordsAddress format and current DNS mail-routing evidence.
isDisposable, isRoleBased, isFreeProviderRisk and segmentation flags.
suggestedEmailA close common-provider correction when one is plausible.
smtpCheck, smtpCode, smtpResponse, isCatchAllOptional SMTP-probe evidence. These fields can be unknown or absent when the probe is not available.
verificationTier, verificationSource, providerStatus, providerCheckedAt, providerCreditChargedThe selected tier and premium-verification metadata. Provider fields are null for standard rows.
validatedAtWhen this Actor collected the signals.

Input

{
"emails": ["jane@example.com", "info@acme.io", "jane@gmial.com"],
"maxEmails": 1000,
"verificationTier": "standard",
"checkSmtp": false,
"checkCatchAll": false,
"concurrency": 10,
"timeoutMs": 8000
}

emails is required. Duplicates are removed before the maxEmails cap is applied. verificationTier: "premium" enables a deeper verification result and is capped at 100 unique addresses per run; standard remains available for up to 1,000. Keep checkSmtp off for the standard deterministic pass: cloud mail networks can block port 25, and an SMTP response is not proof of ownership or future delivery. checkCatchAll only applies when SMTP probing is enabled.

Output example

{
"email": "jane@gmial.com",
"normalizedEmail": "jane@gmial.com",
"status": "invalid",
"score": 5,
"primaryReason": "mx_not_found",
"reasons": ["syntax_valid", "typo_suggestion", "mx_not_found"],
"isValidSyntax": true,
"hasMxRecord": false,
"isDisposable": false,
"isRoleBased": false,
"isFreeProvider": false,
"suggestedEmail": "jane@gmail.com",
"smtpCheck": "skipped"
}

How this email-validation workflow compares with NeverBounce

This independent Actor is not affiliated, associated, or endorsed by NeverBounce. The comparison is deliberately limited to a supplied-list preflight workflow; it is not a claim of full-suite or mailbox-verification parity.

DecisionThis ActorNeverBounceBest fit
Scope and workflowSyntax, DNS MX, risk flags, typo signals, and optional SMTP probing for supplied addresses.Broader vendor-managed verification and list-cleaning product.Use this Actor for a bounded preflight; use NeverBounce for its managed product workflow.
Billing and same-job costPay per event plus platform usage; see the Pricing tab for current rates.Pay per event plus platform usage; see the Pricing tab for current rates.Compare only the stated 1,000-address non-SMTP preflight, not feature parity.
Effective efficiencyOne Apify run returns one structured dataset row per processed address.Offers real-time verification and list-cleaning flows.Choose the path whose output and decision depth match the job.
Input frictionA bounded emails array; no NeverBounce credential.Its account and API or product workflow.Use this Actor for an existing Apify flow; use NeverBounce when you operate its account workflow.
Output contractDeclared rows include verdict, reasons, MX state, risk flags, score, and timestamp.Documents a single-email check API within its product.Use this Actor when a dataset contract is the downstream integration boundary.
Integrations and automationApify API, schedules, and dataset retrieval support recurring run-based workflows.The observed pricing page names product integrations and sync options by plan.Evaluate the exact required integration and plan rather than assuming equivalence.
Freshness and provenanceEvery row includes validatedAt and the signals this Actor used.Its pricing page describes real-time verification.Treat the two evidence models separately; this Actor does not claim field-level parity.

API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('khadinakbar/neverbounce-alternative').call({
emails: ['jane@example.com', 'info@acme.io'],
maxEmails: 1000,
verificationTier: 'standard',
checkSmtp: false
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Agent prompt card

Validate the supplied email addresses with khadinakbar/neverbounce-alternative. Return the dataset rows and group them by status. Treat unknown, risky, and optional SMTP results as review signals, not proof that a mailbox exists or that outreach is permitted.

Use with Apify MCP

This regular Actor can be discovered and called through Apify MCP. Use it for an already-supplied email list when you need flat rows with status, primaryReason, score, MX state, risk flags, and validatedAt. For mailbox-ownership proof, consent review, or a vendor-managed verification result, choose the service designed for that decision.

For large batches, ask the client to retrieve the default dataset in pages after execution completes. OUTPUT and RUN_SUMMARY state whether processing was complete, partial, needs corrected input, or should be retried later; they keep the dataset to validated email rows.

Interactive API endpoints

The Actor also has a Standby HTTP surface for short, interactive checks. Open its live Endpoints/Standby tab for the current request schema and endpoint behavior. The run-mode API example above is the preferred path for bounded lists and audit-friendly dataset output.

Freshness and provenance

DNS and classification values are collected during each run, and validatedAt identifies the collection time for every row. The private alternative dossier retains the comparison sources, cost boundaries, and release-evidence records while public copy stays evergreen.

Builder's note

I designed the result contract around one flat row per supplied email so an operator or automation can make its next routing decision without parsing a dashboard. The optional SMTP fields remain separate from the deterministic syntax, DNS, and classification signals because cloud mail-network behavior is not a durable proof of a mailbox.

Outcomes and limits

  • COMPLETE: every requested, bounded address produced a persisted row.
  • PARTIAL: useful rows were persisted and RUN_SUMMARY provides the next action for the remaining batch.
  • INVALID_INPUT: fix the email array and retry; no rows are fabricated.
  • UPSTREAM_FAILED: retry later with the same valid input when no rows were persisted.

OUTPUT is the compact machine contract. RUN_SUMMARY includes input, deduplication, validation, persistence, warning, and charge counters. Read large outputs from the default dataset in pages.

Responsible use

Email addresses can be personal data. Use this Actor only where you have a lawful basis and comply with applicable privacy and anti-spam rules. A validation result does not create consent, override an opt-out, or authorize outreach.

Pricing and run costs

This Actor uses Pay per event plus Apify platform usage. The Pricing tab lists the current event rates and billing terms.

EventBilling unitWhen it applies
apify-actor-startActor StartCharged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).
email-validatedEmail validatedCharged for each email address fully processed and pushed to the dataset. Includes RFC 5322 syntax check, DNS MX lookup, disposable/role/free-provider classification, typo suggestion, and 0–100 deliverability scoring.
email-premium-verifiedPremium email verifiedCharged for each premium verification result that consumes a verification credit and is persisted to the dataset.

Run cost combines the charged events and Apify platform usage. Review the run charge limit and requested result count before starting.

Connect an AI agent

Use the Apify MCP configurator to choose an available client connection. Inspect this Actor’s current input schema and required credentials before running it.