Domain Email Finder — Company Emails from a List of Domains
Pricing
from $3.00 / 1,000 domain contacts
Domain Email Finder — Company Emails from a List of Domains
Paste a list of company domains and get the role mailboxes each company publishes on its own website (info@, sales@, support@, press@ …), with the page each address was found on. Personal addresses are never returned. $3 per 1,000 domains with an email found; the rest are free.
Pricing
from $3.00 / 1,000 domain contacts
Rating
0.0
(0)
Developer
ActorForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
Paste a list of company domains and get the role mailboxes each company publishes on its own website (info@, sales@, support@, press@ …), with the page each address was found on. Personal addresses are never returned. $3 per 1,000 domains with an email found; the rest are free.
Find the email addresses a company publishes, for a whole list of domains at once. Paste domains (or website URLs, or work emails) and the actor reads each company's own website: the home page plus up to four of its contact, imprint/Impressum, about, support, privacy and legal pages. You get one row per domain with the primary email, every company role mailbox it found (info@, hello@, sales@, support@, press@, partnerships@, privacy@ …) and the page and method each address came from (mailto link, JSON-LD, footer, page text), so every email can be checked.
Company mailboxes only. An address is kept only when it is a role or department mailbox on the company's own domain. Anything that looks like a person (jane@, j.smith@, initials) is dropped and only counted, never returned. This is the "domains in, generic company emails out" job for outreach lists, supplier and partner contact sheets, CRM clean-up and Clay or Zapier enrichment columns, without guessing patterns or verifying addresses.
$3 per 1,000 domains with an email found. Domains with no published email, unreachable or bot-protected sites and invalid inputs cost nothing.
What data does it return?
Every run outputs clean, schema-validated rows like these:
| input | status | companyName | primaryEmail | emails | contactPageUrl |
|---|---|---|---|---|---|
| stripe.com | ok | Stripe | dpo@stripe.com | dpo@stripe.com, privacy@stripe.com | https://stripe.com/gb/contact/sales |
| shopify.com | no-emails | Shopify | |||
| basecamp.com | no-emails | Basecamp |
How much does it cost?
Transparent pay-per-event pricing — you only pay for what you get, and the actor always respects your run budget: set a maximum total charge and it stops cleanly at the cap instead of overrunning.
| Event | Price | Charged | Worked example |
|---|---|---|---|
domain-contacts | $0.003 | per domain with at least one company email found | 1,000 domains, 500 with an email = $1.50; domains without an email are free |
apify-actor-start | $0.00005 | per run per GB of memory (platform start fee) | One Clay row (one run at 256 MB) = $0.004 + $0.0000125 |
Input options
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
domains | array | no | — | Company websites, one per line: domains (acme.com), URLs (https://www.acme.com/about) or work emails (jane@acme.com, only the domain is used). One row per domain, duplicates removed. Up to 100,000 per run. |
domain | string | no | — | Optional: one domain, handy when a tool maps one column to one field. Added to the list above. |
maxDomains | integer | no | 1000 | Stop after this many unique domains (a safety cap for big lists). |
maxPagesPerDomain | integer | no | 5 | Pages read per website, home page included. The others are picked from the home page links most likely to list an email: contact, imprint/Impressum, about, support, privacy and legal. Same price whatever you pick. |
Limits & honest notes
- Company contacts only: an email is kept only when its local part is a role or department (info, sales, support, hello, contact, press, office, billing, careers, privacy and about 200 more, in several languages) and it sits on the company's own domain, or on a free-mail domain with the brand name in it (acmeplumbing@gmail.com). Name-like addresses are dropped and counted in personalEmailsDropped. This is not a people email finder: it never guesses or builds addresses (first.last@) and never returns named people.
- Many companies publish no email at all, only contact forms. Expect an email for roughly half of company websites; the others come back as free no-emails rows.
- Emails are not verified by SMTP: they are exactly what the company published on its own pages, with the source page in emailSources.
- Reads static HTML only (no browser). Contacts that a site injects with JavaScript, or shows only as images, are not seen. Only the simple obfuscations are decoded: Cloudflare email protection and "[at]" / "(at)" / "[dot]" spellings.
- robots.txt is respected for every page. A 403, 429 or CAPTCHA page on the home page gives a free blocked row; on a later page the scan of that site stops (scanStoppedBy) and the row keeps what was already found. No proxies are used.
- The run's spend limit is respected: each domain is charged once, before its row is delivered; when the limit is reached the run stops.
Related ActorForge actors
- Contact Details Scraper — emails plus phones, postal address and social profiles
- Domain Enrichment for Clay — the full company row: logo, tech stack, MX, WHOIS, SSL
Changelog
- 2026-10-23 — Initial release: email-only listing of the Contact Details Scraper engine, with the source page of every email, charged only when an email is found, $3 per 1,000 domains.
Built and maintained by ActorForge. Reliability first: every actor in the portfolio is monitored by an automated nightly self-test, and breakages are typically fixed the same day.