Website Contact Finder: Emails, Phones & Socials
Pricing
Pay per usage
Website Contact Finder: Emails, Phones & Socials
Extract business emails, phone numbers (E.164), social links and contact page from any list of websites. Charged only for domains where contacts are found. Hard spending cap, dedupe and skip lists built in.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Guangfang Han
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Website Contact Finder – Emails, Phones & Social Links (pay only for results)
Find business emails, phone numbers, social media profiles and the contact page of any list of websites. Built for lead lists from Google Maps, directories or CRMs: paste domains, get one clean row per company.
Why this one
- Pay only for results. Charged per domain where at least one email or phone was found (
contact-foundevent). No contacts = free. No per-page or compute surprises. - Hard spending cap. Set
maxChargeUsd– the run stops before it can exceed it (plus Apify's own max-charge limit is respected). - No duplicates, no re-paying. One record per domain. Skip domains you already have with
skipDomainsorskipDatasetId(a previous run's dataset). - Finds hidden emails:
mailto:links, plain text, obfuscatedinfo [at] acme [dot] com, HTML entities, Cloudflare email protection (data-cfemail), JSON-LD. - Clean output: junk filtered (image file names, Sentry/Wix tracking addresses, example.com, font-vendor credits, form placeholders), phones normalised to E.164 with libphonenumber, optional MX check per email domain, emails tagged
generic(info@, sales@) vspersonal. - Fast & light: HTTP-only (no browser), crawls just the home page plus contact / about / impressum / legal pages (default 5 pages, depth 1).
Input
| Field | Description |
|---|---|
startUrls / domains | Websites to check |
skipDomains, skipDatasetId | Already processed – not crawled, not charged |
maxPagesPerSite | Default 5 |
defaultCountry | ISO-2 for local phone numbers (inferred from TLD if empty) |
checkMx | Validate email domains (default true) |
requireEmail | Output only domains with an email |
respectRobotsTxt | Optional |
maxResults, maxChargeUsd | Hard limits |
proxyConfiguration | Optional |
Output (one item per domain)
{ "domain": "zodiacplumbing.co.uk", "url": "https://zodiacplumbing.co.uk", "emailsFound": 1,"emails": [{ "email": "info@zodiacplumbing.co.uk", "type": "generic", "mxValid": true, "sourceUrl": "https://www.zodiacplumbing.co.uk/" }],"phones": ["+441613885506"], "socials": { "facebook": "https://www.facebook.com/..." },"contactPageUrl": "https://www.zodiacplumbing.co.uk/contact/", "companyName": "Zodiac Plumbing and Heating","pagesCrawled": 2, "status": "ok", "scrapedAt": "2026-10-26T02:55:00.000Z" }
status: ok (contacts found, billable), no_contacts (free), failed (site unreachable/blocked, free).
Pricing
Pay-per-event: $3 per 1,000 domains with contacts found (contact-found). Domains without results and failed domains are not charged. Platform usage is included.
Tested
Local test on 40 real small-business websites (dentists, plumbers, restaurants, accountants, hotels, physios, web agencies in US, UK, DE, AU, CA, PT, IE): 37/40 with at least one email, 34/40 with a phone, ~80 s total.
Limitations
- HTTP only: sites that render contacts purely with JavaScript, or sit behind bot protection (403/challenge pages), may return no contacts.
- Contact forms without a visible address cannot yield an email.
- Emails of web agencies/developers credited in footers may appear (they are on the site); check
sourceUrl.
Legal / GDPR
This Actor extracts publicly published business contact details from company websites. It is intended for B2B use only. You are responsible for using the data lawfully (GDPR, ePrivacy, CAN-SPAM, PECR, local laws), including having a legitimate interest, honouring opt-outs and not collecting data about private individuals. Do not use it for spam.