Domain Email Finder
Pricing
from $3.00 / 1,000 email or domain results
Domain Email Finder
Find email addresses for company domains by crawling homepage, contact, about, and team pages (mailto, regex, JSON-LD) and generating common email patterns from full names. Lead-gen ready with confidence scores.
Pricing
from $3.00 / 1,000 email or domain results
Rating
0.0
(0)
Developer
Harsh
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does Domain Email Finder do?
Domain Email Finder discovers email addresses for company domains — ideal for cold outreach, lead lists, and enrichment pipelines. Give it domains like acme.com, optionally add full names, and it:
- Crawls the homepage plus
/contact,/about,/team(and linked contact pages) with a fast Cheerio crawler - Extracts emails from
mailto:links, page text, and JSON-LD structured data - Generates common email patterns from names (
first@,first.last@,flast@,firstl@, …) - Deduplicates results with confidence scores (
high/medium/low)
Runs on the Apify platform with API access, scheduling, integrations, proxy rotation, and monitoring.
Why use Domain Email Finder?
- Cold email stacks need domain → emails without paying Apollo for every lookup
- Lead generation at scale: feed domains from SERP, directories, or CRM exports
- Pattern + website hybrid: catch public inbox addresses and guess role-based / name-based patterns
- Honest confidence: patterns are not SMTP-verified — marked medium/low so you can filter or verify elsewhere (e.g. MillionVerifier)
- Pay-per-result pricing (~$0.003 per dataset item) keeps cost predictable
How to use Domain Email Finder
- Open the Actor in Apify Console
- Enter one or more domains (e.g.
acme.com) - Optionally add full names for pattern generation
- Leave Crawl website and Generate patterns enabled (defaults)
- Click Start and download the dataset as JSON, CSV, Excel, or HTML
Example input
{"domains": ["apify.com", "stripe.com"],"fullNames": ["Jane Doe"],"maxPagesPerDomain": 8,"generatePatterns": true,"crawlWebsite": true,"maxConcurrency": 5,"requestDelayMs": 200}
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
domains | string[] | Yes | — | Domains to process (acme.com or full URLs) |
fullNames | string[] | No | [] | Names for pattern generation |
maxPagesPerDomain | integer | No | 8 | Cap on pages crawled per domain |
generatePatterns | boolean | No | true | Build pattern emails from names |
crawlWebsite | boolean | No | true | Crawl site for public emails |
maxConcurrency | integer | No | 5 | Parallel HTTP requests |
maxRequestRetries | integer | No | 3 | Retries for failed pages |
requestDelayMs | integer | No | 200 | Rate-limit hint |
proxyConfiguration | object | No | Proxy off | Apify Proxy settings |
See the Input tab for the full form schema.
Output
Each dataset item is either an email row or a domain_summary row (null-safe fields on both).
Email result
{"type": "email","domain": "acme.com","email": "info@acme.com","source": "mailto","confidence": "high","fullName": null,"pattern": null,"pageUrl": "https://acme.com/contact","emailsFound": null,"pagesScraped": null,"error": null,"scrapedAt": "2026-07-18T12:00:00.000Z"}
Domain summary
{"type": "domain_summary","domain": "acme.com","email": null,"source": null,"confidence": null,"fullName": null,"pattern": null,"pageUrl": null,"emailsFound": 5,"pagesScraped": 4,"error": null,"scrapedAt": "2026-07-18T12:00:00.000Z"}
You can download the dataset in JSON, HTML, CSV, or Excel.
Data table
| Field | Description |
|---|---|
type | email or domain_summary |
domain | Normalized host without www |
email | Found or generated address |
source | mailto, json-ld, website, or pattern |
confidence | high (mailto/json-ld), medium (text or strong patterns), low (weaker patterns) |
fullName | Name used for the pattern, if any |
pattern | Template id (e.g. first.last, flast) |
pageUrl | Page where the email was scraped |
emailsFound | Unique emails for the domain (summary only) |
pagesScraped | Pages successfully scraped (summary only) |
scrapedAt | ISO timestamp |
Patterns generated (when names are provided)
| Pattern | Example (Jane Doe @ acme.com) | Default confidence |
|---|---|---|
first | jane@acme.com | medium |
first.last | jane.doe@acme.com | medium |
flast | jdoe@acme.com | medium |
firstl | janed@acme.com | medium |
f.last | j.doe@acme.com | medium |
last | doe@acme.com | low |
first_last | jane_doe@acme.com | low |
first-last | jane-doe@acme.com | low |
first.l | jane.d@acme.com | low |
last.first | doe.jane@acme.com | low |
lastf | doej@acme.com | low |
f_last | j_doe@acme.com | low |
These are not SMTP-verified. Use a verifier if you need deliverability guarantees.
Pricing / Cost estimation
How much does it cost to find emails for a domain?
Pay-per-event pricing: $0.003 per dataset item (apify-default-dataset-item), plus a tiny actor-start fee.
- Each email row is one chargeable result
- Each domain_summary row is also one result
- Example: 1 domain, 10 unique emails → ~11 items ≈ $0.033
Apify free tier compute units apply for development; production usage depends on crawl depth and proxy.
Tips
- Set
crawlWebsite: falseif you only want pattern emails from names (fast, no HTTP) - Raise
maxPagesPerDomainfor sites that bury emails deep in/careersor multi-language paths - Prefer high confidence (
mailto/json-ld) for outreach; treat pattern rows as candidates - Use Apify Proxy for domains that block datacenter IPs
- Combine with a SERP or directory Actor for bulk domain lists
FAQ, disclaimers, and support
Is scraping emails legal?
Scraping publicly available contact info is common for B2B lead gen, but you must comply with applicable laws (CAN-SPAM, GDPR, CASL, etc.), the target site’s Terms of Service, and anti-spam rules. This Actor does not send email.
Are pattern emails verified?
No. Patterns are heuristic only. Confidence never exceeds medium for patterns.
Why were some emails dropped?
Noise filters remove placeholders (example.com, Sentry, Wixpress, noreply, image-like addresses, etc.).
Need a custom solution?
Open an issue on the Actor’s Issues tab or contact the developer for custom enrichment pipelines.
Built with TypeScript, Apify SDK, and Crawlee CheerioCrawler.