Website Contact Scraper - Emails, Phones & 6 Socials avatar

Website Contact Scraper - Emails, Phones & 6 Socials

Pricing

$10.00 / 1,000 website processeds

Go to Apify Store
Website Contact Scraper - Emails, Phones & 6 Socials

Website Contact Scraper - Emails, Phones & 6 Socials

Crawl any website (plus /contact, /about, /impressum) and get one row with emails, phones, addresses and links for LinkedIn, X, Instagram, Facebook, YouTube and GitHub. $0.01 per site processed, failed sites free.

Pricing

$10.00 / 1,000 website processeds

Rating

5.0

(1)

Developer

Gio

Gio

Maintained by Community

Actor stats

1

Bookmarked

94

Total users

22

Monthly active users

0.22 hours

Issues response

2 days ago

Last modified

Share

Website Contact Information Extractor

Why use this scraper

Finding a company's contact details usually means opening its homepage, then its /contact page, then /about, then giving up and checking LinkedIn or Instagram instead, one company at a time. Sales teams building a lead list, agencies vetting prospects, and researchers building a company directory all hit the same wall: contact info is scattered across a handful of pages per site, in inconsistent formats, and doing it by hand does not scale past a few dozen companies.

This actor automates that walk. Give it a list of websites and it crawls the homepage plus the common contact/about pages on each one, pulls out emails, phone numbers, addresses and social profile links, deduplicates everything, and hands back one consolidated row per website. What would be six or seven browser tabs and a spreadsheet of copy-pasted links per company becomes one API call for the whole list.

Overview

Input is a list of website URLs or bare domains. For each one, the actor fetches the homepage plus a configurable set of extra paths (contact, about, impressum and legal pages by default), scans every page it reaches for contact patterns, and merges the results into a single deduplicated record per site. A batch of a few hundred sites typically finishes in minutes; sites that fail to load at all are not charged.

