Website Contact Scraper —  v Phone & Lead Generation Tool avatar

Website Contact Scraper — v Phone & Lead Generation Tool

Pricing

from $5.00 / 1,000 phones

Go to Apify Store
Website Contact Scraper —  v Phone & Lead Generation Tool

Website Contact Scraper — v Phone & Lead Generation Tool

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 $5.00 / 1,000 phones

Rating

0.0

(0)

Developer

Scrape Pilot

Scrape Pilot

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 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, technology stack, contact page URLs, and an automatic lead quality score — across every page automatically. Multi-domain batch. Contact page priority crawling. Checkpoint resume. Pay only for results.

Apify Actor


📌 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 links — across all pages automatically, with an auto-calculated lead quality score per domain.

Provide one or many website URLs and receive back a structured record for every page scanned: all phones, emails, addresses, social links, detected technologies, and contact pages found — plus lead score and quality label. A final domain summary consolidates all unique phones and emails found across the entire crawl.

This phone number extractor validates international phone numbers using industry-standard library processing and formats them in E.164 international format. This lead generation scraper prioritizes contact, about, support, and help pages for first crawling — where contact data is most concentrated — and saves progress every 10 pages for abort-safe checkpoint recovery.


🚀 Why Use This Website Contact Scraper?

FeatureThis ActorManual ResearchBasic Email ScrapersHunter.io
Phone number extraction + validation✅ International
Email addresses✅ Slow
Physical address detection
Social media profiles (9 platforms)
Technology stack detection✅ 10 tools
Lead quality score✅ Auto⚠️
Full website crawl✅ Up to 20 pagesN/A
Contact page priority✅ Built-inN/A
Multi-domain batch⚠️⚠️
Checkpoint resumeN/AN/A

Bottom line: This lead generation scraper is the only actor that combines validated international phone numbers, email addresses, physical addresses, social profiles, tech stack detection, and automatic lead scoring — in a full-website crawl with dual pay-per-result pricing.


🎯 Use Cases

📞 B2B Lead Generation & Sales Prospecting

  • Extract phone numbers, emails, and addresses from prospect websites at scale for outreach campaigns
  • Score leads automatically — High, Medium, or Low — based on contact data completeness
  • Build enriched B2B prospect lists with company name, tech stack, and full contact details

📊 CRM Enrichment & Database Building

  • Enrich existing CRM records with validated phone numbers and emails from company websites
  • Detect which technologies prospects use — WordPress, Shopify, HubSpot — for targeted outreach
  • Identify contact pages and support URLs for each prospect for sales team reference

🔍 Market Research & Competitive Intelligence

  • Map contact data availability across an industry's key players using bulk domain input
  • Identify which companies publish phone numbers vs email-only for channel strategy decisions
  • Collect tech stack data at scale to understand platform adoption across a market segment

🏢 Agency & Freelancer Lead Services

  • Offer website contact extraction as a service — deliver scored lead lists to clients
  • Build targeted prospect databases for specific industries using bulk domain scraping
  • Automate lead enrichment workflows with scheduled actor runs on new domain lists

🛠️ Sales Intelligence Platforms

  • Feed structured contact data into sales intelligence tools via Apify integrations
  • Build automated pipelines that crawl new prospect websites and push data directly to CRM
  • Use lead quality scores to route contacts into different sales or nurture sequences

🎓 Academic & Policy Research

  • Study digital contact accessibility and phone number publishing patterns across business types
  • Analyse technology adoption alongside contact data availability for digital presence research
  • Build structured datasets of business contact presence for academic or policy studies

⚙️ Input Parameters

