RealdataAPI Store - Browse tools published by our community and use them for your projects right away

Contact Details Scraper - Scrape Contact Information From Websites

RealdataAPI / contact-details-scraper

Scrape contact details, like mobile numbers, email IDs, Instagram, Linkedin, Twitter, and other social media profiles, from various websites using Contact Details Scraper. It allows you to extract data in multiple usable formats, like CSV, XML, JSON, and Excel. Our scraper to scrape contact information is available in countries like the USA, UK, UAE, Canada, Australia, France, Spain, Singapore, and Mexico.

How to scrape contact details from a website?

Our contact details scraping tool can extract the following contact data by crawling any available website for listed individuals.

  • Mobile numbers
  • Email addresses
  • Instagram profiles
  • LinkedIn profiles
  • Facebook pages or profiles
  • Twitter handles
  • YouTube accounts

Why Extract Contact Details?

Contact details scraping is an effective way to generate more leads for your sales and marketing campaigns. It can also help you maintain and populate the updated prospective clients and potential leads database. Instead of manually searching for numerous websites for the required contact details and copy-pasting them in your data files, you can quickly scrape the required data using this contact details data collection tool with the automated workflow.

For more ideas and use cases, visit our industry pages and see how to use web data scraping effectively.

What is the Cost of Using a Contact Details Scraper?

Our platform provides a monthly trial plan of 5 USD that you can use to scrape ten thousand results using a contact scraping tool.

To get more data regularly, buy a monthly subscription plan of 49 USD and get up to 100k contact details. Further, to get one million data outputs, use our monthly plan of 499 USD.

Can I Legally Scrape Contact Details from Websites?

You can use this scraper to extract publicly available contact details. But GDPR and other regulations worldwide protect personal data on the internet. You can't scrape any personal data without a true purpose. However, you may get some private data in your scraper output unknowingly. Consult your advocate before scraping personal data.

Input Options of Contact Details Scraper

There are many input options available in the contact details data scraper to allow you to mention the targeted page to scrape:

  • Start URLs: it allows you to add the list of web page URLs so that the scraper will start its process. Add as many URLs as you want in Google Sheets formats or URLs containing text files.
  • Maximum link depth: it mentions the depth of the scraper to extract mentioned web page links from the start URLs. If not, the tool ignores the URL and loads only the starting link.
  • Stay inside the domain: if permitted, the scraper will follow the same domain links as the referring webpage. For instance, if you enable the setting, the scraper sees the URL on to The scraper will now load the second webpage due to the differences in the and URLs.

Further, the contact details scraper accepts excessive input options to allow you to limit page counts and mention proxies.

Results of Contact Details Extractor

The web scraper to scrape contact details stores the output in the default dataset connected with its execution. You can export that data in multiple usable formats, like HTML, JSON, CSV, Or Excel. It extracts the following data by crawling every webpage.

Emails IDs :

Mobile Numbers :

The mobile numbers scraper collects the data from HTML-based mobile URLs using phone.

123456789 +123456789 00123456789

Uncertain Mobile Numbers :

The scraper uses regular expressions to scrape mobile numbers from the plain text of websites. You can see false positives this way.

+123.456.7890 123456789 123-456-789

LinkedIn profiles :

Twitter Handles

You'll also see the data for web page URLs, referring URLs, domains, and the depth in the scraper output.

Check out the input tab to learn more.

Sample Dataset and Output

Here is the JSON formatted output dataset with the single record for every crawled page:

{ "url": "", "domain": "", "depth": 2, "originalStartUrl": "", "referrerUrl": "", "emails": [ "" ], "phones": [], "phonesUncertain": [ "717.393.3643" ], "linkedIns": [], "twitters": [], "instagrams": [], "facebooks": [ "" ] }

Contact Details Scraper with Integrations

