Website Contact Extractor - Emails & Phones
Pricing
from $3.00 / 1,000 contacts founds
Website Contact Extractor - Emails & Phones
Extracts emails, phone numbers and social profiles from any website by crawling its contact, about and legal pages. Validates email domains via DNS. Plain HTTP, no browser: fast, and you pay only for websites where contacts were found.
Pricing
from $3.00 / 1,000 contacts founds
Rating
0.0
(0)
Developer
Antonio del Olmo Tena
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Give it a list of websites and get back the emails, phone numbers and social profiles published on each one. The Actor crawls the home page and the pages where contact details usually live (contact, about, team, legal, imprint, support) on the same domain, extracts every contact it finds, validates the email domains via DNS and returns one clean, deduplicated record per website.
You pay only for websites where at least one contact was found. No browser, no proxies, no CAPTCHA tricks: plain HTTP requests, fast and cheap.
What you get
One Dataset item per website with:
emails: each withmxValid(the domain can receive mail), thesource(mailtolink or visible text) and thepagewhere it was found.phones: each with thesource(tellink or visible text) and thepage. Numbers are normalized to digits with the international prefix when present.socials: first profile link found per network: Facebook, Instagram, LinkedIn, Twitter/X, YouTube, TikTok, Pinterest, Threads, WhatsApp, Telegram, GitHub. Share buttons and video links are ignored.title,description,finalUrl,pagesCrawled,pages,failedPages,skippedByRobots.
Websites that cannot be fetched are returned with an error field and are not charged.
How to use it
- Open the Input tab.
- Paste the website URLs in Website URLs, one per line (the home page is enough).
- Optionally change Max pages per website (10 by default, up to 30) and Validate email domains.
- Click Start. Read the results in the Output tab or export them as JSON, CSV or Excel for your CRM.
- Run it from your code or an AI agent with the API call below, or schedule it to re-check your list and get
EMAIL_ADDED,PHONE_ADDEDandSOCIAL_CHANGEDevents when a company publishes new contact details.
Input
{"websites": ["https://www.iana.org/", "https://example-company.com"],"maxPages": 10,"validateEmails": true}
| Field | Description |
|---|---|
websites | Website URLs. Up to 50 per run. Private or internal addresses are rejected. |
maxPages | Pages crawled per website, home page included. Default 10, maximum 30. |
validateEmails | Default true. Adds mxValid to every email by checking the domain's MX records. |
Output example
{"url": "https://www.iana.org/","finalUrl": "https://www.iana.org/","title": "Internet Assigned Numbers Authority","emails": [{ "email": "iana@iana.org", "mxValid": true, "source": "mailto", "page": "https://www.iana.org/contact" }],"phones": [{ "number": "+13108239358", "source": "text", "page": "https://www.iana.org/contact" }],"socials": { "twitter": "https://x.com/iana" },"pagesCrawled": 10,"failedPages": 0,"skippedByRobots": 0,"timestamp": "2026-10-02T20:00:00.000Z"}
Pricing
You pay per website with results, nothing else:
- Contacts found ($0.003): one website where at least one email, phone or social profile was found, with everything included.
- Contacts changed ($0.005): only in scheduled runs, when a website's contacts changed since the previous run.
- Actor start ($0.00005): Apify's standard start fee.
Websites with no contacts and websites that fail are free. 1,000 websites with contacts cost $3. Comparable Actors charge $0.01 to $0.02 per email.
Use it as an API
curl -X POST "https://api.apify.com/v2/acts/USERNAME~contact-extractor/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"websites":["https://www.iana.org/"],"maxPages":10}'
Replace USERNAME~contact-extractor with the Actor id shown on this page. The call returns the Dataset items directly. The Actor is also available to AI agents through Apify's MCP integration.
FAQ
It found nothing on a site that clearly has a contact page. Some sites render their content only with JavaScript or hide emails behind forms or images; a plain HTTP crawler cannot read those. Check pagesCrawled: if it is 1, the site may block crawlers or list no internal links.
Why are some emails flagged mxValid: false? Their domain has no mail server, so messages would bounce. Typical for placeholder or outdated addresses.
Does it respect robots.txt? Yes. Pages disallowed for all crawlers are skipped and counted in skippedByRobots.
Can I monitor a list of companies? Yes. Schedule the Actor; every run compares each website with the previous snapshot and emits events for new or removed emails, phones and social profiles.
Is anything bypassed? No. The Actor reads public pages with plain requests, never requests private or internal addresses and never evades anti-bot systems.