Email Verifier API & Bulk Email Validator (MX, SMTP) avatar

Email Verifier API & Bulk Email Validator (MX, SMTP)

Pricing

$1.00 / 1,000 email verifieds

Go to Apify Store
Email Verifier API & Bulk Email Validator (MX, SMTP)

Email Verifier API & Bulk Email Validator (MX, SMTP)

NeverBounce, Bouncer Email, ZeroBounce & MillionVerifier Bulk Email Verifier (Up to 50,000 Emails). Verify MX records, SMTP handshake, Catch-All domains, disposable email traps, and syntax risk at $0.001/email.

Pricing

$1.00 / 1,000 email verifieds

Rating

0.0

(0)

Developer

PROOFNEXA

PROOFNEXA

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

a day ago

Last modified

Share

NeverBounce, Bouncer Email, ZeroBounce & MillionVerifier Bulk Email Verifier (Up to 50,000 Emails). Verify MX records, SMTP handshake, Catch-All domains, disposable email traps, and syntax risk at $0.001/email.


1. Architecture & Extraction Pipeline

  • Extraction Mechanism: Direct structured extraction pipeline for Email Verifier API & Bulk Email Validator (MX, SMTP) with flat JSON output schema and deterministic Pay-Per-Event billing.
  • Proxy Overhead: None required for standard runs. Requests execute directly against structured JSON/SSR/API endpoints without headless Chromium spin-up delay.
  • Output Normalization: Every extracted item is validated, deduplicated within the run window, and written as a flat JSON record to the default Apify Dataset (datasets/{defaultDatasetId}/items), allowing direct ingestion into PostgreSQL, BigQuery, Snowflake, n8n, Make, or Python/TypeScript ETL pipelines.
  • Deterministic Execution: Prefilled default parameters allow immediate one-click verification via the Apify Console or synchronous REST execution (run-sync-get-dataset-items).

2. Verified Production Dataset Sample

The following JSON record was captured directly from a live production execution of vivid_astronaut/email-verifier-bulk on Apify Cloud:

[
{
"email": "support@cloudflare.com",
"isValidSyntax": true,
"hasMx": true,
"isDisposable": false,
"isRoleBased": true,
"smtpReachable": null,
"score": 80,
"status": "risky",
"reason": "role_based",
"isCatchAll": null,
"isBillable": true,
"score_policy_version": "1.0.0",
"score_components": {
"syntax": 50,
"mx": 35,
"disposable": 5,
"role_based": -10,
"catch_all": null,
"domain_risk": 0
},
"checkedAt": "2026-10-29T08:31:14.879Z"
},
{
"email": "support@apify.com",
"isValidSyntax": true,
"hasMx": true,
"isDisposable": false,
"isRoleBased": true,
"smtpReachable": null,
"score": 80,
"status": "risky",
"reason": "role_based",
"isCatchAll": null,
"isBillable": true,
"score_policy_version": "1.0.0",
"score_components": {
"syntax": 50,
"mx": 35,
"disposable": 5,
"role_based": -10,
"catch_all": null,
"domain_risk": 0
},
"checkedAt": "2026-10-29T08:31:14.878Z"
}
]

3. Input Parameter Specification

ParameterTypeDefaultTechnical Specification
emailsarray["support@apify.com", "security@apify.com", "sales@apify.com", "contact@github.com", "security@github.com", "press@github.com", "support@stripe.com", "security@stripe.com", "press@stripe.com", "support@cloudflare.com", "security@cloudflare.com", "sales@cloudflare.com", "support@vercel.com", "security@vercel.com", "sales@vercel.com", "support@openai.com", "security@openai.com", "press@openai.com", "support@anthropic.com", "security@anthropic.com", "sales@anthropic.com", "support@datadoghq.com", "security@datadoghq.com", "IR@datadoghq.com", "support@snowflake.com", "security@snowflake.com", "info@snowflake.com", "support@figma.com", "security@figma.com", "press@figma.com"]Required array of email addresses. The Actor API also accepts CSV/newline-delimited text in raw input. The default maximum is 20,000 unique addresses; maxEmails can raise it up to 50,000.
timeoutMsinteger1500Timeout used for the DNS MX check. This Actor does not probe SMTP or send email.
maxEmailsinteger20000Per-run safety limit. Defaults to 20,000 and may be raised to 50,000. Inputs above the selected limit are rejected before verification or charging.

Example Input Payload (application/json)

