Website Email & Social Media Scraper avatar

Website Email & Social Media Scraper

Pricing

from $3.00 / 1,000 email founds

Go to Apify Store
Website Email & Social Media Scraper

Website Email & Social Media Scraper

Extract emails and social media links (Facebook, Instagram, LinkedIn, TikTok, YouTube and more) from any list of websites. Perfect for enriching Google Maps leads, CRM exports, or business directories. Pay only for results actually found - no subscription, no wasted spend.

Pricing

from $3.00 / 1,000 email founds

Rating

0.0

(0)

Developer

Saregaa

Saregaa

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

4 days ago

Last modified

Categories

Share

Website Email & Social Media Scraper | Extract Contact Info from Any Website

Short Description

This Actor visits any list of websites and pulls out email addresses and social media profile links (Facebook, Instagram, LinkedIn, X/Twitter, TikTok, YouTube, Telegram, WhatsApp) automatically — no manual browsing required. It's built for people who have a list of business websites (from Google Maps, a CRM export, a directory, or a spreadsheet) and need working contact points to reach out to them.

It's used by sales teams, marketers, recruiters, and data teams who need clean, structured contact data instead of a list of URLs.

✅ Extracts emails from homepage + Contact/About/Team subpages automatically ✅ Detects 9 social platforms, not just Facebook/Instagram ✅ Works on any industry or country — including French/German business sites ✅ Export to JSON, CSV, Excel, XML ✅ Full REST API and scheduling support


What Data Can Be Extracted?

FieldDescription
start_urlThe website URL that was scraped
emailsArray of unique, validated email addresses found on the site
emailsCountNumber of unique emails found
facebookUrlFacebook page/profile URL, empty if not found
instagramUrlInstagram profile URL, empty if not found
linkedinUrlLinkedIn company or personal profile URL, empty if not found
twitterUrlTwitter / X profile URL, empty if not found
tiktokUrlTikTok profile URL, empty if not found
youtubeUrlYouTube channel URL, empty if not found
telegramUrlTelegram channel/profile URL, empty if not found
whatsappUrlWhatsApp click-to-chat link, empty if not found
aggregatorUrlTripAdvisor/Yelp profile URL, empty if not found
socialLinksCountNumber of distinct social/review profiles found

Features

  • Crawl thousands of websites in a single run with adjustable concurrency (up to 50 sites in parallel)
  • Automatically follows Contact, About, Team, and Impressum-style subpages to find hidden emails
  • Filters out junk emails (image files, tracking pixels, hashed/obfuscated addresses, placeholder domains like example.com)
  • Detects direct social/aggregator links even when the "website" itself is just a Facebook or TripAdvisor page
  • Uses browser-grade TLS fingerprinting to reduce blocks compared to plain HTTP scrapers
  • DNS-over-HTTPS fallback for sites with flaky DNS resolution
  • Export results to JSON, CSV, Excel, or XML directly from Apify Console
  • Full Apify API and scheduling — automate recurring enrichment runs
  • Integrate with Zapier, Make, n8n, or any tool that can call the Apify API

  1. Open the Actor in Apify Console and click Try for free
  2. Paste your list of website URLs into Start URLs (or import a CSV/Google Sheet)
  3. Set Max Concurrency based on how fast you need results (default: 10)
  4. Optionally enable Apify Proxy if you're scraping a large or geo-restricted list
  5. Click Start and download results as JSON, CSV, or Excel once the run finishes

Input Example

The easiest way — just paste a list of website URLs, one per line:

{
"startUrlsText": "pinehillsveterinary.com\nwww.bcrha.org\noakislandanimalhosp.com/?utm_source=gmb&utm_medium=organic\ncaresouth-carolina.com",
"maxConcurrency": 10
}

For programmatic use or chaining from another Actor's output (e.g. a Google Maps scraper), use the startUrls array instead:

