Smart Website Contact Extractor & B2B Lead Scraper avatar

Smart Website Contact Extractor & B2B Lead Scraper

Pricing

from $8.00 / 1,000 results

Go to Apify Store
Smart Website Contact Extractor & B2B Lead Scraper

Smart Website Contact Extractor & B2B Lead Scraper

Extract verified emails, phone numbers, addresses, and social profiles from any domain list. Features ultra-fast async crawling, automated lead quality scoring, tech stack detection, and state recovery. Ultra-lightweight and cost-efficient (runs browserless to save compute!)

Pricing

from $8.00 / 1,000 results

Rating

0.0

(0)

Developer

Scrape Pilot

Scrape Pilot

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Share

๐Ÿ“ž Website Contact Scraper โ€” Phone Number Extractor & Lead Generation Scraper

The most complete Website Contact Scraper on Apify. Crawl any website and extract phone numbers, email addresses, physical addresses, social media profiles, company name, tech stack, contact page URLs, and a lead quality score โ€” from every page automatically. Multi-domain batch. Contact page priority crawl. Checkpoint resume. Pay only for results.


๐Ÿ“Œ Table of Contents


๐Ÿ” What Is This Actor?

Website Contact Scraper is a production-ready Apify actor that crawls any website and extracts complete contact intelligence โ€” phone numbers, email addresses, physical addresses, social media profiles, company name, technology stack, and contact page URLs โ€” from every page automatically.

Provide one or many website URLs and receive back a structured lead record for every page scanned: all contact data found on that page, plus a calculated lead quality score (High / Medium / Low) based on how much contact information was successfully extracted. A final summary record per domain consolidates all unique phone numbers and emails found across the entire crawl.

This phone number extractor uses the phonenumbers library for international number parsing and validation โ€” supporting E.164 format output with regional hint configuration for accurate extraction across any country. This lead generation scraper automatically prioritizes contact, about, support, and help pages โ€” the highest-density pages for business contact data on any website.


๐Ÿš€ Why Use This Website Contact Scraper?

FeatureThis ActorManual ResearchBasic Email ScrapersHunter.io
Phone number extractionโœ… InternationalโŒโŒโŒ
Email extractionโœ…โŒโœ…โœ… Paid
Physical address extractionโœ…โŒโŒโŒ
Tech stack detectionโœ… 10 technologiesโŒโŒโŒ
Social profile extractionโœ… 9 platformsโŒโŒโŒ
Lead quality scoreโœ… Auto-calculatedโŒโŒโš ๏ธ
Contact page priority crawlโœ… Built-inโŒโŒN/A
Full website crawlโœ… Up to 20 pagesโŒโŒN/A
Multi-domain batchโœ…โŒโš ๏ธโœ…
Checkpoint resumeโœ…N/AโŒN/A

Bottom line: This lead generation scraper is the only actor that combines international phone number validation, physical address extraction, tech stack detection, and auto-calculated lead quality scoring โ€” across a full multi-page website crawl with contact page priority.


๐ŸŽฏ Use Cases

๐Ÿ† B2B Lead Generation & Prospecting

  • Crawl target company websites to extract verified phone numbers, emails, and addresses for outreach
  • Build enriched prospect lists with tech stack data โ€” identify companies using HubSpot, Shopify, or WordPress
  • Use lead quality scores to prioritize which prospects have the most complete contact data

๐Ÿ“‹ CRM & Database Enrichment

  • Enrich existing CRM records with missing phone numbers and email addresses from company websites
  • Add tech stack and social profile data to prospect records for better segmentation
  • Validate and update contact data across your account database with scheduled runs

๐Ÿ” Sales Intelligence & Market Mapping

  • Map competitor and prospect contact presence across a market segment
  • Identify which companies in a niche have phone numbers vs email-only contact
  • Discover technology adoption patterns using the tech stack detection output

๐Ÿ› ๏ธ Agency & Lead Reseller Services

  • Deliver enriched contact datasets to clients using this website contact scraper at scale
  • Build niche lead lists with complete contact intelligence โ€” phone, email, address, social, tech
  • Run automated lead qualification using the built-in lead quality score

๐Ÿ“Š Data Quality & Compliance

  • Audit website contact completeness across a portfolio of managed domains
  • Verify that contact pages are correctly indexed and contain valid phone numbers and emails
  • Build contact data inventories for GDPR or data governance compliance reviews

๐ŸŽ“ Academic & Business Research

  • Study business contact page patterns and contact data completeness across industries
  • Analyse technology adoption using website tech stack detection at scale
  • Build datasets of business contact profiles for digital marketing or e-commerce research

โš™๏ธ Input Parameters

