Website Contact Finder — Emails, Phones & Socials
Pricing
Pay per usage
Website Contact Finder — Emails, Phones & Socials
Turn a list of company websites into contact records: emails, phone numbers and social profiles, with each address labelled by how it was found.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Trần Chính
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Give it a list of company websites; get back a contact record for each one: emails, phone numbers, social profiles, company name and description.
Every address is labelled by how it was found. An address taken from a
mailto: link is the company telling you where to write. An address scraped out
of page text is a guess. Most contact scrapers hand you one undifferentiated
column; this one tells you which is which, so your outreach list can be filtered
by confidence instead of hope.
Why the output is clean
The naive way to build this is an email regex and a phone regex over the HTML. On real sites that returns image filenames as emails and order IDs as phone numbers — measured on five well-known sites, the naive approach produced 78 to 202 phone numbers per site, none of them real.
This Actor takes phone numbers only from tel: links, drops hashes, tracking
addresses, noreply@, example.com and image filenames, and repairs the escape
debris (u003esupport@…) that leaks out of inline scripts. Same five sites:
zero false phone numbers.
Output
{"domain": "ahrefs.com","website": "https://ahrefs.com","company_name": "Ahrefs","description": "Ahrefs is an all-in-one SEO toolset.","primary_email": "pr@ahrefs.com","emails": [{"email": "pr@ahrefs.com", "source": "mailto", "is_role_address": true,"on_company_domain": true, "found_on": "https://ahrefs.com/contact"},{"email": "support@ahrefs.com", "source": "page_text", "is_role_address": true,"on_company_domain": true, "found_on": "https://ahrefs.com"}],"emails_count": 2,"phones": [{"phone": "+15125550123", "source": "tel", "found_on": "https://ahrefs.com/contact"}],"phones_count": 1,"social_profiles": {"linkedin": "https://linkedin.com/company/ahrefs","x": "https://x.com/ahrefs","facebook": "https://facebook.com/ahrefs"},"pages_checked": 4,"has_contact": true}
Emails are ranked: declared (mailto) before guessed, company domain before
free mail, role addresses (info@, sales@) before personal ones.
Use it for
- Lead generation — turn a list of companies into an outreach list
- CRM enrichment — fill in missing contact fields on accounts you already have
- Partner and supplier research — find who to contact at a list of vendors
- Data cleaning — check which domains in an old list are still alive
Input
{"domains": ["stripe.com", "https://www.basecamp.com", "ahrefs.com"],"extraPages": 4,"onlyCompanyDomain": true,"skipWithoutContact": true}
| Field | What it does |
|---|---|
| Company websites | Any format — bare domain, full URL, with or without www |
| Extra pages to check | Tries /contact, /about, /impressum and similar |
| Only company-domain emails | Drops gmail and agency addresses |
| Skip sites with no contact | Keeps dead ends out of your dataset, so you don't pay for them |
Speed
Dead domains are the tax on every lead list. This Actor treats a DNS failure or a timeout as final rather than retrying it four times — which took one test run from 407 seconds down to 30.
Reliability
- Retries genuine network errors with exponential backoff; does not retry failures that cannot heal
- Unreachable sites are reported and never charged
- If every site fails, the run fails loudly instead of returning an empty dataset
Pricing
Pay per domain returned. No subscription.
FAQ
Why do some big companies return no email? Many large firms deliberately publish only a contact form. The Actor reports that honestly rather than inventing an address.
Can it find a specific person's email?
No. It returns what the website publishes — usually role addresses. It does not
guess patterns like firstname.lastname@, which is how most lists end up full
of bounces.
Is this legal? It reads publicly published contact details. Business contact data is still personal data under GDPR, so if you email EU recipients you need your own lawful basis. You are the controller; check your local rules before sending.