📇 Contact Details Scraper avatar

📇 Contact Details Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
📇 Contact Details Scraper

📇 Contact Details Scraper

📇 Contact Details Scraper extracts emails, phone numbers & social links from target web pages fast. 🚀 Perfect for lead gen, sales outreach & B2B research. 🔎 Efficient, accurate & easy to use.

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

Scrapio

Scrapio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Extract emails, phone numbers, and social-media profiles from any website — at scale, automatically. Give it one or many start URLs and it crawls each site (including subpages and iframes), collecting every publicly available contact detail it can find and saving results to a clean, exportable dataset.

Built for sales prospecting, lead generation, market research, and keeping your CRM fresh — using only publicly available data.

🌟 Why Choose Us?

  • 🧠 Smart crawling — automatically prioritizes contact / about / team / support pages.
  • 🛡️ Self-healing proxy ladder — starts direct, then escalates to datacenter → residential only when a site blocks it, so you pay for proxies only when needed.
  • 🧭 Auto browser fallback — fast HTTP first; renders JavaScript-heavy pages with a real Chromium browser when required.
  • 🧬 Merge mode — consolidate every contact found across a whole site into one tidy row.
  • 📞 Phone validation — E.164-aware validation separates real phone numbers from timestamps, IDs and dates (kept in a separate "uncertain" column).
  • 💾 Live results — rows are saved as soon as each site finishes, so a long run never loses progress.

🔑 Key Features

FeatureDescription
📧 EmailsAll public email addresses found on the site
📞 PhonesValidated phone numbers (+ a separate uncertain list)
🔗 SocialsLinkedIn, X/Twitter, Instagram, Facebook, YouTube, TikTok, Pinterest, Discord, Snapchat, Threads, Telegram, Reddit, WhatsApp
🖼️ IframesOptionally extracts data embedded in frames
🧬 MergeOne clean row per start URL, or one row per page

📥 Input

{
"startUrls": [{ "url": "https://apify.com" }],
"maxRequestsPerStartUrl": 20,
"mergeContacts": true,
"maxDepth": 2,
"maxRequests": 1000,
"sameDomain": true,
"considerChildFrames": true,
"useBrowser": false,
"waitUntil": "domcontentloaded",
"concurrency": 10,
"proxyConfiguration": { "useApifyProxy": false }
}
FieldTypeDescription
startUrlsarrayRequired. Websites to crawl (bulk supported).
maxRequestsPerStartUrlintegerMax pages per start URL.
mergeContactsbooleanMerge all contacts of a site into one row.
maxDepthintegerLink depth from the start URL. 0 = no following; empty = unlimited.
maxRequestsintegerTotal page cap for the whole run.
sameDomainbooleanStay on the start URL's domain.
considerChildFramesbooleanAlso read iframes.
useBrowserbooleanForce full browser rendering.
waitUntilstringBrowser wait event.
concurrencyintegerParallel page fetches.
proxyConfigurationobjectProxy settings. Default: no proxy (auto-escalates on blocks).

📤 Output

{
"originalStartUrl": "https://apify.com",
"domain": "apify.com",
"scrapedUrls": ["https://apify.com/", "https://apify.com/contact"],
"depth": 0,
"emails": ["hello@apify.com"],
"phones": [],
"phonesUncertain": ["04788290"],
"linkedIns": ["https://www.linkedin.com/company/apify"],
"twitters": ["https://www.twitter.com/apify"],
"instagrams": [],
"facebooks": [],
"youtubes": ["https://www.youtube.com/apify"],
"tiktoks": ["https://www.tiktok.com/@apifytech"],
"pinterests": [],
"discords": ["https://discord.gg/w3e2v7rWDw"],
"snapchats": [],
"threads": [],
"telegrams": [],
"reddits": [],
"whatsapps": []
}

The Output tab presents the data in separate views: 🗂️ Overview, 📧 Emails, 📞 Phones, and 📱 Social media.

🚀 How to Use (Apify Console)

  1. Log in at console.apify.comActors.
  2. Open Contact Details Scraper.
  3. Paste your Start URLs and adjust options (proxy, depth, merge…).
  4. Click Start.
  5. Watch the live log fill with 📬 contact discoveries in real time.
  6. Open the Output tab when the run finishes.
  7. Export to JSON / CSV / XLSX.

🤖 Use via API

curl -X POST "https://api.apify.com/v2/acts/<ACTOR_ID>/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls":[{"url":"https://apify.com"}],"maxRequestsPerStartUrl":10}'

🎯 Best Use Cases

  • Lead generation & sales prospecting
  • Building outreach lists from a set of company websites
  • Market & competitor research
  • Enriching an existing CRM with public contact details

💰 Pricing

This Actor uses the Pay-per-event model. The primary billable event is contact-record — one charge per result row saved to the dataset. Platform usage (compute, proxies) is billed by Apify as usual. Configure exact prices in the Console Monetization wizard.

❓ FAQ

Does it work on JavaScript-heavy sites? Yes — it auto-renders pages with Chromium when the raw HTML looks incomplete, or you can force it with useBrowser.

Why are some numbers under phonesUncertain? They look phone-shaped but lack a valid country code (often timestamps or IDs). They are kept separately so real phones stay clean.

Do I need a proxy? No. It runs direct by default and only escalates to datacenter → residential proxies if a site blocks it.

Data is collected only from publicly available sources. Do not scrape content behind authentication without authorization. You are responsible for compliance with GDPR, CCPA, anti-spam laws, and the target sites' Terms of Service.

🛟 Support & Feedback

Open an issue on the Actor's Issues tab in the Apify Console.