Website Email Finder & Contact Details Scraper icon

Website Email Finder & Contact Details Scraper

Website email finder: get emails, phone numbers and LinkedIn, X, Facebook, Instagram and YouTube links from any list of websites or a Google Maps dataset. Reads Contact, Imprint and About pages and decodes Cloudflare-protected emails. $1.75 per 1,000 sites with contacts; none found, no charge.

$1.75 per 1,000 website with contacts6 public runs in 30 daysupdated 2026-11-07
Try it

Build the input, get the call

Change any field; the code on the right follows. Copy it, or run the same input on Apify.

Website addresses or domains, one per line - e.g. `apify.com`, `https://www.zalando.de`. Any page of the site works; the Actor finds the contact pages itself. Or leave empty and pick a dataset or a city below.

Only if the websites aren't found automatically: the column that holds them (dots for nested fields, e.g. `company.website`). By default `website`, `url`, `domain` and similar columns are used; map, social and job-board links are skipped.

Find businesses by category and city

Town or city, e.g. `Pune`, `Austin`, `Manchester`. Add `Country code` below (or write `Pune, IN`). Leave empty to check the websites above instead.

Two letters for the city's country: `IN`, `US`, `GB`, `AE`, `DE`...

e.g. `dentist`, `plumber`, `restaurant`, `real estate`, `gym`, `lawyer`. Plurals and everyday words work. Leave empty for every business in the area.

How far from the city centre to search.

Skip businesses that list no website of their own (social pages don't count).

Leave out branches of chains (Starbucks, banks...) to get independent local businesses.

How sure the map data is that the business exists, 0 to 1. Raise to 0.8 for fewer, better-confirmed places.

How many pages to check on each website, starting with the given page and then the most promising ones (contact, imprint, about, team...). 5 finds most contacts; raise it for large sites.

Maximum number of websites (or businesses, when searching a city) to return.

Options

Keep only addresses on the website's domain (e.g. drop the web agency's or a Gmail address).

Report (and charge) a website or business only if at least one e-mail address was found.

Report (and charge) a website or business only if at least one phone number was found.

Also list websites where nothing was found (free of charge), so every input gets a row.

Monitoring

Skip websites an earlier run with the same input has already delivered - handy when you re-run a growing list.

Output

What you get back

A real row from the README, and the fields every row has.

domainapify.com
urlhttps://apify.com/
companyNameApify
primaryEmailsupport@apify.com
emails["support@apify.com","hello@apify.com"]
linkedinhttps://www.linkedin.com/company/apify
twitterhttps://x.com/apify
githubhttps://github.com/apify
tiktokhttps://www.tiktok.com/@apifytech
addressNa Příkopě 959/27, Prague, 11000, CZ
contactPageUrlhttps://apify.com/contact
pagesScraped5
FieldWhat it holds
domain / urlThe website and the page it was read from
companyName / descriptionCompany name and the site's own description
primaryEmail / emailsBest e-mail (the site's own domain, or a free-mail inbox if the site has none; never another company's address) and every e-mail found
primaryPhone / phonesFirst phone number and every number found, in international format where the site gives it
linkedin / twitter / facebook / instagram / youtube / tiktok / github / vimeoSocial profile links
addressPostal address, when the site publishes one
contactPageUrlThe contact / imprint / about page where details were found
pagesScraped / scrapedAtPages checked and when
sourceWhen reading another scraper's results: the original row's name, id, address, phone and link

Download as JSON, CSV, Excel or XML from the run, or have it sent to Google Sheets, Slack or a webhook.

Guide

How Website Email Finder & Contact Details Scraper works

Inputs, options and tips, from the tool's own documentation.

Turn a list of websites into a contact list: a website email finder that also returns phones and social profiles. For each website you get e-mail addresses, phone numbers, social profiles (LinkedIn, X/Twitter, Facebook, Instagram, YouTube, TikTok, GitHub), the company name, description and postal address, and the page where the contacts were found - as a clean, spreadsheet-ready table. Export to CSV or Excel, push to your CRM or Google Sheets, or call it as an API.

Built for sales and business-development teams building lead lists, marketers and agencies doing outreach, recruiters, and anyone enriching a list of company domains.

Why this scraper

  • Finds contacts where they actually are. It reads the page you give, then picks the pages most likely to list contacts - Contact, Imprint / Impressum, Legal notice, About, Team - instead of crawling blindly. Five pages per site finds most contacts.
  • Reads what simple scrapers miss. E-mails from links and text, e-mails hidden by Cloudflare's email protection, and the company's own structured data (the name, e-mail, phone and address a site publishes for search engines).
  • Clean results, not noise. Image file names, placeholder addresses (name@example.com), tracking ids and share buttons are filtered out. Phone numbers come in international format, duplicates removed, and the website's own e-mail addresses are listed first.
  • Pay only for results. Websites where nothing is found are free. Dead or unreachable domains are skipped in a second instead of wasting run time.
  • Fast and cheap to run. Many websites are checked in parallel. Platform usage for a typical run is a fraction of a cent.
  • Handles rate limits for you. When a site says "slow down" (HTTP 429) the Actor waits as long as asked and adapts its speed; timeouts and dropped connections are retried automatically.
  • Never loses or double-bills work. Each website is saved as soon as it's done; if the platform moves your run to another server it resumes without charging twice, and it stops cleanly at your maximum charge.