{
"startUrls": [
{ "url": "https://www.example.com" },
{ "url": "https://www.anothercompany.com/contact" }
],
"maxPagesPerDomain": 20,
"regionHint": "US",
"concurrency": 12,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}
ParameterTypeDefaultDescription
startUrlsarrayDemo URLWebsites to crawl โ€” each as { "url": "https://..." }. Multiple domains processed in parallel
maxPagesPerDomaininteger20Maximum pages to crawl per domain
regionHintstring"US"Country code for phone number parsing โ€” e.g. "US", "GB", "DE", "AU". Improves accuracy for local number formats
concurrencyinteger12Number of pages fetched in parallel per domain
proxyConfigurationobjectOptionalApify proxy config โ€” recommended for high-volume runs

Tip: Set regionHint to the country code where your target companies are based for the most accurate phone number extraction. The actor still extracts international numbers with country codes regardless of this setting.


๐Ÿ“‹ Output Fields

This website contact scraper produces two types of records per domain:

๐Ÿ“„ Per-Page Records

Every page scanned produces a lead record with all contact data found on that specific page:

FieldTypeDescriptionExample
domainstringWebsite domain"example.com"
start_urlstringThe input URL"https://www.example.com"
page_urlstringURL of the scanned page"https://www.example.com/contact"
page_titlestringPage title"Contact Us โ€” Example Corp"
company_namestringCompany name from OG metadata or page title"Example Corp"
website_descriptionstringMeta description"Leading provider of..."
phone_numbersarrayValidated phone numbers in E.164 format["+14155552671", "+442071234567"]
emailsarrayEmail addresses found on the page["sales@example.com"]
addressesarrayPhysical addresses detected["123 Main Street, New York, NY"]
social_profilesobjectSocial media profiles by platform{"linkedin": "https://...", "twitter": "https://..."}
technologiesarrayTechnologies detected on the website["WordPress", "Google Analytics", "HubSpot"]
contact_pagesarrayContact-related URLs discovered on this page["https://example.com/contact"]
lead_scoreintegerNumerical lead quality score (0โ€“100)75
lead_qualitystringLead quality tier"High", "Medium", "Low"
pages_scannedintegerRunning scan count for this domain8

๐Ÿ† Final Domain Summary Record

After all pages are crawled, one consolidated summary record is pushed per domain:

FieldTypeDescription
domainstringWebsite domain
start_urlstringThe input URL
phone_numbersarrayAll unique phone numbers found across all pages
emailsarrayAll unique email addresses found across all pages
pages_scannedintegerTotal pages scanned
lead_scoreintegerSummary lead quality score
lead_qualitystring"High", "Medium", or "Low"
statusstring"completed" or "partial"

๐Ÿ“ฆ Example Input & Output

Input:

{
"startUrls": [{ "url": "https://www.example.com" }],
"maxPagesPerDomain": 5,
"regionHint": "US"
}

Per-page record:

{
"domain": "example.com",
"start_url": "https://www.example.com",
"page_url": "https://www.example.com/contact",
"page_title": "Contact Us โ€” Example Corp",
"company_name": "Example Corp",
"website_description": "Leading provider of business solutions.",
"phone_numbers": ["+14155552671"],
"emails": ["sales@example.com", "info@example.com"],
"addresses": ["123 Main Street, San Francisco, CA 94105"],
"social_profiles": { "linkedin": "https://linkedin.com/company/example", "twitter": "https://twitter.com/example" },
"technologies": ["WordPress", "Google Analytics", "HubSpot"],
"contact_pages": ["https://www.example.com/contact", "https://www.example.com/support"],
"lead_score": 80,
"lead_quality": "High",
"pages_scanned": 3
}

Final domain summary:

{
"domain": "example.com",
"start_url": "https://www.example.com",
"phone_numbers": ["+14155552671"],
"emails": ["info@example.com", "sales@example.com"],
"pages_scanned": 5,
"lead_score": 55,
"lead_quality": "Medium",
"status": "completed"
}

๐ŸŽฏ Lead Quality Score

Every record includes an auto-calculated lead quality score based on the contact data successfully extracted:

Data FoundPoints Added
Phone numbers+30
Email addresses+25
Physical addresses+15
Social profiles+10
Contact pages found+10
Company name+5
Technologies detected+5
Score RangeQuality Tier
70โ€“100High โ€” rich contact data, strong lead
35โ€“69Medium โ€” partial contact data
0โ€“34Low โ€” minimal contact information found

๐Ÿ’ฐ Pricing

This actor uses pay-per-event pricing with two charge events.

EventPrice
Actor start fee$0.10 per run
Per phone number extracted$0.012 per number ($12.00 per 1,000 numbers)
Per page successfully scanned$0.008 per page ($8.00 per 1,000 pages)

