Website Email, Phone Numbers & Social Media Profiles Finder
Pricing
from $2.00 / 1,000 contact founds
Website Email, Phone Numbers & Social Media Profiles Finder
Extract emails, phone numbers, and social media profiles (LinkedIn, Twitter/X, Facebook, Instagram) from any website. Crawls contact pages, about pages, and footers automatically. Bulk processing for lead generation, sales prospecting, and CRM enrichment. Export as JSON, CSV, Excel.
Pricing
from $2.00 / 1,000 contact founds
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Website Contact Finder
Extract emails, phone numbers, and social media profiles from any website automatically. Website Contact Finder crawls target URLs and their linked pages (contact, about, team, footer) to discover and collect structured contact data at scale.
| Crawls main page, contact page, about page, and footer links in a three-pass strategy — extracts emails, phone numbers, and social profiles (LinkedIn, X/Twitter, Facebook, Instagram, TikTok, GitHub, YouTube) ready for CRM import. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Actor: parsebird/website-contact-finder — extracts emails, phone numbers, and social media profiles from any list of website URLs. Input: {"urls": ["https://example.com"], "max_emails_per_domain": 5, "proxyConfiguration": {"useApifyProxy": true}}. Run via ApifyClient("YOUR_TOKEN").actor("parsebird/website-contact-finder").call(run_input=input). Output fields: url (string), emails (array of strings), phones (array of strings), socials (array of URLs). Supports bulk processing of hundreds of domains. Get your API token at https://console.apify.com/account#/integrations. Full API spec: https://apify.com/parsebird/website-contact-finder/api
What does Website Contact Finder do?
Website Contact Finder is a website email scraper and contact details extractor that automatically discovers public contact information from any website. It works by crawling each URL you provide using an intelligent three-pass strategy:
📧 Email extraction — Finds business emails, support emails, and team member emails from page content, mailto links, and contact forms.
📞 Phone number extraction — Discovers phone numbers from tel: links and international format patterns (+1, +44, +49, etc.).
🔗 Social media profile extraction — Identifies company and personal profiles on LinkedIn, X/Twitter, Facebook, Instagram, TikTok, YouTube, and GitHub.
How the three-pass strategy works:
- Pass 1 — Main page: Fetches your input URL and extracts all visible contact information
- Pass 2 — Contact pages: Discovers internal links containing keywords like "contact", "about", "team", "support", "imprint" and crawls those pages
- Pass 3 — Deep links: Scans footer/header navigation for additional pages (press, careers, partners, company) and extracts remaining contacts
This approach finds contacts that a single-page scraper would miss — emails in footer sections, phone numbers on dedicated contact pages, and social links buried in about pages.
What data can you extract with Website Contact Finder?
| Field | Type | Description |
|---|---|---|
| url | string | The input website URL that was scanned |
| emails | array | Email addresses found across all crawled pages |
| phones | array | Phone numbers in international format (deduplicated) |
| socials | array | Social media profile URLs (LinkedIn, X, Facebook, Instagram, TikTok, YouTube, GitHub) |
How to use Website Contact Finder
- Click Try for free on the Website Contact Finder page
- Add your website URLs to the Website URLs field (one per line)
- Optionally set Max Emails Per Domain to limit email collection
- Click Start to run the scraper
- Download results from the Dataset tab in JSON, CSV, or Excel format
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| urls | array | Yes | — | List of website URLs to scan for contact details |
| max_emails_per_domain | integer | No | 0 (no limit) | Maximum email addresses to collect per domain |
| proxyConfiguration | object | No | Apify Proxy | Proxy settings (recommended for large batches) |
Output example
[{"url": "https://apify.com","emails": ["hello@apify.com","legal@apify.com","privacy@apify.com"],"phones": ["+420123456789"],"socials": ["https://www.linkedin.com/company/apify","https://twitter.com/apify","https://github.com/apify","https://www.tiktok.com/@apifytech"]},{"url": "https://example.com","emails": ["info@example.com"],"phones": ["+1 555 123 4567"],"socials": ["https://www.linkedin.com/company/example"]}]
Download results in JSON, CSV, HTML, or Excel format directly from the Apify Console or via API.
Use cases
- Lead generation — Build targeted prospect lists by extracting contact details from company websites
- Sales prospecting — Find decision-maker emails and company phone numbers for cold outreach
- CRM enrichment — Enrich existing contact databases with phone numbers and social profiles
- Market research — Map competitor contact structures and social media presence
- Recruiting — Find team pages and individual LinkedIn profiles from company websites
- Partnership outreach — Discover the right contact channels for business development
- Agency workflows — Automate repeatable contact collection for client campaigns
How it works
- URL normalization — Adds
https://prefix if missing, validates URL format - Pass 1 (main page) — Fetches the target URL with browser-like headers, extracts emails/phones/socials from HTML
- Link discovery — Parses all internal links from the page and categorizes them by keyword relevance
- Pass 2 (contact pages) — Crawls up to 10 pages matching contact-related keywords (contact, about, team, support, imprint)
- Pass 3 (deep links) — Crawls up to 8 additional pages from footer/header navigation (press, careers, partners, company)
- Deduplication — Removes duplicate emails, normalizes phone numbers by digit content, deduplicates social URLs
- Limiting — Applies
max_emails_per_domaincap if configured - Output — Pushes structured result per URL to the dataset
The actor uses concurrent HTTP requests (5 per domain) with a lightweight httpx client — no browser required, keeping memory usage under 256 MB.
How much does it cost to scrape website contact details?
Website Contact Finder uses pay-per-event pricing. You are charged per website domain processed (one event per input URL that returns results). Platform compute is included in the event price.
| Plan | Price per event | Price per 1,000 websites |
|---|---|---|
| Free, Bronze, Silver | $0.005 | $5.00 |
| Gold | $0.003 | $3.00 |
Example: Scanning 500 websites for contact info costs $2.50 on the Free plan or $1.50 on Gold.
You can try Website Contact Finder with the free monthly credits included on every Apify plan. The free tier covers approximately 200 websites per month.
Integrations and API access
Website Contact Finder integrates with the full Apify platform:
- API access — Run programmatically via REST API or client libraries
- Scheduling — Set up recurring runs (daily, weekly, or custom intervals) via Apify Scheduler
- Webhooks — Trigger downstream actions when a run completes
- Integrations — Connect to Google Sheets, Slack, Zapier, Make, and more
Python example
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run_input = {"urls": ["https://apify.com","https://hubspot.com","https://stripe.com"],"max_emails_per_domain": 5,"proxyConfiguration": {"useApifyProxy": True}}run = client.actor("parsebird/website-contact-finder").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['url']}: {item['emails']}")
JavaScript example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const input = {urls: ['https://apify.com','https://hubspot.com','https://stripe.com'],max_emails_per_domain: 5,proxyConfiguration: { useApifyProxy: true }};const run = await client.actor('parsebird/website-contact-finder').call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => console.log(`${item.url}: ${item.emails}`));
Pricing
| Event | Price per event | Price per 1,000 |
|---|---|---|
| contact-found | $0.005 (Free/Bronze/Silver) | $5.00 |
| contact-found | $0.003 (Gold) | $3.00 |
One event is charged per website URL that is successfully processed. URLs that return no contacts are still pushed to the dataset but are not charged.
FAQ
How many pages does it crawl per website? The scraper crawls up to 19 pages per domain: 1 main page + up to 10 contact-related pages + up to 8 deep links from navigation. This covers the vast majority of publicly available contact information.
Can I process hundreds of URLs in one run?
Yes. Pass as many URLs as needed in the urls array. The scraper processes them sequentially with concurrent sub-page fetching (5 parallel requests per domain). A batch of 500 URLs typically completes in 5–15 minutes.
What email filtering is applied? The scraper removes common false positives: image file extensions (.png, .jpg), system addresses (noreply@, postmaster@), placeholder domains (example.com), and malformed addresses. Only valid, publicly listed email addresses are returned.
Does it find personal LinkedIn profiles or only company pages?
Both. It extracts any LinkedIn URL found on the page — company pages (/company/), personal profiles (/in/), and other social platform profiles.
Can I schedule recurring runs? Yes. Use Apify's scheduling feature to run daily, weekly, or at any custom interval. Combine with webhooks to push new contacts to your CRM automatically.
What happens if a website blocks the request? The scraper uses browser-like HTTP headers and supports Apify Proxy (datacenter and residential). If a page returns a non-200 status or times out, it logs a warning and continues with the next URL — failed URLs return empty arrays.
Does it extract emails from JavaScript-rendered pages? The scraper uses HTTP-only fetching (no browser). It works well for server-rendered sites and sites with emails in HTML source. For heavily JavaScript-dependent sites that hide content behind client-side rendering, consider using a browser-based scraper.
Can I export results to Google Sheets or my CRM? Yes. Apify supports direct Google Sheets integration, Zapier, Make, and webhooks for pushing data to any CRM or database.
Is it legal to scrape website contact details?
Website Contact Finder only extracts publicly available contact information that website owners have intentionally published for visitors to find. This includes contact pages, about sections, and footer content.
Web scraping of public data is generally legal according to the US Ninth Circuit Court ruling (hiQ Labs v. LinkedIn, 2022). However, always ensure your use case complies with applicable data protection regulations (GDPR, CCPA) and each website's Terms of Service. For more details, read Apify's guide on web scraping legality.
Related actors
- Website Content Crawler — Crawl entire websites and extract text content for AI/LLM use
- Email Extractor — Extract emails from web pages using Apify crawlers
- Google Maps Scraper — Extract business contact info from Google Maps listings