How to use it

  1. Paste websites into Websites - domains (apify.com) or any page URL. No list? Fill in a city and kinds of business instead (see below).
  2. Optionally change Pages per website (default 5), tick Only the website's own e-mail addresses, or report only websites with an e-mail or a phone number.
  3. Press Start. Download the results from the Output tab, or connect an integration.

Example input

json
{
  "startUrls": ["apify.com", "zalando.de", "mailchimp.com"],
  "maxPagesPerSite": 5,
  "sameDomainEmailsOnly": false
}

Find businesses by category and city

No list of websites yet? Give a city and the kinds of business and the Actor builds the list for you: every matching business in the area from open map data (name, category, address, phone, listed e-mail, website, position), then each one's website is checked for e-mails, phones and social profiles.

json
{
  "city": "Pune",
  "countryCode": "IN",
  "categories": ["dentist", "orthodontist"],
  "radiusKm": 8,
  "requireEmail": true,
  "maxItems": 500
}
  • Kinds of business take everyday words: dentist, plumber, lawyer, gym, real estate, indian restaurant. Leave empty for every business in the area.
  • Radius is measured from the city centre (up to 50 km); or give an exact area as boundingBox.
  • Only businesses with a website, Skip chains and brands and Minimum confidence (how sure the map data is that the business exists) narrow the list.
  • Only new remembers the businesses already delivered, so a weekly run returns only the newly listed ones.

Each row has name, category, address, city, postcode, lat/lon, website, primaryEmail / emails, primaryPhone / phones, social links, emailFoundOnWebsite (the address was found on the business's own site, not only in a listing), websiteReachable (the listed site still works) and licenses. Business listings come from Overture Maps Foundation open data (CDLA-Permissive-2.0, some rows Apache-2.0 or CC0; each row names its licence).

In our tests about 6 in 10 businesses with a website ended up with an e-mail.

Only new websites

Working through a growing lead list? Turn on Only new websites and re-run with the whole list - websites an earlier run already delivered are skipped (and not charged).

Use it as an instant API

The Actor also runs in Standby mode - an always-ready endpoint that returns contacts straight in the response, ideal for enriching leads from your own app, CRM workflow or AI agent. Find the URL on the Standby tab:

bash
curl "https://<standby-url>/?url=apify.com,zalando.de" \
  -H "Authorization: Bearer <YOUR_APIFY_TOKEN>"

Any input field works as a query parameter (url is shorthand; separate several websites with commas), or POST the full input as JSON. The response is {"success": true, "count": 2, "items": [ ... ]}.

Use it in Clay

Add a Run Apify Actor column (Clay's Apify integration, connected to your Apify account), pick tacps126/contact-details and use this input. Type / inside the quotes to insert your column (website or domain):

json
{"startUrls": ["/Website"], "maxPagesPerSite": 5}

Each row gets public emails, phone numbers, social profiles and the contact page, read from the company's own site. Keep auto-update off while you test.

More Clay recipes: tacps126.github.io/clay.html.

Pricing

Pay per result: about $1.75 per 1,000 websites with contacts found (lower on higher Apify plans) plus a tiny start fee. Websites with nothing found, and unreachable ones, cost nothing. When searching a city, each business delivered costs about $1.25 per 1,000, plus the website price when contacts were found on its site (about $3 per 1,000 for a fully enriched lead). The business price starts on 6 December 2026; until then city searches bill only the website price. See the Pricing tab for exact rates, and set a maximum charge per run to cap spend.

On Apify's free plan each run returns up to 100 websites - plenty to try everything. Any paid Apify plan removes the limit.

Questions

Questions about Website Email Finder & Contact Details Scraper

Why is a website missing from the results?

Nothing was found on it, or it couldn't be loaded - those are free and listed in the run's summary. Turn on Include websites with no contacts to get a row for every input.

Is it legal?

The Actor collects contact details that websites publish publicly. You're responsible for how you use them - follow the privacy and marketing laws that apply to you (e.g. GDPR, CAN-SPAM) before contacting anyone.

How much does Website Email Finder & Contact Details Scraper cost?

$1.75 per 1,000, charged only for website with contactss returned; a run that finds nothing costs nothing. It runs on Apify, whose free plan includes monthly credit, so you can try it without paying.

Do I need to write code?

No. Fill in the form on Apify and press Start, schedule it, or send the results to Google Sheets, Slack or a webhook. For code, the input builder on this page writes the API call in curl, Python or JavaScript.

What does Website Email Finder & Contact Details Scraper return?

Every row has the same fields, including domain / url, companyName / description, primaryEmail / emails, primaryPhone / phones, linkedin / twitter / facebook / instagram / youtube / tiktok / github / vimeo, address, contactPageUrl, pagesScraped / scrapedAt. Download as JSON, CSV, Excel or XML.

Can an AI agent use it?

Yes. The webdata-tools-mcp server exposes it to Claude, Cursor and other MCP clients as find_website_contacts and find_local_businesses.

Can it run on a schedule and return only new results?

Yes. Schedule it on Apify (hourly, daily, weekly) and turn on the only-new option: each run then returns only what appeared since the last run with the same input.

Use cases

What people use Website Email Finder & Contact Details Scraper for

  • Enrich a list of websites with emails and phones
  • Find social profiles for a company list
  • Build outreach lists from domains
  • Clean up CRM records

Also searched as

email finder website email scraper email extractor contact scraper phone number scraper find emails from domain social media links extractor lead enrichment API bulk email finder

Categories

Leads, events and contacts Lead generation Marketing Integrations