Web Lead Miner avatar

Web Lead Miner

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Web Lead Miner

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

Stellaboost

Maintained by Community

Actor stats

1

Bookmarked

5

Total users

3

Monthly active users

17 days ago

Last modified

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:

ModeWhenWhat it does
BFS CrawlerCompany websiteExplores all pages of the site depth-first
DirectoryAnnuaire, search results, marketplacePaginates 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:

  1. WebLeadMiner injects informatique into the search URL → ?zone_quoi=informatique
  2. Paginates through all result pages (20 companies per page)
  3. Visits each company detail page
  4. Clicks reveal buttons to get hidden phone numbers
  5. Finds the company's external website → crawls it for emails
  6. Returns all contacts found

Expected output: Hundreds of leads with company names, phones, social profiles, and emails from their websites.

Real run — logs:

WebLeadMiner real run logs — directory mode with PagesJaunes-DZ

Real run — output dataset:

WebLeadMiner real run output — leads extracted from Algerian business directory

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

ParameterTypeDefaultDescription
startUrlsArrayrequiredURLs to scrape. One URL per line.
keywordStringSearch keyword injected into directory URLs. Example: informatique, finance, beton
crawlModeSelectautoauto = detect automatically · bfs = force site crawling · directory = force directory mode
maxPagesPerDomainInteger20Max pages crawled per domain (1–100). Increase for large directories.
maxDepthInteger3How deep to follow links (1 = homepage only)

Email settings

ParameterTypeDefaultDescription
verifyEmailsBooleanfalseMX DNS verification — eliminates emails from invalid domains. Slower but higher quality.
includeSocialOnlyBooleantrueAlso return leads that have social profiles but no email

Social networks

ParameterDefaultParameterDefault
linkedin✅ truepinterest❌ false
facebook✅ truediscord❌ false
instagram✅ truesnapchat❌ false
twitter✅ truethreads❌ false
tiktok✅ truetelegram❌ false
youtube✅ truereddit❌ false
phone✅ truewhatsapp❌ false

Proxy

ParameterTypeDefaultDescription
proxyConfigurationObjectdisabledApify 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

CategoryExampleUse
projean.dupont@acme.comDirect contact — highest value
genericcontact@acme.com, info@acme.comDepartment inbox — medium value
servicesupport@acme.com, admin@acme.comService inbox — low value

How it works

5 email extraction strategies — in order of reliability:

  1. Cloudflare XOR decode — breaks email obfuscation used by CF-protected sites
  2. JSON-LD structured data — extracts from Person and Organization schema
  3. mailto: link extraction — standard HTML email links
  4. Obfuscated text patterns — detects [at], (dot), name [at] domain formats
  5. 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

FeatureWebLeadMinerGeneric 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 verifyEmails reduces 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 maxPagesPerDomain to 50–100 for large sites or directories
  • Enable includeSocialOnly: true to capture brands without public emails
  • Use crawlMode: directory for annuaires, Yellow Pages, marketplaces

Faster runs:

  • Set maxPagesPerDomain to 5 and maxDepth to 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

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.