How billing works:

  • โœ… The $0.10 start fee applies once per run
  • โœ… Each validated phone number extracted is charged at $0.012
  • โœ… Each page successfully scanned and pushed is charged at $0.008
  • โœ… Pages that fail to load are not charged
  • โœ… The actor stops automatically when your Apify account charge limit is reached
  • โœ… Checkpoint saves progress โ€” restarting after a limit continues from last position

Example: Crawl 5 domains ร— 10 pages + 50 phone numbers = $0.10 + $0.40 + $0.60 = $1.10 total

2-hour free trial available โ€” click Try for free at the top of this page.


โšก Performance & Limits

DomainsPages Per DomainEstimated Time
120~2โ€“5 minutes
1020~10โ€“20 minutes
5020~40โ€“80 minutes
10010~40โ€“70 minutes
  • Up to 12 pages fetched concurrently per domain
  • Contact, about, support, help, and team pages crawled first โ€” highest contact data density
  • Phone numbers validated in E.164 international format using the phonenumbers library
  • Checkpoint saved every 10 pages per domain
  • Multiple domains processed in parallel

โ“ FAQ

Q: What format are phone numbers returned in? A: All phone numbers are validated and returned in E.164 international format (e.g. +14155552671, +442071234567). This standardized format works directly with dialers, CRMs, and SMS tools without any cleaning.

Q: What is regionHint for? A: It improves accuracy for local phone number formats that don't include a country code. For example, a US-formatted number like (415) 555-2671 is correctly parsed when regionHint is set to "US". International numbers with country codes are extracted correctly regardless of this setting.

Q: How does the lead quality score work? A: The score is auto-calculated from the contact data found โ€” phone numbers, emails, addresses, social profiles, contact page URLs, company name, and tech stack. Higher scores mean more complete contact intelligence. See the Lead Quality Score section for the full breakdown.

Q: What technologies can be detected? A: WordPress, Shopify, Wix, Squarespace, Cloudflare, Google Analytics, Meta Pixel, Hotjar, HubSpot, and WooCommerce. Detection is based on known script sources, HTML patterns, and header signals present in the page HTML.

Q: What happens if a domain has no phone numbers? A: The per-page and summary records are still pushed with all other available data โ€” emails, addresses, social profiles, and tech stack. Only successfully extracted phone numbers incur the phone-specific charge. Pages are charged at the standard per-page rate.

Q: Can I crawl multiple domains in one run? A: Yes. Add multiple entries to startUrls โ€” all domains are processed in parallel, each with its own crawl queue and final summary record.

Q: Can I export results to Excel or CSV? A: Yes. All results are pushed to the Apify dataset, which can be exported to JSON, CSV, Excel, and more directly from the Apify Console after each run.


๐Ÿ“œ Changelog

v1.0.0 (Current)

  • โœ… Phone number extraction with E.164 validation โ€” international support with regional hint
  • โœ… Email extraction from page text and mailto: links
  • โœ… Physical address detection from page text
  • โœ… Social profile extraction โ€” 9 platforms
  • โœ… Tech stack detection โ€” 10 technologies
  • โœ… Auto-calculated lead quality score (0โ€“100) and tier (High / Medium / Low)
  • โœ… Contact and about page priority crawl
  • โœ… Full website crawl โ€” up to maxPagesPerDomain pages
  • โœ… Multi-domain parallel processing
  • โœ… Checkpoint/resume โ€” saves every 10 pages
  • โœ… Dual pay-per-event billing โ€” per phone number + per page scanned
  • โœ… Spending limit respect โ€” stops cleanly when charge limit reached

๐Ÿท๏ธ Tags

website contact scraper phone number extractor lead generation scraper email extractor contact data scraper b2b lead scraper phone scraper lead enrichment business contact extractor website crawler tech stack detector crm enrichment scraper


This actor crawls publicly accessible website pages and extracts contact information in the same way a regular user browses those pages.

Please note:

  • Use extracted contact data only for lawful purposes โ€” B2B outreach, CRM enrichment, market research, and lead generation are common legitimate uses
  • Always comply with applicable anti-spam and data protection laws โ€” including CAN-SPAM, GDPR, CASL, and CCPA โ€” when using extracted phone numbers or emails for outreach
  • Do not use this lead generation scraper to harvest personal data for harassment, spam, or any purpose that violates individual privacy rights
  • The actor developer is not responsible for how extracted contact data is used

๐Ÿค Support & Feedback

  • Bug report? Contact us via the Apify actor page
  • Feature request? Post in the Apify Community forum
  • Loving it? Please leave a โญ review โ€” it helps other users find this actor!

Built with โค๏ธ on Apify
The most complete Website Contact Scraper โ€” phones, emails, addresses, tech stack, lead scores

๐Ÿ’ฐ $0.10 per run + $12 per 1,000 phones + $8 per 1,000 pages ยท Pay only for results