{
"startUrls": [
{ "url": "https://www.example.com" },
{ "url": "https://www.anothercompany.com" }
],
"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 parsing — e.g. "US", "GB", "DE", "AU"
concurrencyinteger12Pages fetched in parallel per domain (max 12)
proxyConfigurationobjectOptionalApify proxy config — recommended for high-volume runs

regionHint tip: Set to the country code matching your target websites. "GB" for UK, "DE" for Germany, "AU" for Australia. International numbers with country codes are always parsed correctly regardless of this setting.


📋 Output Fields

This website contact scraper produces two record types per domain:

📄 Per-Page Records

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

FieldTypeDescriptionExample
domainstringWebsite domain"example.com"
start_urlstringInput URL for this domain"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 title"Example Corp"
website_descriptionstringMeta description"We help businesses grow..."
phone_numbersarrayValidated phones in E.164 format["+14155550100"]
emailsarrayEmail addresses found on this page["sales@example.com"]
addressesarrayPhysical addresses detected["123 Main Street, Austin, TX"]
social_profilesobjectSocial links per platform{"linkedin": "https://...", "twitter": "https://..."}
technologiesarrayTechnologies detected["WordPress", "Google Analytics", "HubSpot"]
contact_pagesarrayContact-related URLs found on this page["https://example.com/contact"]
lead_scoreintegerNumeric lead quality score (0–100)75
lead_qualitystringLead quality label"High", "Medium", "Low"
pages_scannedintegerRunning page count4

🏆 Final Domain Summary Record

One consolidated summary pushed per domain after all pages are crawled:

FieldTypeDescriptionExample
domainstringWebsite domain"example.com"
phone_numbersarrayAll unique phones across all pages["+14155550100", "+14155550199"]
emailsarrayAll unique emails across all pages["sales@example.com", "info@example.com"]
pages_scannedintegerTotal pages scanned18
lead_scoreintegerFinal lead quality score80
lead_qualitystringFinal lead quality label"High"
statusstringCompletion status"completed", "partial"

🏅 Lead Score Reference

ScoreQualityMeaning
70–100HighPhone + email + address + social all found
35–69MediumPhone or email present with some data
0–34LowMinimal contact data — company name only

🛠️ Technology Detection

The technologies field detects: WordPress, Shopify, Wix, Squarespace, Cloudflare, Google Analytics, Meta Pixel, Hotjar, HubSpot, WooCommerce


📦 Example Input & Output

Input:

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

Per-page record:

{
"domain": "example.com",
"page_url": "https://www.example.com/contact",
"company_name": "Example Corp",
"phone_numbers": ["+14155550100"],
"emails": ["sales@example.com", "support@example.com"],
"addresses": ["123 Main Street, Suite 400, Austin, TX 78701"],
"social_profiles": { "linkedin": "https://linkedin.com/company/example" },
"technologies": ["Google Analytics", "HubSpot"],
"contact_pages": ["https://www.example.com/contact"],
"lead_score": 80,
"lead_quality": "High",
"pages_scanned": 3
}

Final domain summary:

{
"domain": "example.com",
"phone_numbers": ["+14155550100", "+14155550199"],
"emails": ["sales@example.com", "info@example.com", "press@example.com"],
"pages_scanned": 5,
"lead_score": 85,
"lead_quality": "High",
"status": "completed"
}

💰 Pricing

This actor uses dual pay-per-event pricing — two separate 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 unique phone number extracted is charged at $0.012
  • ✅ Each page successfully scanned 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 continues from the last saved page

Example: 5 domains × 20 pages = 100 pages ($0.80) + 50 phones ($0.60) + start ($0.10) = $1.50 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~8–18 minutes
5020~35–70 minutes
10020~70–140 minutes
  • Up to 12 pages fetched concurrently per domain
  • Contact, about, support, help, and team pages crawled first
  • Checkpoint saved every 10 pages — restart resumes exactly from last position
  • Multiple domains processed in parallel
  • Phone numbers validated and formatted to E.164 international standard

❓ FAQ

Q: How are phone numbers validated? A: Phone numbers are parsed and validated using the industry-standard phonenumbers library — the same technology used by Google. Only numbers passing possible-number validation are included, formatted in E.164 (e.g. +14155550100). Set regionHint to your target country for best results with local number formats.

Q: What is regionHint for? A: Phone numbers without a country code (e.g. (415) 555-0100) need a region hint to parse correctly. Set regionHint to "US", "GB", "DE", "AU", etc. matching your target websites. International numbers with explicit country codes are always parsed correctly regardless.

Q: How is the lead score calculated? A: Scores are automatically computed — phone numbers (+30), emails (+25), addresses (+15), social profiles (+10), contact pages (+10), company name (+5), technologies (+5). Scores 70+ = High, 35–69 = Medium, below 35 = Low.

Q: What does status: "partial" mean? A: The crawl reached maxPagesPerDomain before exhausting all discovered links. All data found is saved. Increase maxPagesPerDomain for more thorough coverage.

Q: Can I crawl multiple domains in one run? A: Yes. Add multiple { "url": "..." } entries to startUrls. All domains are processed in parallel — each with its own crawl queue, checkpoint, and final summary record.

Q: Are there two separate billing events? A: Yes. Phone number extraction ($0.012 each) and page scanning ($0.008 each) are billed as separate events. This means a page with no phone numbers only incurs the page scan charge.

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 from the Apify Console after each run.


📜 Changelog

v1.0.0 (Current)

  • ✅ International phone number extraction with E.164 validation
  • ✅ Email extraction from text and mailto: links
  • ✅ Physical address detection from page text
  • ✅ Social media profile extraction (9 platforms)
  • ✅ Technology stack detection (10 tools)
  • ✅ Automatic lead quality scoring (High / Medium / Low)
  • ✅ Contact page URL discovery per domain
  • ✅ Company name extraction from OG metadata and page title
  • ✅ Priority crawl of contact, about, support, help, and team pages
  • ✅ Per-page records + final domain summary
  • ✅ Multi-domain parallel processing
  • ✅ Checkpoint/resume — saves every 10 pages
  • ✅ Dual pay-per-event billing — phones and pages charged separately

🏷️ Tags

website contact scraper phone number extractor lead generation scraper email scraper contact data extractor phone scraper lead enrichment b2b contact scraper website crawler tech stack detector lead scoring business contact 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 sales prospecting, CRM enrichment, market research, and academic study are common legitimate uses
  • Always comply with applicable data protection and anti-spam laws — GDPR, CAN-SPAM, CASL, CCPA — when using extracted phones or emails for outreach
  • Do not use this lead generation scraper to harvest personal data for harassment, spam, or privacy violations
  • 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 scoring

💰 $0.10 start + $12 per 1,000 phones + $8 per 1,000 pages · Pay only for results