Email Verifier API & Bulk Email Validator (MX, SMTP)
Pricing
$1.00 / 1,000 email verifieds
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
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
a day ago
Last modified
Categories
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
| Parameter | Type | Default | Technical Specification |
|---|---|---|---|
emails | array | ["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. |
timeoutMs | integer | 1500 | Timeout used for the DNS MX check. This Actor does not probe SMTP or send email. |
maxEmails | integer | 20000 | Per-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
| Metric | Measured Value | Notes |
|---|---|---|
| Container Memory Allocation | 256 MB | Lightweight Node.js 20 container (apify@^3.2.6) |
| Median Execution Latency | 2.48 s | Cold start to dataset commit for default batch |
| External Proxy Requirement | $0.00 | No residential proxy bandwidth surcharge required |
| Primary Billing Event | email-verified | Charged strictly per committed dataset record |
| Unit Price (Pay-Per-Event) | $0.0010 / record | Equivalent 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 jsonimport osimport urllib.requestAPIFY_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"}}}}