Website Contact Extractor — Emails, Phones & Social Links
Pricing
from $1.60 / 1,000 website with contacts
Website Contact Extractor — Emails, Phones & Social Links
Find emails, phone numbers and social media profiles (Facebook, Instagram, LinkedIn, X, YouTube, TikTok) on any website: homepage, contact, about and imprint pages. Paste URLs or enrich a Google Maps or lead scraper dataset in place. Pay only for websites where contacts are found.
Pricing
from $1.60 / 1,000 website with contacts
Rating
0.0
(0)
Developer
tidydata
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
📇 Website Contact Extractor — Emails, Phones & Social Links
Find email addresses, phone numbers and social media profiles (Facebook, Instagram, LinkedIn, X/Twitter, YouTube, TikTok, Pinterest, GitHub, WhatsApp, Telegram, Threads) on any website. The Actor reads the homepage plus the contact, imprint, legal, about and team pages it finds, the way a person would look for contact details.
Paste a list of websites, or enrich the results of another scraper in place — e.g. a Google Maps dataset: every place keeps its data and gets contactEmails, contactPhones, instagram, facebook, linkedin…
$2 per 1,000 websites — you only pay for websites where contacts are found. Unreachable sites, sites without contacts and duplicates are free.
- ✅ Emails from
mailto:links, page text, Cloudflare-protected addresses and "name [at] domain [dot] com" obfuscation; filters out image names and placeholder addresses; company-domain emails listed first (emailsOnDomain) - ✅ Phone numbers from
tel:links and text, validated and normalised to E.164 with Google's libphonenumber (uses the row's country or the website's domain) - ✅ Social profiles: Facebook, Instagram, LinkedIn, X/Twitter, YouTube, TikTok, Pinterest, GitHub, WhatsApp, Telegram, Threads
- ✅ Contact page URL for every site
- ✅ Works after Google Maps & lead scrapers: pick the dataset, the website column is detected automatically, the same website is scanned once
- ✅ Browser-grade connection: gets through most basic bot protections without proxies
- ✅ Respects
robots.txt(can be turned off for your own sites)
Who uses it
- Lead generation — turn a list of businesses from Google Maps, directories or trade-fair exhibitor lists into contactable leads.
- Sales & partnerships — find the right inbox (sales@, press@, partners@) and the company's LinkedIn page.
- Marketing agencies — collect the social profiles of hundreds of local businesses at once.
- Data teams — complete missing emails/phones in a CRM export.
How to use it
A. Paste websites (one per line): example.com, https://www.example.com or any page of the site.
B. Enrich a scraper's results: pick the dataset (e.g. your Google Maps run) in Or enrich the websites in datasets. The website column is found automatically.
C. Run it automatically after your scraper: add this Actor as an integration of the scraper and set datasets to {{resource.defaultDatasetId}}.
Then clean the results with our Email Validator and Phone Number Validator, or merge several runs without duplicates with Merge, Deduplicate & Transform.
Output
List input (one row per website):
{"inputUrl": "https://www.casalucio.es","url": "https://www.casalucio.es/","domain": "casalucio.es","emails": ["hola@casalucio.es", "info@casalucio.es"],"emailsOnDomain": ["hola@casalucio.es", "info@casalucio.es"],"phones": ["+34608400171", "+34913653252", "+34913658217"],"socialLinks": { "instagram": ["https://www.instagram.com/casalucio"], "facebook": ["…"] },"instagram": "https://www.instagram.com/casalucio","facebook": "…","linkedin": null,"contactPage": "https://www.casalucio.es/contacto","pagesScanned": 3,"status": "ok","found": true,"charged": true}
Dataset input: your original row plus contactStatus, contactEmails, contactPhones, contactPage, facebook, instagram, linkedin, twitter, youtube, tiktok, found, charged.
| status | meaning |
|---|---|
ok | the website was read (see found for whether contacts were on it) |
unreachable | the site didn't answer or blocked automated visits (free) |
timeout | the site was too slow (free) |
invalid_url / no_website | no website, or only a social / maps link (free) |
Analyze the results with AI
Qualify the leads you found: Bulk ChatGPT & Claude for Datasets can classify each company (B2B or B2C, industry, fit for your offer) or write a personalized first line for your outreach.
Run it as an integration: in this Actor's Integrations tab add Bulk ChatGPT & Claude and set its datasets to {{resource.defaultDatasetId}}, so every run is analyzed automatically. No API key needed.
Pricing
$0.002 per website where at least one email, phone or social profile is found ($2 per 1,000).
| You scan | You pay (if contacts are found on all) |
|---|---|
| 100 websites | $0.20 |
| 5,000 Google Maps places | up to $10 |
Websites without contacts, unreachable sites and duplicate websites are free. Higher Apify plans get an automatic discount. Set a maximum cost per run to stay in control.
FAQ
Does it find personal emails of employees? It collects the contact details a website publishes (info@, sales@, the names a company lists on its contact or team pages). It doesn't guess or generate addresses.
Why can a website be "unreachable"? Some sites block automated visits with a JavaScript challenge, are down, or very slow. They are listed with the reason and not charged.
Does it render JavaScript? No — it reads the HTML like a fast crawler. Contact details are in the HTML on the vast majority of business websites; single-page apps that load everything with JavaScript may show fewer results.
Is it legal?
The Actor reads only public pages and respects robots.txt. Contact data can be personal data under GDPR and similar laws: use it for legitimate business purposes, respect opt-outs and anti-spam rules.
Something doesn't work? Open an issue in the Issues tab with the website — we answer fast.