Lastly, you can integrate the contact scraper with any web application or cloud services using integrations available on our platform. Further, you can connect the scraper with Google Sheets, Slack, Make, Airbyte, Google Drive, GitHub, and more. Or use Webhooks to take any action for event occurrence, like getting an alert for successful execution of the scraper.

Using Contact Details Data Extractor with Real Data API Integrations

Our API gives programmatic permission to use the platform. We have organized it around RESTful HTTP endpoints to allow you to schedule, manage and execute scrapers. Further, you can track scraper performance, access datasets, create and update scraper versions, retrieve results, and more.

Use our client PyPl and client NPM package to use the scraper API using Python and Node.js, respectively.


Check out how industries are using Contact Details scraper around the world.


E-commerce & Retail

You should have a Real Data API account to execute the program examples. Replace < YOUR_API_TOKEN> in the program using the token of your scraper. Read about the live APIs with Real Data API docs for more explanation.

import { RealdataAPIClient } from 'RealdataAPI-Client';

// Initialize the RealdataAPIClient with API token
const client = new RealdataAPIClient({
    token: '<YOUR_API_TOKEN>',

// Prepare actor input
const input = {
    "startUrls": [
            "url": ""
    "maxRequestsPerStartUrl": 20,
    "maxDepth": 2,
    "maxRequests": 9999999

(async () => {
    // Run the actor and wait for it to finish
    const run = await"vdrmota/contact-info-scraper").call(input);

    // Fetch and print actor results from the run's dataset (if any)
    console.log('Results from dataset');
    const { items } = await client.dataset(run.defaultDatasetId).listItems();
    items.forEach((item) => {
from RealdataAPI_client import RealdataAPIClient

# Initialize the RealdataAPIClient with your API token
client = RealdataAPIClient("<YOUR_API_TOKEN>")

# Prepare the actor input
run_input = {
    "startUrls": [{ "url": "" }],
    "maxRequestsPerStartUrl": 20,
    "maxDepth": 2,
    "maxRequests": 9999999,

# Run the actor and wait for it to finish
run ="vdrmota/contact-info-scraper").call(run_input=run_input)

# Fetch and print actor results from the run's dataset (if there are any)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
# Set API token

# Prepare actor input
cat > input.json <<'EOF'
  "startUrls": [
      "url": ""
  "maxRequestsPerStartUrl": 20,
  "maxDepth": 2,
  "maxRequests": 9999999

# Run the actor
curl "$API_TOKEN" /
  -X POST /
  -d @input.json /
  -H 'Content-Type: application/json'

Start URLs

startUrls Required Array

The scraper will take this list of web page URLs to start the scraping process.

Maximum Webpages Per URL

maxRequestsPerStartUrl Optional Integer

It is a count of the maximum Webpages that the scraper will enqueue from all the URLs.

Maximum Depth of URLs

maxDepth Optional Integer

It is an optional input integer where the scraper will load the full link counts away from starting links. If not, the tool won't follow any URL. And the scraper will consider following URLs to arbitrary URL depth.

Maximum Page Count for Complete Scraping

maxRequests Optional Integer

Here, the scraper will see the limit to crawl maximum pages. It is a good practice to restrict page counts to scrape. Otherwise, the tool may consume resources beyond the limit or crawl unlimited pages.

Stay in the Same Domain

sameDomain Optional Boolean

After setting, the crawler will follow the URLs in the same website as the referring webpage.

Probe Frames

considerChildFrames Optional Boolean

The scraper will collect contact details from iFrame if you set it. However, you may get some data from digital ads that you only sometimes need.

Proxy Setup

proxyConfig Optional Object

You can bypass website protections, like IP address blocking, and see the data for different locations after using proxy servers. Use the proxy server to resolve timeout errors.

  "startUrls": [
      "url": ""
  "maxRequestsPerStartUrl": 20,
  "maxDepth": 2,
  "maxRequests": 9999999,
  "sameDomain": true,
  "considerChildFrames": true,
  "proxyConfig": {
    "useRealdataAPIProxy": true