📇 Contact Details Scraper
Pricing
from $4.99 / 1,000 results
📇 Contact Details Scraper
📇 Contact Details Scraper extracts verified emails, phones & social links from target pages. 🚀 Ideal for B2B outreach, lead gen & sales research. Fast, accurate, and easy to use. ⚡📩
Pricing
from $4.99 / 1,000 results
Rating
0.0
(0)
Developer
API Empire
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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
| Feature | Description |
|---|---|
| 📧 Emails | All public email addresses found on the site |
| 📞 Phones | Validated phone numbers (+ a separate uncertain list) |
| 🔗 Socials | LinkedIn, X/Twitter, Instagram, Facebook, YouTube, TikTok, Pinterest, Discord, Snapchat, Threads, Telegram, Reddit, WhatsApp |
| 🖼️ Iframes | Optionally extracts data embedded in frames |
| 🧬 Merge | One 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 }}
| Field | Type | Description |
|---|---|---|
startUrls | array | Required. Websites to crawl (bulk supported). |
maxRequestsPerStartUrl | integer | Max pages per start URL. |
mergeContacts | boolean | Merge all contacts of a site into one row. |
maxDepth | integer | Link depth from the start URL. 0 = no following; empty = unlimited. |
maxRequests | integer | Total page cap for the whole run. |
sameDomain | boolean | Stay on the start URL's domain. |
considerChildFrames | boolean | Also read iframes. |
useBrowser | boolean | Force full browser rendering. |
waitUntil | string | Browser wait event. |
concurrency | integer | Parallel page fetches. |
proxyConfiguration | object | Proxy 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)
- Log in at console.apify.com → Actors.
- Open Contact Details Scraper.
- Paste your Start URLs and adjust options (proxy, depth, merge…).
- Click Start.
- Watch the live log fill with 📬 contact discoveries in real time.
- Open the Output tab when the run finishes.
- 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.
⚖️ Cautions / Legal
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.