Web Lead Miner
Pricing
from $5.00 / 1,000 results
Web Lead Miner
Next-gen contact info scraper. Extracts emails & 13 social profiles with built-in Cloudflare deobfuscation, strict filters & MX DNS verification.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Stellaboost
Maintained by CommunityActor stats
1
Bookmarked
5
Total users
3
Monthly active users
17 days ago
Last modified
Categories
Share
WebLeadMiner — Email & Social Media Scraper
Extract professional emails, phone numbers, and social media profiles from any website or business directory. Multi-page crawling, auto-detection of directory pages, 5 extraction strategies, 13 social networks.
What it does
Give WebLeadMiner a URL — it crawls the site and returns a clean dataset of leads:
- ✅ Professional email addresses (categorized: pro / generic / service)
- ✅ LinkedIn, Facebook, Instagram, Twitter/X, TikTok, YouTube and 7 more
- ✅ Phone numbers (including hidden behind reveal buttons)
- ✅ Company name, address, fax — from directory detail pages
- ✅ External website URL — auto-crawled for emails when found in directories
- ✅ Zero duplicates — deduplication built-in
- ✅ Source URL for every lead
Two modes — one Actor
WebLeadMiner automatically detects what kind of page you give it:
| Mode | When | What it does |
|---|---|---|
| BFS Crawler | Company website | Explores all pages of the site depth-first |
| Directory | Annuaire, search results, marketplace | Paginates results → visits each detail page → extracts contacts |
Set crawlMode to auto (default) and WebLeadMiner decides. Or force a mode if needed.
Usage examples
Example 1 — Scrape a company website
{"startUrls": ["https://example.com"],"crawlMode": "auto","maxPagesPerDomain": 20,"maxDepth": 3,"linkedin": true,"facebook": true,"instagram": true,"phone": true,"verifyEmails": false}
What happens: WebLeadMiner crawls all pages of example.com (contact, team, about first), extracts emails and social profiles, deduplicates, and returns results.
Expected output: 1–10 leads per company site with emails and social profiles.
Example 2 — Search a business directory (annuaire)
{"startUrls": ["https://pagesjaunes-dz.com/Companies?zone_quoi=&zone_ou="],"keyword": "informatique","crawlMode": "directory","maxPagesPerDomain": 100,"linkedin": true,"facebook": true,"phone": true,"includeSocialOnly": true}
What happens:
- WebLeadMiner injects
informatiqueinto the search URL →?zone_quoi=informatique - Paginates through all result pages (20 companies per page)
- Visits each company detail page
- Clicks reveal buttons to get hidden phone numbers
- Finds the company's external website → crawls it for emails
- Returns all contacts found
Expected output: Hundreds of leads with company names, phones, social profiles, and emails from their websites.
Real run — logs:
Real run — output dataset:
Example 3 — Quick homepage scan
{"startUrls": ["https://example.com"],"crawlMode": "bfs","maxPagesPerDomain": 1,"maxDepth": 1,"linkedin": true,"phone": true}
What happens: Forces BFS crawler mode. With maxPagesPerDomain: 1 and maxDepth: 1, only the homepage is scraped. Increase maxPagesPerDomain and maxDepth to crawl more pages. Fast and cheap — useful for bulk URL lists where a quick scan is enough.
Example 4 — Bulk list of company websites
{"startUrls": ["https://company-a.com","https://company-b.fr","https://company-c.dz"],"crawlMode": "auto","maxPagesPerDomain": 10,"maxDepth": 2,"verifyEmails": true,"linkedin": true,"facebook": true,"phone": true}
What happens: Crawls each domain independently, deduplicates per domain, returns verified emails only.
Configuration
Core settings
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | Array | required | URLs to scrape. One URL per line. |
keyword | String | — | Search keyword injected into directory URLs. Example: informatique, finance, beton |
crawlMode | Select | auto | auto = detect automatically · bfs = force site crawling · directory = force directory mode |
maxPagesPerDomain | Integer | 20 | Max pages crawled per domain (1–100). Increase for large directories. |
maxDepth | Integer | 3 | How deep to follow links (1 = homepage only) |
Email settings
| Parameter | Type | Default | Description |
|---|---|---|---|
verifyEmails | Boolean | false | MX DNS verification — eliminates emails from invalid domains. Slower but higher quality. |
includeSocialOnly | Boolean | true | Also return leads that have social profiles but no email |
Social networks
| Parameter | Default | Parameter | Default |
|---|---|---|---|
linkedin | ✅ true | pinterest | ❌ false |
facebook | ✅ true | discord | ❌ false |
instagram | ✅ true | snapchat | ❌ false |
twitter | ✅ true | threads | ❌ false |
tiktok | ✅ true | telegram | ❌ false |
youtube | ✅ true | reddit | ❌ false |
phone | ✅ true | whatsapp | ❌ false |
Proxy
| Parameter | Type | Default | Description |
|---|---|---|---|
proxyConfiguration | Object | disabled | Apify proxy settings. Recommended for heavily protected sites. |
Output
Standard lead (company website)
{"email": "jean.dupont@example.com","emailCategory": "pro","socialOnly": false,"domain": "example.com","sourceUrl": "https://example.com/contact","validationReason": "syntax_ok","socials": {"linkedin": "https://linkedin.com/company/example","facebook": "https://facebook.com/examplepage","instagram": "https://instagram.com/example","twitter": "https://x.com/example","phone": "+33 1 23 45 67 89"}}
Directory lead (annuaire detail page)
{"email": "contact@solutionsinformatiques.dz","emailCategory": "generic","socialOnly": false,"companyName": "Solutions Informatiques Algérie","address": "10, Coopérative El Yasmine, Alger","fax": "+213 23 54 19 90","phones": ["+213 23 54 19 90", "+213 555 12 34 56"],"domain": "solutionsinformatiques.dz","sourceUrl": "https://pagesjaunes-dz.com/Companies/detail/...","socials": {"linkedin": "https://linkedin.com/company/sii-algerie","facebook": "https://facebook.com/sii.algerie","youtube": "https://youtube.com/@siialgerie","phone": "+213 23 54 19 90"}}
Email categories
| Category | Example | Use |
|---|---|---|
pro | jean.dupont@acme.com | Direct contact — highest value |
generic | contact@acme.com, info@acme.com | Department inbox — medium value |
service | support@acme.com, admin@acme.com | Service inbox — low value |
How it works
5 email extraction strategies — in order of reliability:
- Cloudflare XOR decode — breaks email obfuscation used by CF-protected sites
- JSON-LD structured data — extracts from
PersonandOrganizationschema mailto:link extraction — standard HTML email links- Obfuscated text patterns — detects
[at],(dot),name [at] domainformats - Regex on visible text — last resort sweep over page content
Directory auto-detection — WebLeadMiner identifies directory pages by looking for:
- 5+ repetitive result cards with the same CSS pattern
- Pagination links present on the page
When detected, it switches to directory mode automatically — no configuration needed.
Keyword injection — when a keyword is provided, WebLeadMiner finds the empty search parameter in the URL and fills it automatically. Supports: q, query, search, zone_quoi, find_desc, what, term, and more.
Feature comparison
| Feature | WebLeadMiner | Generic scrapers |
|---|---|---|
| Multi-page BFS crawling | ✅ Up to 100 pages/site | ⚠️ Homepage only |
| Directory / annuaire mode | ✅ Auto-detected | ❌ |
| Keyword injection into search URLs | ✅ | ❌ |
| Hidden phone reveal (button click) | ✅ | ❌ |
| Priority pages (contact, team, about) | ✅ Visited first | ❌ |
| Cloudflare email decode (XOR) | ✅ | ❌ |
| Obfuscated email detection | ✅ | ❌ |
| JSON-LD structured data | ✅ | ⚠️ Partial |
| Platform email filter (Wix, Shopify…) | ✅ | ❌ |
| MX DNS email verification | ✅ Built-in | 💰 Extra cost |
| Browser stealth (anti-bot) | ✅ | ⚠️ Basic |
| Social-only leads | ✅ Optional | ❌ |
Pricing
Pay per result — not per page crawled.
| Price | |
|---|---|
| Per lead found | $5.00 / 1,000 leads |
| Actor start | $0.001 |
Competitors charge per page crawled — you pay even when a page returns nothing. WebLeadMiner charges only for actual results.
MX DNS email verification is included at no extra cost — runs within normal compute time.
⚠️ Enabling
verifyEmailsreduces result count — emails from domains without a valid MX record are discarded. Use it when quality matters more than quantity (cold email campaigns, CRM imports).
Tips
More leads:
- Increase
maxPagesPerDomainto 50–100 for large sites or directories - Enable
includeSocialOnly: trueto capture brands without public emails - Use
crawlMode: directoryfor annuaires, Yellow Pages, marketplaces
Faster runs:
- Set
maxPagesPerDomainto 5 andmaxDepthto 1 for quick homepage scans - Run multiple URLs in parallel in a single Actor run
Avoid blocks:
- Proxy is not required for most sites — built-in stealth handles detection
- Use Apify residential proxies only for heavily protected sites (Cloudflare Enterprise, Datadome)
Use cases
- 🎯 B2B lead generation — find decision-maker emails for outreach campaigns
- 📋 Directory harvesting — extract all businesses from PagesJaunes, Yelp, local directories
- 🔍 Prospect research — discover social profiles and websites of target companies
- 📊 Market research — build contact databases for a specific industry or region
- 🤝 Partnership outreach — find contact emails for potential partners
Legal
This Actor extracts only publicly available information visible on websites. Always comply with the target website's Terms of Service and applicable data protection laws (GDPR, CCPA). The user is solely responsible for how extracted data is used.