{
"emails": [
"support@apify.com",
"security@apify.com",
"sales@apify.com",
"contact@github.com",
"security@github.com",
"press@github.com",
"support@stripe.com",
"security@stripe.com",
"press@stripe.com",
"support@cloudflare.com",
"security@cloudflare.com",
"sales@cloudflare.com",
"support@vercel.com",
"security@vercel.com",
"sales@vercel.com",
"support@openai.com",
"security@openai.com",
"press@openai.com",
"support@anthropic.com",
"security@anthropic.com",
"sales@anthropic.com",
"support@datadoghq.com",
"security@datadoghq.com",
"IR@datadoghq.com",
"support@snowflake.com",
"security@snowflake.com",
"info@snowflake.com",
"support@figma.com",
"security@figma.com",
"press@figma.com"
],
"timeoutMs": 1500,
"maxEmails": 20000
}

4. Measured Runtime & Unit Economics

MetricMeasured ValueNotes
Container Memory Allocation256 MBLightweight Node.js 20 container (apify@^3.2.6)
Median Execution Latency2.48 sCold start to dataset commit for default batch
External Proxy Requirement$0.00No residential proxy bandwidth surcharge required
Primary Billing Eventemail-verifiedCharged strictly per committed dataset record
Unit Price (Pay-Per-Event)$0.0010 / recordEquivalent to $1.00 per 1,000 records

5. Production Integration (cURL, Python, Claude Code MCP)

5.1 Synchronous REST Execution (cURL)

Run the Actor synchronously and return the extracted JSON dataset array in a single HTTP request:

curl -s -X POST \
"https://api.apify.com/v2/acts/vivid_astronaut~email-verifier-bulk/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"emails": ["support@apify.com", "security@apify.com", "sales@apify.com", "contact@github.com", "security@github.com", "press@github.com", "support@stripe.com", "security@stripe.com", "press@stripe.com", "support@cloudflare.com", "security@cloudflare.com", "sales@cloudflare.com", "support@vercel.com", "security@vercel.com", "sales@vercel.com", "support@openai.com", "security@openai.com", "press@openai.com", "support@anthropic.com", "security@anthropic.com", "sales@anthropic.com", "support@datadoghq.com", "security@datadoghq.com", "IR@datadoghq.com", "support@snowflake.com", "security@snowflake.com", "info@snowflake.com", "support@figma.com", "security@figma.com", "press@figma.com"], "timeoutMs": 1500, "maxEmails": 20000}'

5.2 Python Pipeline Integration (urllib.request)

import json
import os
import urllib.request
APIFY_TOKEN = os.environ["APIFY_TOKEN"]
url = (
"https://api.apify.com/v2/acts/vivid_astronaut~email-verifier-bulk/"
f"run-sync-get-dataset-items?token={APIFY_TOKEN}"
)
payload = {
"emails": [
"support@apify.com",
"security@apify.com",
"sales@apify.com",
"contact@github.com",
"security@github.com",
"press@github.com",
"support@stripe.com",
"security@stripe.com",
"press@stripe.com",
"support@cloudflare.com",
"security@cloudflare.com",
"sales@cloudflare.com",
"support@vercel.com",
"security@vercel.com",
"sales@vercel.com",
"support@openai.com",
"security@openai.com",
"press@openai.com",
"support@anthropic.com",
"security@anthropic.com",
"sales@anthropic.com",
"support@datadoghq.com",
"security@datadoghq.com",
"IR@datadoghq.com",
"support@snowflake.com",
"security@snowflake.com",
"info@snowflake.com",
"support@figma.com",
"security@figma.com",
"press@figma.com"
],
"timeoutMs": 1500,
"maxEmails": 20000
}
req = urllib.request.Request(
url,
data=json.dumps(payload).encode("utf-8"),
headers={"Content-Type": "application/json"},
method="POST",
)
with urllib.request.urlopen(req, timeout=120) as resp:
records = json.loads(resp.read().decode("utf-8"))
print(f"Extracted {len(records)} records from email-verifier-bulk")

5.3 Claude Code / Cursor MCP Configuration (.mcp.json)

Expose vivid_astronaut/email-verifier-bulk as a callable tool inside Claude Code, Cursor, or any Model Context Protocol client:

{
"mcpServers": {
"apify-email-verifier-bulk": {
"command": "npx",
"args": [
"-y",
"@apify/actors-mcp-server",
"--actors",
"vivid_astronaut/email-verifier-bulk"
],
"env": {
"APIFY_TOKEN": "YOUR_APIFY_TOKEN"
}
}
}
}