Website Contact Details Scraper: Emails, Phones & Socials
Pricing
from $2.80 / 1,000 website with contacts
Website Contact Details Scraper: Emails, Phones & Socials
Get the public emails, phone numbers and social profiles from any list of company websites. Emails are checked against the domain's mail server. You pay only for websites where contacts were found.
Pricing
from $2.80 / 1,000 website with contacts
Rating
0.0
(0)
Developer
Mårten Fitzback
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
Paste a list of company websites and get back the contact details each one publishes: emails, phone numbers, social profiles, postal address and the contact page they came from.
You pay only for websites where contacts were found. Websites that are down, block the request or list no contacts are returned with a status and cost nothing.
What you get for each website
| Field | What it is |
|---|---|
primaryEmail | The best address to write to: the site's own domain first, general inboxes such as info@ and contact@ before departments and people |
emails | Every address found, each with its type (role, person or other), whether it is on the website's own domain, the page it was found on, and whether its domain has a mail server |
phones | Numbers from click-to-call links and the site's structured data, de-duplicated |
socials | LinkedIn, Facebook, Instagram, X, YouTube, TikTok, GitHub and WhatsApp links |
companyName, address | From the site's structured data, when it has any |
contactPageUrl | The first inner page where contacts were found |
status | ok, no-contacts-found, unreachable or invalid-input |
What it handles that simple scrapers miss
- Protected emails. Addresses hidden by Cloudflare's email protection are decoded, and
name [at] company [dot] comspellings are read. - Junk filtering. Image names like
logo@2x.png, error-tracking addresses, and placeholders such asyou@example.comorfirstname.lastname@are left out. - Dead domains. Each email's domain is checked for a mail server. Addresses at domains that cannot receive mail are dropped.
- The right pages. Besides the home page it opens the pages most likely to list contacts: Contact, About, Team, Imprint and their equivalents in German, French, Spanish, Italian, Portuguese and the Nordic languages.
Input
{"websites": ["apify.com", "https://letsencrypt.org"],"maxPagesPerSite": 5,"verifyEmails": true,"onlyDomainEmails": false}
Turn on onlyDomainEmails to skip addresses at other domains, such as a web agency's email in the footer.
Output example
{"website": "https://internetstiftelsen.se/","domain": "internetstiftelsen.se","companyName": "Internetstiftelsen","status": "ok","primaryEmail": "info@internetstiftelsen.se","emails": [{ "email": "info@internetstiftelsen.se", "type": "role", "sameDomain": true, "mailServerFound": true, "sourceUrl": "https://internetstiftelsen.se/" }],"phones": ["+4684523500"],"socials": { "linkedin": "https://www.linkedin.com/company/internetstiftelsen" },"contactPageUrl": "https://internetstiftelsen.se/kontakta-din-kundtjanst/","pagesChecked": ["https://internetstiftelsen.se/"]}
Pricing
$4.00 per 1,000 websites where contacts were found ($0.004 each). One charge per website where at least one email or phone number was found. Nothing for websites without results.
A list of 500 company websites, of which 350 publish contacts, costs $1.40. 10,000 websites with a 70% hit rate cost $28.
Each run also has a start charge of $0.00005. There is no separate charge for computing time. Apify's paid plans get 10% to 30% off these prices; the Pricing tab shows yours. Apify's free plan includes $5 of credit a month, which covers 1,250 websites with contacts.
Limits
- It reads the HTML a website serves. Contacts that only appear after JavaScript runs in a browser can be missed.
- Some large brands refuse automated requests. Those websites come back as
unreachableand are not charged. Small and mid-sized company websites, the usual lead lists, rarely do this. - The mail-server check confirms the domain accepts mail. It does not confirm that a particular mailbox exists.
- It opens at most 20 pages per website and respects
robots.txtunless you switch that off.
Responsible use
This tool collects contact details that organizations publish on their own websites. Emails of named people are personal data in many countries. Make sure your use, especially any outreach, follows the laws that apply to you, such as GDPR and CAN-SPAM.
Questions
Can I run it on a schedule?
Yes. Save your input as a task and add an Apify schedule, for example every morning.
How do I get the results into Excel or Google Sheets?
Every run's results can be downloaded as Excel, CSV or JSON from the run's Output tab. Apify's integrations with Make, Zapier, n8n and Google Sheets can pass them on automatically.
Can I call it from my own code or from an AI agent?
Yes. The API tab has ready-made code for Python, JavaScript and cURL, and the tool can be connected to AI agents through Apify's MCP server.
Something looks wrong or is missing
Open a report under the Issues tab and include the input you used.