Website Intelligence Extractor
Pricing
from $5.00 / 1,000 results
Website Intelligence Extractor
Extract company information, emails, phone numbers, social profiles, addresses, logos, metadata, JSON-LD, and key pages from any website. Crawls multiple pages and merges everything into a single structured JSON output for lead generation and CRM enrichment.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Savaş Dersim Çelik
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
What does Website Contact Extractor do?
Website Contact Extractor is an Apify Actor that automatically collects contact details, social media profiles, and company metadata from any website. Give it one or more start URLs and it will scan the homepage, discover Contact and About pages, and merge everything into a single structured JSON record per domain.
The Actor extracts emails, phone numbers, physical addresses, social links (Facebook, Instagram, LinkedIn, X, YouTube, TikTok, WhatsApp, Telegram, GitHub, and more), company name, logo, favicon, and Schema.org / JSON-LD structured data. It runs on the Apify platform with fast HTTP crawling (Crawlee + Cheerio), optional proxy rotation, API access, scheduling, and integrations with CRMs and spreadsheets.
Try it in Apify Console, call it via API, or run it locally with apify run.
Why use Website Contact Extractor?
- Lead generation — Build prospect lists with verified contact channels from company websites.
- CRM enrichment — Fill missing phone, email, and social fields in your existing records.
- Sales intelligence — Research companies before outreach with structured, machine-readable data.
- Marketing automation — Feed contact and social data into email tools, ad platforms, or enrichment pipelines.
- Directory building — Aggregate business contact information at scale from multiple domains.
- One record per domain — Multiple pages (homepage, Contact, About) are merged automatically so you get the fullest picture without duplicate rows.
How to use Website Contact Extractor
- Open the Actor in Apify Console or run it locally with
apify run. - Add one or more Start URLs (e.g.
https://example.com). - Set Max requests per crawl to at least 3 if you want Contact and About pages crawled (recommended: 5).
- Keep Follow Contact & About pages enabled for best results.
- Click Start and wait for the run to finish.
- Download results from the Output tab as JSON, CSV, Excel, or HTML.
Local development
npm installapify run
Input
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array | — | Websites to scrape (required) |
maxRequestsPerCrawl | integer | 10 | Max pages to crawl in total (max 5000) |
followImportantPages | boolean | true | Auto-crawl Contact & About pages |
maxConcurrency | integer | 50 | Parallel page fetches (max 50) |
proxyConfiguration | object | no proxy | Apify Proxy settings |
Example input:
{"startUrls": [{ "url": "https://apify.com" }],"maxRequestsPerCrawl": 10,"followImportantPages": true,"maxConcurrency": 50,"proxyConfiguration": { "useApifyProxy": false }}
Output
Each dataset item represents one website (domain) with merged data from all scanned pages.
{"url": "https://example.com","domain": "example.com","companyName": "Example Inc.","title": "Example Inc. — Home","description": "We build great products.","keywords": ["software", "saas"],"language": "en","phones": ["+15551234567"],"emails": ["hello@example.com"],"facebook": "https://facebook.com/example","instagram": "https://instagram.com/example","linkedin": "https://linkedin.com/company/example","twitter": "https://x.com/example","youtube": "","tiktok": "","telegram": "","whatsapp": "https://wa.me/15551234567","github": "https://github.com/example","address": "123 Main Street, San Francisco, CA 94105, US","city": "San Francisco","country": "US","postalCode": "94105","logo": "https://example.com/logo.png","favicon": "https://example.com/favicon.ico","contactPage": "https://example.com/contact","aboutPage": "https://example.com/about","pagesScanned": 3,"scannedPages": ["https://example.com","https://example.com/contact","https://example.com/about"],"scrapedAt": "2026-07-03T12:00:00.000Z"}
You can download the dataset in various formats such as JSON, CSV, Excel, or HTML.
Data table
| Field | Description |
|---|---|
url | Primary URL of the website |
domain | Normalized domain name |
companyName | Company name from JSON-LD or Open Graph |
title | Page title |
description | Meta description |
phones | Phone numbers (validated, deduplicated) |
emails | Email addresses (validated, deduplicated) |
facebook … threads | Social profile URLs |
address, city, country, … | Location fields from JSON-LD, <address>, or page text |
logo, favicon | Branding assets |
contactPage, aboutPage | Discovered important page URLs |
pagesScanned | Number of pages crawled for this domain |
scrapedAt | ISO timestamp of extraction |
Pricing / Cost estimation
This Actor uses CheerioCrawler (HTTP-only, no browser), which keeps compute costs low. A typical run with 5 pages per website uses a fraction of a compute unit.
Rough estimate: scraping 100 websites with 3 pages each on Apify's free tier is usually feasible for development and small batches. For large-scale production runs, monitor compute units in the Apify Console and adjust maxRequestsPerCrawl and maxConcurrency accordingly.
Tips and advanced options
- Set
maxRequestsPerCrawl≥ 3 — Homepage alone often misses contact details; Contact and About pages carry the richest data. - Multiple start URLs — Add many domains in one run; each produces a separate output row.
- Disable
followImportantPages— Use when you only need data from the exact URLs you provide. - Use Apify Proxy — Enable proxy for geo-restricted or rate-limited sites.
- Phone filtering — Tracking IDs (Meta Pixel, analytics) are filtered out to reduce false positives.
- Email filtering — Placeholder and system addresses (
noreply@,example.com) are excluded. - JavaScript-heavy sites — Sites that render content entirely in the browser may need a Playwright-based Actor instead.
FAQ, disclaimers, and support
Is web scraping legal? Scraping publicly available contact information is common for B2B lead generation, but you are responsible for complying with applicable laws, website Terms of Service, and privacy regulations (GDPR, CAN-SPAM, etc.) in your jurisdiction.
Known limitations
- Static HTML only — JavaScript-rendered contact widgets may not be captured.
- Address detection works best with JSON-LD,
<address>tags, or Turkish/English address patterns. - Social share links (
/sharer,/intent/tweet) are ignored in favor of profile URLs.
Support — Report bugs or request features via the Issues tab in Apify Console. Custom integrations and enterprise deployments are available on request.
License
MIT