Contact Details Scraper
Pricing
from $1.50 / 1,000 results
Contact Details Scraper
Email extractor and lead scraper to extract and download emails, phone numbers, Facebook, Twitter, LinkedIn, Instagram, Threads, Snapchat, and Telegram profiles from any website. Extract contact information at scale from lists of URLs and download the data as Excel, CSV, JSON, HTML, and XML.
Pricing
from $1.50 / 1,000 results
Rating
5.0
(1)
Developer
Nogards
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Website Contact Scraper — Extract Emails, Phone Numbers & Social Profiles from Any Domain
Automatically extract business emails, phone numbers, WhatsApp links and social media profiles from any website. Fast, lightweight, one clean result per domain.
Stop wasting hours manually hunting for contact info. Paste a list of URLs and get back every email, phone number, WhatsApp link, LinkedIn, Instagram, Facebook, and more — structured and ready to use.
What it does
Give this actor a list of websites. It crawls each one intelligently — hitting contact pages, about pages, and legal pages first — and returns a single clean record per domain with all the contacts it found.
No headless browser. No Playwright. No slow JavaScript rendering. Just raw HTTP speed with Cheerio.
Features
- Emails — extracted from page text and
mailto:links, deduplicated, spam-filtered - Phone numbers — from
tel:links and visible text, no SVG/CSS false positives - WhatsApp — detects
wa.meandapi.whatsapp.comlinks, extracts the number - Social profiles — LinkedIn, Facebook, Instagram, Twitter/X, YouTube, TikTok (share buttons excluded)
- Smart crawl order — contact and about pages are visited first, so you get results faster
- Early stop — stops crawling a domain the moment contacts are found (saves credits)
- One result per domain — clean, structured output, no duplicates
- Proxy support — works with Apify residential proxies to avoid blocks
Input
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array | — | List of website URLs to scrape (required) |
maxPagesPerDomain | integer | 10 | Max pages crawled per domain (1–50) |
maxDepth | integer | 2 | How deep to follow internal links (1–5) |
earlyStop | boolean | true | Stop as soon as contacts are found |
proxyConfiguration | object | — | Apify proxy settings (optional) |
Example input
{"startUrls": [{ "url": "https://example-agency.com" },{ "url": "https://another-company.io" }],"maxPagesPerDomain": 10,"maxDepth": 2,"earlyStop": true}
Output
One flat record per domain — ready to export as CSV or filter directly in the Apify dataset viewer.
{"domain": "example-agency.com","startUrl": "https://example-agency.com","finalUrl": "https://www.example-agency.com","emails": "info@example-agency.com, sales@example-agency.com","phones": "+39 02 1234567","whatsapps": "+393331234567","linkedin_url": "https://linkedin.com/company/example-agency","facebook_url": "","instagram_url": "https://instagram.com/exampleagency","twitter_url": "","youtube_url": "","tiktok_url": "","pagesVisited": 3,"stoppedReason": "early-stop","updatedAt": "2026-05-25T10:30:00.000Z"}
Fields
| Field | Description |
|---|---|
domain | Cleaned domain (no www) |
startUrl | The URL you provided as input |
finalUrl | The last URL loaded (after redirects) |
emails | Comma-separated list of found emails |
phones | Comma-separated list of found phone numbers |
whatsapps | Comma-separated list of WhatsApp numbers |
linkedin_url | First LinkedIn company/profile URL found |
facebook_url | First Facebook page URL found |
instagram_url | First Instagram profile URL found |
twitter_url | First Twitter/X profile URL found |
youtube_url | First YouTube channel URL found |
tiktok_url | First TikTok profile URL found |
pagesVisited | Number of pages crawled for this domain |
stoppedReason | Why crawling stopped (see below) |
updatedAt | ISO timestamp of when the record was saved |
stoppedReason values
| Value | Meaning |
|---|---|
early-stop | Contacts found, crawl stopped early (saves credits) |
max-pages | Reached the maxPagesPerDomain limit |
no-more-links | Ran out of internal links to follow |
error | Site was unreachable |
Use cases
- Lead generation — build prospect lists with verified contact info at scale
- Sales outreach — enrich a list of company domains before cold emailing
- Marketing agencies — research competitor contacts and partner directories
- Recruitment — find HR and hiring manager contacts on company websites
- Data enrichment — add emails and socials to existing domain lists
Tips
- For best results, use Apify residential proxies — many sites block datacenter IPs
- Set
earlyStop: true(default) to minimize credit usage on large lists - Set
maxDepth: 1if you only want to check the homepage and direct links - URLs with or without
https://are both accepted — the actor normalises them automatically
Technical notes
- Built with Crawlee
CheerioCrawleronapify/actor-node:22— pure HTTP, no browser overhead - Priority crawl order: contact → about → legal → team → homepage → other
- Phone extraction runs only on visible text nodes — no false positives from SVG or CSS
- Social share buttons (
/sharer,/intent/tweet, etc.) are excluded from social results