Website Contact Page Email & Phone Crawler
Crawl a website's contact, about and team pages and collect its public emails, phone numbers, and social media profile links in one normalized record per site.
Open in Apify Store$0.99 / 1K on Free
Short answer
Website Contact Page Email & Phone Crawler is an Apify Store Actor. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 13 input settings; one is required (urls). Last updated Nov 10, 2026.
From the public Store listing and published build schema, synced 2026-11-12.Input
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| urls | array | Yes | – | Websites to scan for public contact details. You can paste full URLs or bare domains; duplicates are removed. |
| maxPagesPerSite | integer | No | 20 | Maximum number of pages to fetch per website. Contact, about, team and imprint pages are prioritised. |
| maxConcurrency | integer | No | 5 | How many pages of the same website may be fetched in parallel. |
| maxSitesConcurrency | integer | No | 3 | How many websites are scanned in parallel. Lower this if you hit rate limits. |
| requestTimeoutSecs | integer | No | 15 | Maximum time to wait for one page before trying the next proxy tier. |
| defaultCountry | string | No | – | ISO 3166-1 alpha-2 country used to interpret phone numbers written without an international prefix. Leave empty to infer from the website domain. |
| useProxy | boolean | No | false | Start with the Apify proxy ladder instead of trying direct requests first. The actor always retries blocked requests through the proxy ladder automatically. |
| smartPrioritise | boolean | No | true | Try common contact, about, team, imprint and support paths first, and queue contact-like links ahead of other internal links. |
| respectRobotsTxt | boolean | No | true | Skip pages that the website's robots.txt disallows. Turn this off only when you own the site or have permission to crawl it. |
| useSitemap | boolean | No | true | Read sitemap.xml and robots.txt sitemap entries to find contact and about pages that are not linked from the homepage. |
Show the other 3 settings
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| renderFallback | boolean | No | true | If plain HTML contains no email or phone, render up to two pages in a headless browser to capture contacts loaded by JavaScript. |
| onlyWithContacts | boolean | No | false | Drop records for websites where no email, phone, social profile or contact form was found. |
| includeNamedEmails | boolean | No | true | Include personal addresses such as jane.smith@company.com. When off, only role addresses such as info@, sales@ and support@ are kept. |
Example input
Built from the input form's published example values and defaults.
{
"urls": [
"https://apify.com"
],
"maxPagesPerSite": 5,
"maxConcurrency": 5,
"maxSitesConcurrency": 3,
"requestTimeoutSecs": 15,
"useProxy": false,
"smartPrioritise": true,
"respectRobotsTxt": true,
"useSitemap": true,
"renderFallback": true,
"onlyWithContacts": false,
"includeNamedEmails": true
} Run it from code or an AI agent
The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"urls": [
"https://apify.com"
],
"maxPagesPerSite": 5,
"maxConcurrency": 5,
"maxSitesConcurrency": 3,
"requestTimeoutSecs": 15,
"useProxy": False,
"smartPrioritise": True,
"respectRobotsTxt": True,
"useSitemap": True,
"renderFallback": True,
"onlyWithContacts": False,
"includeNamedEmails": True
}
run = client.actor("nimbryxo-studio/website-contact-page-email-and-phone-crawler").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"urls": [
"https://apify.com"
],
"maxPagesPerSite": 5,
"maxConcurrency": 5,
"maxSitesConcurrency": 3,
"requestTimeoutSecs": 15,
"useProxy": false,
"smartPrioritise": true,
"respectRobotsTxt": true,
"useSitemap": true,
"renderFallback": true,
"onlyWithContacts": false,
"includeNamedEmails": true
};
const run = await client.actor("nimbryxo-studio/website-contact-page-email-and-phone-crawler").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/nimbryxo-studio~website-contact-page-email-and-phone-crawler/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"urls":["https://apify.com"],"maxPagesPerSite":5,"maxConcurrency":5,"maxSitesConcurrency":3,"requestTimeoutSecs":15,"useProxy":false,"smartPrioritise":true,"respectRobotsTxt":true,"useSitemap":true,"renderFallback":true,"onlyWithContacts":false,"includeNamedEmails":true}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=nimbryxo-studio/website-contact-page-email-and-phone-crawler",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
What a run costs
The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.
| Apify plan | Per 1,000 | 10,000 results | 100,000 results |
|---|---|---|---|
| Free plan | $0.99 | $9.90 | $99 |
| Starter plan | $0.82 | $8.20 | $82 |
| Scale plan | $0.66 | $6.60 | $66 |
| Business plan | $0.49 | $4.90 | $49 |
- Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
- The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
- Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
- Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.
What people use it for
- collect public contact details
- find company contact pages
Similar Actors
Tor Hidden Service Crawler & Contact Extractor
Crawl Tor .onion sites by URL or keyword search and pull emails, phone numbers, crypto wallet addresses, social handles, and exposed API keys from…
Amazon Brand Store Page & Merchandising Crawler
Crawl an Amazon Brand Store's navigation, creative modules (images, video, CTAs), and every product link found on its pages. Resolves a brand's…
Bulk Email Deliverability & SMTP Verification
Check email addresses for syntax, MX records, disposable and role-based domains, and optionally SMTP mailbox existence and catch-all behavior,…
Domain-Scoped Site Crawler for Markdown Datasets
Crawl a website from one or more start URLs, staying on the same domain, and get back clean Markdown, text, or HTML per page with title,…
AutoScout24 Vehicle Listings with Dealer Contact Details
Search AutoScout24 across eight European countries by make, price, mileage and location, and get full vehicle specs, equipment, photos and dealer…
Complete Page Capture - Screenshot & PDF
Capture complete full-page screenshots or PDFs of any URL list. Scrolls lazy content, waits for images and fonts, removes fixed headers and…
Questions people ask
How much does Website Contact Page Email & Phone Crawler cost?
The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.
What input does Website Contact Page Email & Phone Crawler need?
Required: urls. Optional settings include maxPagesPerSite, maxConcurrency, maxSitesConcurrency, requestTimeoutSecs, defaultCountry, useProxy.
How do I run Website Contact Page Email & Phone Crawler from Python or the API?
Use the Apify API client: in Python, ApifyClient(token).actor("nimbryxo-studio/website-contact-page-email-and-phone-crawler").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("nimbryxo-studio/website-contact-page-email-and-phone-crawler").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/nimbryxo-studio~website-contact-page-email-and-phone-crawler/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.
Sources
- Website Contact Page Email & Phone Crawler on Apify Store
- Published build with input and output schema (JSON)
Cite this page
Scraper Finder. "Website Contact Page Email & Phone Crawler." https://scraperfinder.com/catalogue/website-contact-page-email-and-phone-crawler/ (data checked 2026-11-12).
Run Website Contact Page Email & Phone Crawler
$0.99 per 1,000 results. Paste the example input above, set your target query, then export the dataset.