Website Contact Scraper Pro MCP avatar

Website Contact Scraper Pro MCP

Pricing

Pay per usage

Go to Apify Store
Website Contact Scraper Pro MCP

Website Contact Scraper Pro MCP

Contact data extraction from JavaScript SPAs — emails, phones, social links via headless browser. Handles React, Angular, Vue, Next.js that return empty for HTTP scrapers.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

AutomateLab

AutomateLab

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Categories

Share

Website Contact Scraper Pro — MCP Server

Extract contact data from any business website — emails, phones, social links, physical addresses, and decision-maker contacts — even from JavaScript-heavy SPAs that break traditional scrapers. This MCP server gives AI agents the ability to scrape structured contact information from any website using headless browser rendering, enabling automated lead generation and business development workflows.

Use Cases

  • Sales prospecting — Extract all contact information from a target company's website before outbound outreach campaigns
  • Lead enrichment — Fill in missing email addresses, phone numbers, and social profiles for existing lead lists
  • Partner discovery — Find contact details for potential business partners, vendors, or acquisition targets
  • Event preparation — Gather attendee or exhibitor contacts from conference or trade show websites
  • Recruiting outreach — Collect HR contacts and hiring manager information from company career pages
  • Competitive intelligence — Map contact infrastructure across competitors' digital presence

Features

  • Universal contact extraction — Emails, phone numbers, social links, physical addresses, and more from any webpage
  • JavaScript SPA support — Renders React, Angular, Vue, and Next.js sites that return empty for HTTP-only scrapers
  • Headless browser rendering — Playwright-powered rendering captures dynamically-loaded content
  • Extraction presets — Choose from balanced (default), decision-makers, deep-scan, or monitor modes
  • Cost optimization — Optional Pro Fallback runs HTTP scraper first, only using browser for JavaScript failures
  • Batch processing — Extract from multiple URLs in a single run for efficient lead list enrichment
  • AI agent ready — MCP protocol native, works with Claude, GPT, and any MCP-compatible agent

Quick Start

Installation

$npm install

Run

# Run with default input
echo '{"urls": ["https://example.com"]}' | INPUT_STORE=1 apify run
# Run with preset
echo '{"urls": ["https://example.com"], "preset": "decision-makers"}' | INPUT_STORE=1 apify run
# Enable Pro Fallback (HTTP first, browser on failure)
echo '{"urls": ["https://example.com"], "enableProFallback": true}' | INPUT_STORE=1 apify run

Add to your AI agent

{
"mcpServers": {
"website-contact-scraper-pro-mcp": {
"url": "https://website-contact-scraper-pro-mcp.apify.actor/mcp"
}
}
}

Input Parameters

ParameterTypeRequiredDefaultDescription
urlsarray of stringsyesWebsite URLs to scrape
presetstringno"balanced"Extraction preset: balanced, decision-makers, deep-scan, or monitor
enableProFallbackbooleannofalseRun HTTP scraper first, only use browser for JS failures

Presets

PresetBest For
balancedGeneral contact scraping with reasonable depth
decision-makersPrioritize C-suite, VP, and director-level contacts
deep-scanMaximum extraction — all pages, all links, maximum data
monitorLightweight scan for recurring monitoring tasks

Tools

scrape_contacts

Scrapes contact data from one or more websites using headless browser rendering.

When to call: AI agent doing lead generation, sales prospecting, or contact research. Scenario: Finding all contact information on a company's website before outreach.

Example AI prompt: "Scrape all contact information from apify.com — emails, phones, social links, everything."

scrape_contacts(urls=["https://apify.com"], preset="balanced", enableProFallback=false)

Output

{
"contacts": [
{
"url": "https://apify.com",
"emails": ["contact@apify.com", "info@apify.com"],
"phones": ["+1 555 123 4567"],
"social": {
"linkedin": "https://linkedin.com/company/apify",
"twitter": "https://twitter.com/apify",
"facebook": "https://facebook.com/apify"
},
"addresses": ["6026 W. Pima Center Pkwy, Scottsdale, AZ 85258"],
"source": "headless-browser"
}
],
"metadata": {
"scraped": 1,
"successful": 1,
"failed": 0,
"preset": "balanced"
}
}

Data Extracted

Data TypeDescription
EmailsAll email addresses found on the page
PhonesPhone numbers in various formats
Social LinksLinkedIn, Twitter, Facebook, Instagram, GitHub, and more
AddressesPhysical addresses and locations
Source URLWhich URL the data came from

Pricing

ToolPPE Price
scrape_contacts$0.10/call

PPE (Pay Per Event) — pay only for what you use. No subscription required.

Troubleshooting

No contacts found on a JavaScript site Enable enableProFallback: true to allow the HTTP scraper to attempt first, falling back to browser rendering only when needed.

SPA returns empty content This actor uses headless browser rendering specifically for this case. The Playwright engine waits for JavaScript to execute before extracting content.

Rate limiting or blocks Try reducing batch size or using the monitor preset for lighter scraping.

Timeout on large sites The actor has a 3600-second timeout. For very large sites, split into multiple runs with smaller URL batches.

How It Compares

AspectWebsite Contact Scraper ProHTTP-only scrapers
JavaScript sitesFull renderingEmpty results
SPA supportNative (React, Angular, Vue, Next.js)None
Contact typesEmails, phones, social, addressesEmails only
Dynamic contentWaits for JS executionSkipped

License

MIT