Contact Info Scraper
Pricing
from $6.00 / 1,000 domain contact info results
Contact Info Scraper
Crawls one or more websites and extracts emails, phone numbers, and social media profile links (Facebook, Instagram, LinkedIn, X/Twitter, YouTube, TikTok), grouped by domain.
Pricing
from $6.00 / 1,000 domain contact info results
Rating
5.0
(2)
Developer
Julfikar Haidar
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
Give it one or more website URLs. It crawls each site (staying on the same domain by default) and returns a single row per domain with every email address, phone number, and social media profile link it found — deduplicated.
What it extracts
- Emails — from page text and
mailto:links - Phone numbers — from page text and
tel:links, validated and formatted to international format (e.g.+1 415 555 2671) - Social profiles — Facebook, Instagram, LinkedIn, X/Twitter, YouTube, TikTok
Use cases
- Building a lead list from a set of company websites (agencies, local businesses, vendors)
- Enriching an existing list of domains with contact details
- Finding the right social channels for outreach/partnership research
Input
| Field | Description | Default |
|---|---|---|
startUrls | Websites to crawl | — (required) |
maxDepth | How many link-hops from the start URL to follow | 2 |
maxPagesPerDomain | Safety cap on pages visited per domain | 50 |
sameDomainOnly | Stay on the starting domain (recommended) | true |
extractEmails / extractPhones / extractSocialLinks | Toggle each extractor | true |
defaultCountryCode | Country used to interpret local-format phone numbers | US |
Example:
{"startUrls": [{ "url": "https://example.com" }],"maxDepth": 2,"maxPagesPerDomain": 30}
Output
One row per domain:
{"domain": "example.com","emails": ["hello@example.com"],"phones": ["+1 415 555 2671"],"socialLinks": {"facebook": [],"instagram": [],"linkedin": ["https://www.linkedin.com/company/example/"],"twitter": ["https://x.com/example"],"youtube": [],"tiktok": []},"pagesCrawled": ["https://example.com", "https://example.com/contact"],"pagesCrawledCount": 2}
How it works
The Actor prioritizes crawl budget carefully: it reserves crawl slots per domain before enqueueing links, so maxPagesPerDomain is a hard cap on requests made (not just on results recorded) — you never pay for more page fetches than you asked for. It skips non-content URLs (login, checkout, cart, account pages) since those never contain contact info.
Limitations
- Uses a lightweight HTTP crawler (no headless browser), so contact info that's injected client-side by heavy single-page-app frameworks after load may not be captured. Most business/marketing sites render contact info server-side and work fine.
- Phone number extraction is regex + validation based. Any 10-digit sequence that happens to be a valid-looking phone number format (e.g. some order/tracking IDs) can occasionally be picked up as a false positive.