Website Contact Extractor: Emails, Phones, Socials
Pricing
from $2.00 / 1,000 results
Website Contact Extractor: Emails, Phones, Socials
Give it a list of websites or domains and get emails, phone numbers and social media profiles (Facebook, Instagram, LinkedIn, X, YouTube, TikTok) for each site. Fast, no browser, one row per domain.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Xander Yushchak
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 days ago
Last modified
Categories
Share
Give it a list of websites or domains and get back the email addresses, phone numbers and social media profiles of each business, one tidy row per domain. It reads the homepage plus the pages where contact details usually live (Contact, Contact us, About, Team, Impressum/Imprint), so you don't have to click through every site yourself.
It works without a browser, so it is fast and cheap: hundreds of sites per minute.
What you get for each website
| Field | What it is |
|---|---|
emails | Email addresses from mailto: links, page text, name [at] domain style obfuscation and Cloudflare-protected emails. Junk is filtered out (image names like logo@2x.png, example.com, Sentry and Wix tracking addresses). The site's own domain comes first. |
phones | Phone numbers from tel: links, plus numbers written on the page in a common phone format |
facebook, instagram, linkedin, twitter, youtube, tiktok, pinterest, github | Profile links, cleaned to the account URL (share buttons and post links are skipped). The site's own accounts come first. |
contactPageUrl | The contact page it found, if any |
title, description | The homepage title and meta description |
pagesCrawled | Which pages were read |
What people use it for
- Lead generation: turn a list of company domains (from Google Maps, a directory, a CRM export or a trade show list) into emails, phones and LinkedIn pages.
- CRM enrichment: fill in missing contact fields for accounts you already have.
- Agency prospecting: find who to email at local businesses (restaurants, salons, contractors, clinics).
- Influencer and partner research: find a brand's Instagram, TikTok and YouTube from its website.
- Data cleaning: check which domains still load and what their title says.
Input example
{"websites": ["apify.com", "https://joesbarbershop.com", "www.python.org"],"maxPagesPerSite": 5,"maxItems": 1000}
Paste bare domains or full URLs, one per line. Duplicates are removed (www.example.com and example.com/about count as one site). A startUrls list of strings or { "url": ... } objects also works, which is handy from integrations.
Output example
Real result from a test run:
{"input": "apify.com","domain": "apify.com","url": "https://apify.com/","title": "Apify: Marketplace of ready-to-run tools for AI","description": "Thousands of tools to automate your business. Get real-time web data, track competitors, generate leads, and integrate your apps and AI agents.","emails": ["hello@apify.com", "james.hill@apify.com", "support@apify.com"],"phones": ["(718) 356-5168"],"contactPageUrl": "https://apify.com/contact","facebook": [],"instagram": [],"linkedin": ["https://www.linkedin.com/company/apify"],"twitter": ["https://x.com/apify"],"youtube": [],"tiktok": ["https://www.tiktok.com/@apifytech", "https://www.tiktok.com/@apifyoffice"],"pinterest": [],"github": ["https://github.com/apify"],"pagesCrawled": ["https://apify.com/", "https://apify.com/contact", "https://apify.com/contact-sales", "https://apify.com/compass/crawler-google-places"]}
A small local business looks like this:
{"domain": "joesbarbershop.com","title": "Barbershop | San Francisco, CA - Joe’s Barbershop","emails": [],"phones": ["+14152559096", "925-300-5688"],"facebook": ["https://www.facebook.com/joesbarbershopsf"],"twitter": ["https://x.com/joesbarbershop"],"youtube": ["https://www.youtube.com/channel/UCq_A6J7HN1u8POWPpoLHWqw"]}
How to use it
- Click Try for free (new Apify accounts get monthly free credit).
- Paste your list of websites.
- Click Start and download the results as Excel, CSV, JSON or HTML, or open them in Google Sheets.
How much does it cost?
You pay per result: $2.00 per 1,000 websites (one result = one website, no matter how many pages were read). Sites that don't load (dead domains, timeouts, blocked) are skipped and not charged. Set Max results to cap your spend.
Use it with n8n, Make or Zapier
- n8n: use the Apify node, choose "Run Actor", pick this actor and pass
{"websites": [...]}. Then read the dataset items in the next step. - Make: use the Apify app's "Run an Actor" module with "Run synchronously" on, then "Get Dataset Items".
- Zapier: use the Apify integration's "Run Actor" action, for example whenever a new row with a domain is added to a Google Sheet or CRM.
- API:
POST https://api.apify.com/v2/acts/juicy_fillet~website-contact-extractor/run-sync-get-dataset-items?token=YOUR_TOKENwith the input JSON returns the rows directly.
It also works as a tool for AI agents through Apify's MCP server.
FAQ
Does it use a browser? No. It downloads the HTML directly, which keeps it fast and cheap. Sites that only show their contact details after JavaScript runs (rare for contact pages) may return fewer results.
Why are some emails missing? Some sites only offer a contact form or show the email as an image. Those can't be read as text.
Why are there phone numbers from other countries? Numbers written on the page are included when they look like a real phone number. tel: links are the most reliable and are listed first.
Does it verify emails? No, it extracts what's published on the website. Run the results through an email verifier before cold outreach.
Is this allowed? It only reads public pages of the websites you give it, a few pages per site, with an identifying user agent. You are responsible for following privacy and anti-spam rules (GDPR, CAN-SPAM) when you contact people.