Website Email Extractor: Emails, Phones & Socials from URLs
Pricing
from $1.50 / 1,000 website with contacts
Website Email Extractor: Emails, Phones & Socials from URLs
Bulk email extractor, website email extractor and MCP tool: paste a list of websites, get the e-mails, phones and social profiles each one publishes (homepage, contact, Impressum). A Hunter.io alternative, no browser, robots.txt respected. Pay per website with contacts found plus a start fee.
Pricing
from $1.50 / 1,000 website with contacts
Rating
0.0
(0)
Developer
PlainRows
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
Paste a list of websites and get, for each one, the e-mails, phone numbers and social profiles (Facebook, Instagram, LinkedIn, X, YouTube, TikTok) it publishes. The homepage is read first; when it shows no e-mail, up to two contact, imprint or legal pages linked from it are read too (the imprint or legal notice is always read, to respect objections written there). Up to 10,000 websites per run.
No browser, no proxies: plain HTTP requests, 10 websites at a time, a few seconds each, robots.txt respected. You pay only per website where contacts were found, plus $0.002 per run start. Websites with nothing found, unreachable sites and sites that object to solicitation are free.
Typical uses
- Lead lists: turn a list of company domains (from a CRM export, a directory, Google Maps or a tech-stack search) into contact e-mails and LinkedIn pages.
- Agencies and freelancers: find how to reach the businesses you want to pitch.
- CRM enrichment: fill missing e-mails, phones and social links for the accounts you already have.
- Automations and AI agents: feed n8n, Make, Zapier, Google Sheets, HubSpot or an MCP client with structured JSON.
What you get for each website
| Field | Description |
|---|---|
domain | The website read (your input, normalized to its domain) |
email, emails | First e-mail and all e-mails found (up to 10), the site's own domain first |
phones | Phone numbers from tel: links and structured data (up to 5) |
facebookUrl, instagramUrl, linkedinUrl, xUrl, youtubeUrl, tiktokUrl | Social profiles linked from the site |
pagesChecked | Pages read on the site |
status, message | FOUND (billed), or why not: NONE_FOUND, NO_EMAIL (with onlyWithEmail), OPTED_OUT, LEGAL_NOTICE_UNREADABLE (the legal notice could not be read now: run it again later), DUPLICATE_SITE (another input of the run redirects to the same website), DNS_NOT_FOUND, TIMEOUT, HTTP_ERROR, BLOCKED_BY_BOT_PROTECTION, ROBOTS_TXT_DISALLOWED... (free) |
found, optOut, observedAt | Whether contacts were found, whether the site objects to solicitation, when it was read (UTC) |
Missing values are null (lists are empty), never guessed. One row per website, in the dataset view Contacts as a ready-to-export table.
Input
{"domains": ["apify.com", "https://stripe.com/contact", "example-bakery.co.uk"],"onlyWithEmail": false}
- domains: one website per line, as a domain or any URL of the site (it is reduced to its domain). Up to 10,000 per run; duplicates are removed and invalid lines are listed in the run summary.
- onlyWithEmail (default off): return and bill only websites where at least one e-mail was found; websites with only phones or social profiles come back as free rows (
NO_EMAIL).
Output example
Real row from a run on 2026-10-13 (input apify.com):
{"domain": "apify.com","found": true,"email": "support@apify.com","emails": ["support@apify.com"],"phones": [],"facebookUrl": null,"instagramUrl": null,"linkedinUrl": "https://www.linkedin.com/company/apify","xUrl": "https://x.com/apify","youtubeUrl": null,"tiktokUrl": "https://www.tiktok.com/@apifytech","pagesChecked": ["https://apify.com/"],"optOut": false,"status": "FOUND","message": null,"observedAt": "2026-10-13T18:49:42.830Z","schemaVersion": "1.0"}
How the contacts are found
- At most 3 pages per website: the homepage, then, when it shows no e-mail, up to two pages linked from it whose link or address says contact, imprint or legal (team, people and about pages are skipped); when the homepage shows an e-mail, only its imprint or legal notice, where objections to solicitation are usually written. Pages are read without JavaScript, within about 75 seconds per site (45 s for the homepage, 15 s per extra page).
- robots.txt is respected, private network addresses are refused, pages over 2 MB are cut, bot-protection pages are reported as
BLOCKED_BY_BOT_PROTECTION(free). - A site that objects to solicitation or to the commercial use of its contact details (English, German, French notices) returns no contact (
OPTED_OUT) and is not billed. - Only what the website itself publishes: no guessed e-mail patterns, no personal-data lookups elsewhere, no verification by sending mail.
Pricing
See the Pricing tab for current prices, cheaper on higher Apify plans:
- one event per website where contacts were found (all its e-mails, phones and social profiles included); with onlyWithEmail, only websites with an e-mail are billed;
- $0.002 per run start.
Websites with nothing found, unreachable or blocked sites, sites that object to solicitation, duplicates and input mistakes cost nothing beyond the start fee. The run never spends more than the maximum cost you set.
Free Apify plan: each run reads up to 10 websites, so you can check the output. A paid Apify plan removes this limit.
Use it from code, automations or AI agents
API (one call, results returned directly):
curl -X POST "https://api.apify.com/v2/acts/plainrows~website-email-extractor/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"domains": ["apify.com", "stripe.com"]}'
n8n, Make, Zapier: use the Apify integration, pick plainrows/website-email-extractor, and map the dataset items to Google Sheets, HubSpot, Airtable or your database.
AI agents (MCP): add https://mcp.apify.com?tools=plainrows/website-email-extractor to Claude, Cursor or any MCP client. The agent gets a typed tool and pays per result.
What this is not
- Not an e-mail finder by person name and not an e-mail verifier: only addresses the website publishes.
- Not a crawler: at most 3 pages per site. E-mails shown only after JavaScript runs, or deep inside a site, are not found.
- A published business e-mail can still name a person (a sole trader's imprint, for example). You are responsible for how you contact the businesses: follow the anti-spam and privacy rules of your country and theirs (for example CAN-SPAM, GDPR).
Run summary
Each run stores a summary in the key-value store (OUTPUT): websites with contacts (billed), websites by status (nothing found, opted out, unreachable...), duplicates and invalid lines, and anything skipped because of the free-plan or budget limit.
FAQ
How do I extract e-mails from a list of websites? Paste the websites, one per line, and run. Each website comes back with its e-mails, phones and social profiles; download as CSV or Excel from the run page, or send them to Google Sheets or your CRM with n8n, Make or Zapier.
Why do some websites have no e-mail?
Many sites publish only a contact form, or load their contact details with JavaScript. Those come back as NONE_FOUND and are not billed. A site with only a phone number or social profiles is billed as a site with contacts, unless you turn on onlyWithEmail.
I only have business names or a Google Maps search, not websites. Use Google Maps Email Extractor: it finds the businesses on Google Maps and reads their websites in the same run.
Is there a "contact details scraper" version? Contact Details Scraper runs the same code at the same price, presented for contact details (e-mails, phones and social media links). Use either one.
Do I need proxies or a browser? No. Pages are read with plain HTTP requests from Apify's servers.
More PlainRows tools
Same pay-per-result pricing, same clean JSON, built to chain together in n8n, Make, Zapier or AI agents.
- SEO and keywords: Keyword Search Volume, CPC & Difficulty · Keyword Planner Alternative (Bulk Search Volume & CPC) · Google Keyword Planner API (Google Ads Search Volume & CPC) · Bing Keyword Search Volume & CPC · Keyword Ideas Generator · Google Autocomplete & People Also Ask · Google Trends Explorer · Google Trends Keyword Discovery (Rising & Related) · Website Organic Traffic & Top Keywords · Competitor Keywords API (Ranked Keywords) · Bulk Website Traffic Checker · SEO Competitors & Keyword Gap Finder · PPC Competitor Keywords (SpyFu Alternative) · Bulk Domain Authority Checker · Backlink Checker · Backlink API (Referring Domains & Backlinks Data) · Broken Link Checker · SEO Audit API (On-Page SEO Checker) · AI Search Visibility Tracker (ChatGPT, Gemini, AI Mode) · AI Overview Tracker (Google AI Overview Citations) · Perplexity Search API (Answers & Citations) · ChatGPT Search Scraper (Answers & Citations) · AI Citations Finder (LLM Mentions in ChatGPT & AI Overviews) · Keyword Rank Checker (Google SERP Position) · Google Search API (SERP Scraper & Web Results) · Bing Search API (Bing SERP & Web Results) · Google Maps Rank Tracker (Geo-Grid Local SEO)
- Leads and companies: Google Maps Scraper · Google Maps Email Extractor · Google Maps Businesses Without Website · Yellow Pages Australia Scraper · Website Technology Checker · Contact Details Scraper (Emails, Phones, Socials) · ATS Jobs Scraper (Workday, Greenhouse, Lever, Ashby) · Workday Jobs Scraper · Greenhouse Jobs Scraper · Lever Jobs Scraper · Ashby Jobs Scraper · Google Jobs Scraper · Reed.co.uk Jobs Scraper (UK) · jobs.ch & jobup.ch Jobs Scraper (Switzerland) · Arbeitsagentur Jobs Scraper (Germany) · Gupy Jobs Scraper (Brazil) · Catho Jobs Scraper (Brazil) · Vagas.com.br Jobs Scraper (Brazil) · Jobs.cz Scraper (Czech Republic) · Remote Jobs Scraper (Himalayas, RemoteOK, Jobicy) · Google Ads Scraper (Transparency Center) · Company Registry Lookup (SIRENE, LEI, Brreg) · Public Tenders Search (EU TED & UK)
- E-commerce and travel: Amazon Product Search Scraper · Amazon Keyword Research (Search Volume & Reverse ASIN) · Google Shopping Prices Scraper · Google Hotels Prices Scraper · Google Hotels Scraper · Tripadvisor Reviews Scraper · Trustpilot Reviews Scraper
- Marketplaces and classifieds: Property Finder Scraper (UAE) · Redfin Scraper (US Homes for Sale) · Otomoto Scraper (Polish Car Listings) · Otodom Scraper (Poland Property) · Imovirtual Scraper (Portugal Property) · Standvirtual Scraper (Portugal Cars) · Immoweb Scraper (Belgium Property) · Blocket Scraper (Sweden) · FINN.no Scraper (Norway) · coches.net Scraper (Spain Cars) · 2dehands Scraper (Belgium) · Storia Scraper (Romania Property) · Autovit Scraper (Romania Cars) · FINN.no Car Scraper (Norway Cars) · DBA Scraper (Denmark) · Tori.fi Scraper (Finland)
- Content and media: Google News Scraper · YouTube Search Scraper · YouTube Search API (JSON) · YouTube Comments Scraper · Google Images Scraper · Website Screenshot API · PDF to Markdown Converter (PDF to Text for AI & RAG) · Google Maps Reviews Scraper · Google Reviews Scraper · App Store & Google Play Reviews Scraper · App Store & Google Play App Details Scraper · Google Play Reviews Scraper · App Store Reviews Scraper
Support
Missing a field or found a bug? Open an issue on this page. Issues are read and answered.