B2B Email Finder Pro - Domain to Verified Contacts avatar

B2B Email Finder Pro - Domain to Verified Contacts

Pricing

from $30.00 / 1,000 verified email returneds

Go to Apify Store
B2B Email Finder Pro - Domain to Verified Contacts

B2B Email Finder Pro - Domain to Verified Contacts

Verified B2B contact emails with MX validation, pattern detection, and deliverability scoring. Hunter.io / Apollo alternative.

Pricing

from $30.00 / 1,000 verified email returneds

Rating

0.0

(0)

Developer

Creator Fusion

Creator Fusion

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

4 days ago

Last modified

Share

B2B Email Finder Pro - Hunter.io Alternative

Company domain in. Verified B2B contact emails out. Crawlee scrape + MX validation + pattern detection + 1-5 deliverability score.

Hunter.io charges $0.50-$2.00 per email. Apollo charges $0.10+ per contact. We charge $0.03 per verified email with the same MX-validated, deliverability-scored output. That's a 16x undercut on Hunter and 3x on Apollo - for buyers who care about quality but not Hunter's brand premium.

Input

{
"domains": ["stripe.com", "hubspot.com"],
"include_patterns": true,
"mx_validate": true,
"max_emails_per_domain": 10
}

Backward compatible: legacy urls and url fields are still accepted and converted to domains.

Output (per domain)

{
"domain": "stripe.com",
"emails": [
{
"address": "press@stripe.com",
"source": "scraped",
"found_on": "https://stripe.com/about",
"mx_valid": true,
"confidence": 5,
"format": "role"
}
],
"mx_records": ["mx1.stripe.com", "..."],
"summary": {
"scraped_count": 4,
"pattern_count": 6,
"high_confidence_count": 4
},
"scraped_at": "2026-05-20T12:34:56.000Z"
}

Confidence (1-5)

SourceMX validFormat matchScore
scrapedyesrole/first.last5
scrapedyesother4
scrapednorole/first.last4
patternyesrole3
patternnorole2

Pricing

$0.05 start + $0.03 per verified email returned (PAY_PER_EVENT).

ProviderPer-email costNotes
Hunter.io$0.50 - $2.00Brand premium, similar feature set
Apollo.io~$0.10/contactBundled in seat pricing; per-email higher
ZoomInfo$1 - $5Enterprise tier only
This actor$0.03Same MX + pattern + scoring pipeline

Typical run: 1 domain -> ~5 verified emails for $0.20 total ($0.05 start + 5 x $0.03).

Cost transparency — what you pay for

This actor's per-event pricing covers the email-discovery work. Two other Apify costs may apply, and they're billed directly to your Apify account, not to us:

CostDefaultWho controls it
Compute units (CU)~0.001-0.01 CU per domain (free on most plans)Apify (based on runtime)
Apify ProxyOFF by defaultYOU — enable only if needed
Storage (dataset)~free for small runsApify

Proxy specifically: unless you turn it on, the actor crawls public company pages directly with no proxy. Saves you proxy data fees ($1+/GB on residential). If you're getting 403/429s on hostile domains (anti-bot, geo-restricted, etc.), enable Apify Proxy in the input — but know that Apify will bill the proxy data to your account, on top of our $0.05 + $0.03/email.

Bottom line: with default settings, a typical 5-email run costs YOU $0.20 total ($0.05 start + 5 × $0.03 = $0.20, no proxy).

Field changes

  • Output: emails[] with confidence 1-5, source (scraped|pattern), found_on, mx_valid, format
  • Output: summary with scraped_count, pattern_count, high_confidence_count
  • Output: mx_records[] for the domain
  • Input: domains, urls (legacy), url (legacy), include_patterns, mx_validate, max_emails_per_domain

Programmatic API usage

This actor is callable via the standard Apify API. Three patterns:

curl -X POST "https://api.apify.com/v2/acts/apricot_blackberry~b2b-email-finder-pro/run-sync-get-dataset-items?token=YOUR_TOKEN&timeout=60" \
-H "Content-Type: application/json" \
-d '{"domains": ["stripe.com", "hubspot.com"]}'

Returns dataset items as JSON. Single round-trip. Best for low-volume / interactive use.

Pattern B — Start run, poll, fetch dataset (high-volume)

# 1. Start
RUN_ID=$(curl -s -X POST "https://api.apify.com/v2/acts/apricot_blackberry~b2b-email-finder-pro/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domains": ["stripe.com"]}' | jq -r '.data.id')
# 2. Poll
curl "https://api.apify.com/v2/actor-runs/$RUN_ID?token=YOUR_TOKEN" | jq '.data.status'
# 3. Fetch when SUCCEEDED
DATASET_ID=$(curl "https://api.apify.com/v2/actor-runs/$RUN_ID?token=YOUR_TOKEN" | jq -r '.data.defaultDatasetId')
curl "https://api.apify.com/v2/datasets/$DATASET_ID/items?token=YOUR_TOKEN&clean=true"

Pattern C — Webhook on completion

Configure a webhook in Apify Console (Actor → Webhooks) to fire on ACTOR.RUN.SUCCEEDED. Use this for batch jobs / pipelines.

POST your-receiver.example.com
{
"userId": "...",
"createdAt": "...",
"eventType": "ACTOR.RUN.SUCCEEDED",
"eventData": { "actorRunId": "...", "actorId": "..." }
}

Node.js (apify-client)

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_TOKEN" });
const { defaultDatasetId } = await client
.actor("apricot_blackberry/b2b-email-finder-pro")
.call({ domains: ["stripe.com"] });
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items[0].emails);

Python (apify-client)

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("apricot_blackberry/b2b-email-finder-pro").call(
run_input={"domains": ["stripe.com", "hubspot.com"]}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["domain"], len(item["emails"]), "emails")

MCP compatibility

This actor is callable from Claude Desktop, Cursor, and any MCP-aware client via the Apify MCP server. See Apify MCP docs.

Rate limits + scaling

  • Default actor timeout: 5 min per run (1 domain typically completes in ~3-8s)
  • Crawlee browses with concurrency 5 by default
  • For batch >50 domains: use Pattern B with concurrency 5-10
  • Apify per-account rate limits apply; check your plan tier