Contact Details Scraper avatar
Contact Details Scraper
Try for free

No credit card required

View all Actors
Contact Details Scraper

Contact Details Scraper

Try for free

No credit card required

Free email extractor to extract and download emails, phone numbers, Facebook, Twitter, LinkedIn, and Instagram profiles from any website. Extract contact information at scale from lists of URLs and download the data as Excel, CSV, JSON, HTML, and XML.

How do I extract contact information from a website?

Our Contact Details Scraper can crawl any website and extract the following contact information for individuals listed on the website:

Why scrape contact information?

Scraping contact details can give you a fast way to get lead-generation data for your marketing and sales teams. Collecting contact details can help you populate and maintain an up-to-date database of leads and prospective customers. Instead of manually visiting web pages and copy-pasting names and numbers, you can extract the data and rapidly sort it in spreadsheets or feed it directly into your existing workflow.

Check out our industry pages for use cases and more ideas on how you can take advantage of web scraping.

How do I use Contact Details Scraper?

Follow our simple step-by-step guide to learn how to use Contact Details Scraper or watch this video.

How much does contact scraping cost?

Apify provides you with $5 free usage credits every month on the Apify Free plan, and you can get up to 10,000 results from Contact Details Scraper for those credits. So 10,000 results will be completely free!

But if you need to get more data or to get your data regularly, you should grab an Apify subscription. We recommend our $49/month Starter plan - that one can get you up to 100,000 results every month. Or 1 million results with the $499 Scale plan!

You should be aware that your results might contain personal data. Personal data is protected by GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. You can also read our blog post on the legality of web scraping.

Input options

The Actor offers several input options to let you specify which pages will be crawled:

  • Start URLs - Lets you add a list of URLs of web pages where the scraper should start. You can enter multiple URLs, upload a text file with URLs, or even use a Google Sheets document.
  • Maximum link depth - Specifies how deep the Actor will scrape links from the web pages specified in the Start URLs. If zero, the Actor ignores the links and only crawls the Start URLs.
  • Stay within domain - If enabled, the Actor will only follow links on the same domain as the referring page. For example, if the setting is enabled and the Actor finds a link on to, it will not crawl the second page because is not the same as

The Actor also accepts additional input options that let you specify proxy servers, limit the number of pages, etc.


The Actor stores its results in the default dataset associated with the Actor run. You can then download the results in formats such as JSON, HTML, CSV, XML, or Excel. For each page crawled, the following contact information is extracted (examples shown):

  • Emails
  • Phone numbers - These are extracted from phone links in HTML (e.g. <a href='tel://123456789'>phone</a>).

  • Uncertain phone numbers - These are extracted from the plain text of the web page using a number of regular expressions. Note that this approach can generate false positives.

  • LinkedIn profiles

  • Twitter profiles


The results also contain information about the URL of the web page, domain, referring URL (if the page was linked from another page), and depth (how many links away from Start URLs the page was found).

For more information, click on the input tab

Output and dataset sample

For each page crawled, the resulting dataset contains a single record, which looks like this (in JSON format):

2  "url": "",
3  "domain": "",
4  "depth": 2,
5  "originalStartUrl": "",
6  "referrerUrl": "",
7  "emails": [
8    ""
9  ],
10  "phones": [],
11  "phonesUncertain": [
12    "717.393.3643"
13  ],
14  "linkedIns": [],
15  "twitters": [],
16  "instagrams": [],
17  "facebooks": [
18    ""
19  ]

Deduplicate and merge contacts

Contact Details Scraper provides the contacts inside one item per scraped URL. This is good for analysis to check where was the contact found but can make it hard to process.

Fortunately, you can use Contact Details Merge & Deduplicate Actor to merge and deduplicate the contacts. This Actor takes one or more dataset IDs of the Contact Details Scraper and merges all contacts deduplicated so that each domain is on one row. You can choose if contacts of one type should be in only one column or spread.

Can I use Contact Details Scraper to extract emails from Google Maps?

Yes. But for more precise results, it's better to use a specialized email scraper, 馃摡馃搷 Google Maps Email Extractor.

Can I integrate Contact Details Scraper with other tools?

Yes. Contact Details Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. You can integrate with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and more. Or you can use webhooks to carry out an action whenever an event occurs, e.g. get a notification whenever Contact Details Scraper successfully finishes a run.

Can I use Contact Details Scraper with API?

Yes with the help of Apify API. It is organized around RESTful HTTP endpoints that enable you to manage, schedule, and run Apify Actors. The API also lets you access any datasets, monitor Actor performance, fetch results, create and update versions, and more.

To access the API using Node.js, use the apify-client NPM package. To access the API using Python, use the apify-client PyPI package.

Check out the Apify API reference docs for full details or click on the API tab for code examples.

Maintained by Apify
Actor metrics
  • 942 monthly users
  • 0 stars
  • 99.7% runs succeeded
  • 31 days response time
  • Created in May 2019
  • Modified 14 days ago