Supported inputs

  • websites (required) - list of URLs or plain domains, one company per entry (e.g. stripe.com or https://stripe.com).
  • extraPaths - comma-separated paths to crawl in addition to the homepage. Defaults to /contact,/contact-us,/about,/about-us,/impressum,/legal, which covers where most companies publish contact details; override it for a site with a non-standard structure.
  • useProxy - routes requests through Apify's residential proxy to get past simple bot blocks. Off by default because it slows down the crawl; turn it on only for sites that return empty results with it off.

Use cases

  • Sales and lead enrichment - turn a list of target company domains into a contact sheet with email, phone and social handles for outreach.
  • Agency prospecting - vet a batch of prospective clients by pulling their public contact info and social presence in one pass.
  • Directory and database building - populate a company directory with verified contact links instead of manual research.
  • Compliance and due diligence checks - confirm a website publishes a real, reachable contact page and registered address before doing business with it.
  • Recruiter and partnership outreach - collect LinkedIn and other social links for companies you plan to approach.
  • Market mapping - process a scraped list of companies in a niche (from a directory or a prior scrape) and turn it into a contactable database in one pass.
  • Investor and vendor research - pull the public contact footprint of a shortlist of companies before an outreach call, without opening every site by hand.

How it works

For each website, the actor fetches the homepage and the configured extra paths with a lightweight crawler, then scans the HTML (including structured data where the page provides it) for email addresses, phone-shaped numbers, postal addresses and links to LinkedIn, Twitter/X, Instagram, Facebook, YouTube and GitHub. Matches from every page checked on a site are merged and deduplicated into one output row, along with the list of pages that were actually reachable.

Because the crawl walks a fixed, configurable list of paths rather than trying to render the whole site, it stays fast and predictable even on sites with large navigation menus: it looks exactly where contact information usually lives instead of exploring every link it finds.

Input configuration

Single site, default paths:

{
"websites": ["stripe.com"]
}

Batch of sites for a lead list:

{
"websites": ["https://airbnb.com", "https://notion.so", "https://linear.app"]
}

Site with a non-standard contact page, using the residential proxy:

{
"websites": ["https://example-shop.com"],
"extraPaths": "/pages/contact,/pages/about-us,/support",
"useProxy": true
}

Output sample

Real item from a production run (truncated for readability; the actual phones array can contain more raw matches than shown here):

{
"website": "https://stripe.com",
"emails": ["jane.diaz@stripe.com"],
"phones": ["+1 888 926 2289"],
"addresses": [],
"linkedin": ["https://www.linkedin.com/company/stripe"],
"twitter": ["https://twitter.com/stripe"],
"instagram": ["https://www.instagram.com/stripehq"],
"facebook": ["https://www.facebook.com/StripeHQ"],
"youtube": ["https://youtube.com/@stripe", "https://youtube.com/@StripeDev"],
"github": ["https://github.com/stripe"],
"pagesScraped": ["https://stripe.com"],
"scrapedAt": "2026-09-21T19:13:00.651Z"
}

Key output fields

FieldTypeDescription
websitestringThe input website, echoed back
emails[]arrayDeduplicated email addresses found across all pages checked
phones[]arrayPhone-shaped number strings found on the page; see limitations below
addresses[]arrayPostal addresses detected, when the site publishes one in a recognizable format
linkedin[] / twitter[] / instagram[] / facebook[] / youtube[] / github[]arrayLinks to that platform found on the site
pagesScraped[]arrayWhich of the homepage + extra paths actually responded and were scanned
scrapedAtstringISO timestamp of the crawl

Pricing

EventPrice
Website processed (website-processed)$0.01 per website crawled and deduplicated

Sites that fail entirely (no page loads) are not charged.

What makes this richer than the competition

  • thenetaji/website-email-scraper (117 users/30d) charges $0.005 per result on the free tier down to $0.002 on higher tiers, cheaper than this actor's flat $0.01, but returns emails and phones without the six-platform social link set (LinkedIn, Twitter, Instagram, Facebook, YouTube, GitHub) this actor consolidates into every row.
  • jurassic_jove/website-email-extractor (83 users/30d) charges $0.006 per URL and follows Linktree/bio-page links, but covers a narrower set of social platforms than the six this actor returns per site.

This actor's differentiator is breadth per row: one call returns emails, phones, addresses and six social platforms merged from up to six pages per site, rather than requiring a second actor or a manual pass to fill in the social links. For a sales team building a lead list, that means one output column set feeds the CRM directly instead of stitching together two tools' results.

Notes & limitations

  • Phone detection is pattern-based and can pick up other numeric strings on pages dense with numbers (prices, dates, order IDs), alongside real phone numbers. Treat the phones array as candidates to verify, not a guaranteed-clean list, and prefer emails and the social links when you need the highest-confidence fields.
  • Sites that require JavaScript to render their contact page, or that block simple crawlers, may return empty results with useProxy off; try turning it on for those.
  • The actor only visits the homepage and the configured extraPaths; a contact page at an unlisted path will be missed unless you add it.
  • addresses detection is best-effort and depends on the site publishing an address in a common, machine-readable format.
  • A site behind a hard bot-block (Cloudflare challenge pages and similar) may return zero pages scraped even with the proxy on; those sites are out of scope for this crawler and would need a browser-based tool instead.

FAQ

Does this handle a list of thousands of domains? Yes, pass them all in websites; each is billed and processed independently.

What if a site has no contact page at all? The actor still returns whatever it found on the homepage; pagesScraped shows exactly which pages responded.

Can I extract from a single page URL instead of a domain? Yes, pass the exact URL; the actor will still also try the configured extraPaths relative to that host.

Why are some phone numbers obviously wrong? See Notes & limitations: the phone matcher is intentionally broad to avoid missing real numbers, which means it also catches some non-phone numeric strings.

Does it require login or an API key for the target sites? No, it only reads publicly available pages.

Will it find personal emails of employees, not just a general company address? Only if those emails are published somewhere on the crawled pages (a team page, an about page with staff bios); the actor does not search beyond the site itself.

How is this different from just Googling the company? It processes an entire list of companies in one run and returns the results as structured data, instead of a page-by-page manual search per company.

Can I re-run the same list later to catch updates? Yes, each run is independent; re-run the same websites list periodically to refresh contact info as companies update their pages.

For AI Agents & LLM Apps

Call this actor from an MCP client via mcp.apify.com, or synchronously from a backend enriching a lead list:

curl "https://api.apify.com/v2/acts/gio21~website-contact-extractor/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-X POST -H "Content-Type: application/json" \
-d '{"websites": ["stripe.com", "airbnb.com"]}'

The response is the dataset items directly, ready to merge into a CRM record or agent-driven outreach workflow, with each site's socials and emails already deduplicated so the agent does not need a separate cleanup step before acting on them.

SEO Keywords

website contact scraper, email extractor API, company contact finder, bulk email scraper, lead enrichment API, website social links scraper