{
"startUrls": [
{ "url": "https://www.hope-health.org/" },
{ "url": "https://www.example-restaurant.com/" }
],
"maxConcurrency": 10,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Output Example

{
"start_url": "https://www.hope-health.org/",
"emails": ["info@hope-health.org"],
"emailsCount": 1,
"facebookUrl": "https://www.facebook.com/hopehealthinc",
"instagramUrl": "https://www.instagram.com/hopehealthinc",
"linkedinUrl": "https://www.linkedin.com/company/1868297",
"twitterUrl": "",
"tiktokUrl": "",
"youtubeUrl": "https://www.youtube.com/channel/UCh1c1YImP2X3DlZGyz2PRwg",
"telegramUrl": "",
"whatsappUrl": "",
"aggregatorUrl": "",
"socialLinksCount": 3
}

Use Cases

Google Maps Data Enrichment

Scraped a list of businesses from Google Maps but only got a website URL, no email or socials? Feed those URLs straight into this Actor and get back the missing contact fields in the same dataset shape you can merge back into your Maps results.

Lead Generation

Turn a list of company websites into a list of real, reachable email addresses and social profiles for cold outreach and prospecting campaigns.

Market Research

Quickly find how a set of competitors or an entire local industry (clinics, restaurants, agencies) presents itself online — which platforms they use, whether they publish public contact info at all.

Competitor Monitoring

Track which social platforms competitors are actively using and how their online contact presence changes over time by re-running on a schedule.

CRM & Sales Data Enrichment

Fill missing email and social_profile columns in an existing CRM export by running this Actor against the website column and merging results back by URL.


API Access

This Actor can be triggered and its results retrieved entirely through the Apify API — no manual clicking required. You can:

  • Start runs programmatically and poll for completion
  • Pull results directly from the run's dataset in JSON, CSV, or Excel format
  • Schedule recurring runs (e.g. daily/weekly re-enrichment of a lead list) directly in Apify Console
  • Wire the Actor into Zapier, Make, n8n, or any custom pipeline that can call a REST API

See the API tab on this Actor's page for your account-specific endpoint and authentication details.


Pricing

This Actor uses Pay Per Event pricing — you only pay when something is actually found on a website:

  • Email found — charged once per website, only if at least one valid email is found
  • Social profile found — charged once per website, only if at least one social/aggregator link is found
  • Websites where nothing is found cost nothing beyond the Actor start

Since success rates vary by industry, here's what that looks like in practice:

Sites scrapedIndustry exampleTypical email hit rateTypical social hit rateEstimated emails billedEstimated socials billed
100Healthcare~30%higher than email~30~50–70
1,000Restaurants~35–40%higher than email~350–400~600–800
10,000Real estate agencies~40–60%higher than email~4,000–6,000~7,000–9,000

Social profiles are generally found more often than emails across every industry, since most businesses list at least one social page even when they hide their email behind a contact form.

Check the Pricing tab on this Actor's page for the exact current per-event rates.


Why Use This Instead of Manual Research or a Paid Contact Database?

FeatureThis ActorManual researchPaid contact database (e.g. ZoomInfo, Hunter.io)
Speed for 1,000+ sitesMinutes, automatedDays of manual workFast, but requires existing coverage
Pay only for found results✅ YesN/A❌ Usually flat subscription
Works on any website, any country✅ Yes✅ Yes, but slow❌ Limited to indexed companies
No monthly subscription required✅ Yes✅ Yes❌ Typically required
Structured, exportable output✅ JSON/CSV/Excel/XML❌ Manual spreadsheet✅ Usually yes
Integrates into automated pipelines✅ Full API❌ No✅ Usually yes, at higher cost

FAQ

Is it legal to scrape emails and social links from public websites? Scraping publicly available business contact information is generally legal in most jurisdictions, but you're responsible for complying with applicable laws (such as GDPR/CAN-SPAM) in how you use the data you collect, especially for outreach.

Do I need proxies to run this Actor? Not for most runs. Proxy support is built in and optional — enable it in the input if you're scraping a very large list or sites that are geo-restricted.

Can I schedule this Actor to run automatically? Yes. Use Apify's built-in Scheduler to run it daily, weekly, or on any custom interval.

Can I export results to CSV or Excel? Yes, directly from the Apify Console dataset view, or via the API with format=csv or format=xlsx.

How much does it cost? You only pay for websites where an email or social profile was actually found — see the Pricing section above and the Pricing tab for exact current rates.

How many websites can I scrape in one run? There's no hard limit — concurrency is configurable up to 50 parallel sites, so runs scale to tens of thousands of URLs.

Does it work worldwide, or only for English-language sites? It works on sites in any language. Subpage detection also recognizes French and German patterns (kontakt, impressum, l-equipe, a-propos) in addition to English ones.

Can I use it through the API without opening Apify Console? Yes, the Actor is fully controllable via the Apify API — start runs, check status, and pull results programmatically.

What happens if a website blocks the scraper or times out? That site is skipped and returned with empty fields rather than failing the whole run — you're not charged for sites where nothing was found.

How often is the Actor updated? The Actor is actively maintained, with updates to subpage detection patterns and social platform coverage as sites evolve.

Can I feed it URLs from a Google Maps scraper? Yes — this is one of its primary use cases. Take the website field from any Google Maps scraper's output and use it as startUrls here to fill in missing emails and social links.

Does it extract phone numbers too? Not currently — this Actor is focused specifically on emails and social/aggregator profile links.


How to Scrape Website Emails at Scale

Manually opening every website's Contact page to copy an email address doesn't scale past a handful of leads. This Actor automates that exact workflow: it fetches each site, checks the homepage and the most likely subpages (Contact, About, Team), and extracts every valid email it finds — deduplicated and filtered for junk automatically.

Website Email Scraper API Alternative

If you're currently paying for a fixed-subscription contact database and only using a fraction of its coverage, a pay-per-event scraper like this one can be cheaper for targeted lists, since you only pay for websites where a result was actually found, with no monthly minimum.

How Much Does It Cost to Scrape Emails from a Website?

Cost depends entirely on how often emails are actually published — see the Pricing section above for real industry benchmarks (roughly 30% for healthcare, 35–40% for restaurants, 40–60% for real estate). Since you only pay for hits, low-hit-rate industries simply cost less overall, not more per unit.

Export Website Contact Data to CSV

Every run's results can be downloaded as CSV directly from the Output tab in Apify Console, or pulled via the API with format=csv — ready to import into a CRM or spreadsheet tool.

Automate Website Contact Data Collection

Combine the Apify Scheduler with this Actor to re-run enrichment on a list periodically, or trigger it from Zapier/Make/n8n whenever new leads are added to your CRM.


Support

Found a bug or have a feature request? Open an issue on this Actor's Issues tab in Apify Console, or reach out through Apify's support channels. Feedback on data accuracy for specific industries or regions is especially welcome — it directly improves subpage detection patterns.