Website Contact Scraper — Bulk Emails, Phones & Socials | $1/1k
Pricing
from $1.00 / 1,000 results
Website Contact Scraper — Bulk Emails, Phones & Socials | $1/1k
Bulk contact scraper for up to 100 domains in parallel — emails, phones, and 7 social platforms in one run. Decodes obfuscated emails ([at], HTML entities). $1 per 1000 results.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Raven
Actor stats
1
Bookmarked
18
Total users
12
Monthly active users
6 days ago
Last modified
Categories
Share
Extract Emails, Phone Numbers & Social Links from Any Website
Powerful Apify Actor for lead generation and contact discovery. Provide a list of websites or domains and get back structured contact data: email addresses, phone numbers, and social media profiles (Facebook, Twitter/X, LinkedIn, Instagram, YouTube, TikTok, GitHub).
Why use this Actor?
- Bulk extraction — process up to 100 domains in a single run, all crawled in parallel
- Smart crawling — automatically prioritizes contact, about, impressum, and team pages so you get results faster with fewer pages scanned
- Handles obfuscated emails — decodes
[at],(at), HTML entities (@), and other common anti-scraping tricks - Clean, filtered results — automatically removes junk emails (noreply, test, example), filters out non-useful domains (social media, search engines, CDNs, analytics), and deduplicates everything
- Reliable — automatic retry with exponential backoff (5 attempts) for failed requests. Proxy rotation on errors when proxy is enabled
- Lightweight & fast — uses raw HTTP requests with browser-like TLS fingerprints (curl_cffi). No headless browser overhead, so it runs faster and costs less
- Flexible input — accepts URLs in any format:
example.com,www.example.com,https://example.com/page, or just a bare domain - Configurable — control crawl depth, pages per domain, concurrency, and proxy settings
Use cases
- Lead generation — build contact lists from prospect websites
- Sales prospecting — find decision-maker emails and company phone numbers at scale
- Market research — collect contact info and social media presence across competitors
- Data enrichment — enrich your CRM or database with missing contact details
- Outreach campaigns — gather verified emails for cold email or partnership outreach
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | required | List of websites to extract contacts from (max 100). Accepts any format: full URLs, domains, with or without www/protocol |
maxDepth | integer | 2 | Crawl depth from the start page. 0 = start page only |
maxPagesPerDomain | integer | 10 | Maximum number of pages to crawl per domain |
concurrency | integer | 10 | How many domains to process in parallel (1-20) |
useProxy | boolean | false | Whether to use a proxy |
proxyConfiguration | object | Apify Proxy | Proxy settings (only applies when useProxy is enabled) |
Input example
{"startUrls": [{ "url": "https://example.com" },{ "url": "another-site.org" },{ "url": "www.company.ch" }],"maxDepth": 2,"maxPagesPerDomain": 50,"concurrency": 10,"useProxy": false}
Output
Each item in the dataset represents one domain with all contacts found across its pages:
{"url": "https://example.com","domain": "example.com","emails": ["info@example.com", "sales@example.com"],"phones": ["+41 44 123 45 67"],"socialLinks": {"facebook": "https://facebook.com/example","twitter": "https://x.com/example","linkedin": "https://linkedin.com/company/example","instagram": null,"youtube": null,"tiktok": null,"github": null},"pagesScanned": 12,"scrapedAt": "2026-04-07T12:00:00.000Z"}
Output fields
| Field | Type | Description |
|---|---|---|
url | string | The start URL that was crawled |
domain | string | Domain name |
emails | array | List of unique email addresses found |
phones | array | List of unique phone numbers found |
socialLinks | object | Social media profile URLs (null if not found) |
pagesScanned | integer | Number of pages actually crawled on this domain |
scrapedAt | string | ISO 8601 timestamp of when the crawl finished |
How it works
- Normalizes input — accepts URLs in any format and converts them to proper URLs
- Filters junk domains — skips social media, search engines, CDNs, and other non-useful sites
- Crawls with priority — starts with the homepage, then immediately targets contact/about/impressum pages before crawling the rest
- Extracts contacts from every page:
- Emails — regex +
mailto:links + deobfuscation of[at],(at), HTML entities - Phones — regex +
tel:links, international formats with+prefix - Social links — detects profile URLs for 7 major platforms, filters out share/intent links
- Emails — regex +
- Deduplicates and filters — removes junk, normalizes, and returns clean results
- Pushes results — one structured record per domain to the Apify dataset
Tips for best results
- Set
maxDepth: 0if you only need contacts from landing pages (fastest mode) - Increase
maxPagesPerDomainfor large corporate sites with deep navigation - Enable proxy (
useProxy: true) if you're getting blocked or rate-limited - The Actor automatically prioritizes pages with "contact", "about", "impressum", "team", "support" in the URL path
Support
Questions, bug reports, or feature requests: afrcanec@gmail.com
Tags
email-extractor contact-scraper lead-generation email-scraping phone-extractor social-media-links web-scraping b2b-leads sales-prospecting data-enrichment bulk-email-finder website-crawler apify-actor contact-discovery outreach email-finder email-harvester email-collector contact-information company-emails business-contacts lead-finder prospect-emails email-lookup domain-email-search bulk-contact-scraper website-email-extractor scrape-emails find-emails extract-contacts phone-number-scraper social-media-scraper linkedin-extractor facebook-extractor cold-email email-outreach crm-enrichment data-scraping contact-mining b2b-data sales-automation growth-hacking marketing-automation web-crawler site-scraper email-discovery business-email-finder company-contact-scraper