Website Contact Extractor — Emails, Phones & Social Links avatar

Website Contact Extractor — Emails, Phones & Social Links

Pricing

from $1.60 / 1,000 website with contacts

Go to Apify Store
Website Contact Extractor — Emails, Phones & Social Links

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

tidydata

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

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.

statusmeaning
okthe website was read (see found for whether contacts were on it)
unreachablethe site didn't answer or blocked automated visits (free)
timeoutthe site was too slow (free)
invalid_url / no_websiteno 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 scanYou pay (if contacts are found on all)
100 websites$0.20
5,000 Google Maps placesup 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.