Contact Info Scraper avatar

Contact Info Scraper

Pricing

from $6.00 / 1,000 domain contact info results

Go to Apify Store
Contact Info Scraper

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

Julfikar Haidar

Maintained by Community

Actor 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

FieldDescriptionDefault
startUrlsWebsites to crawl— (required)
maxDepthHow many link-hops from the start URL to follow2
maxPagesPerDomainSafety cap on pages visited per domain50
sameDomainOnlyStay on the starting domain (recommended)true
extractEmails / extractPhones / extractSocialLinksToggle each extractortrue
defaultCountryCodeCountry used to interpret local-format phone numbersUS

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.