B2B Email Finder Pro - Domain to Verified Contacts
Pricing
from $30.00 / 1,000 verified email returneds
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
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
4 days ago
Last modified
Categories
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)
| Source | MX valid | Format match | Score |
|---|---|---|---|
| scraped | yes | role/first.last | 5 |
| scraped | yes | other | 4 |
| scraped | no | role/first.last | 4 |
| pattern | yes | role | 3 |
| pattern | no | role | 2 |
Pricing
$0.05 start + $0.03 per verified email returned (PAY_PER_EVENT).
| Provider | Per-email cost | Notes |
|---|---|---|
| Hunter.io | $0.50 - $2.00 | Brand premium, similar feature set |
| Apollo.io | ~$0.10/contact | Bundled in seat pricing; per-email higher |
| ZoomInfo | $1 - $5 | Enterprise tier only |
| This actor | $0.03 | Same 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:
| Cost | Default | Who controls it |
|---|---|---|
| Compute units (CU) | ~0.001-0.01 CU per domain (free on most plans) | Apify (based on runtime) |
| Apify Proxy | OFF by default | YOU — enable only if needed |
| Storage (dataset) | ~free for small runs | Apify |
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[]withconfidence1-5,source(scraped|pattern),found_on,mx_valid,format - Output:
summarywithscraped_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:
Pattern A — Run + wait + return dataset items (recommended)
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. StartRUN_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. Pollcurl "https://api.apify.com/v2/actor-runs/$RUN_ID?token=YOUR_TOKEN" | jq '.data.status'# 3. Fetch when SUCCEEDEDDATASET_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 ApifyClientclient = 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