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

Google Shopping Product Data Scraper - Scrape Google Shopping Products Reviews, Prices

RealdataAPI / scrape-google-shopping-data

Are you looking to extract information from Google Shopping? Our Google Shopping data scraper can help! You can get reviews, product descriptions, prices, merchant names, and merchant affiliation links from any country domain using Google SERP. Plus, you can receive results in JSON, XML, CSV, Excel, and HTML formats without limitations. Our service is available in various countries, including Australia, Canada, Germany, France, Singapore, the USA, the UK, UAE, and India.

Google Shopping Scraper

The tool to scrape data from Google Shopping will allow you to extract product data from the platform from any country website. It collects the output details and pages about every seller and product.

  • You can search any query in Google Shopping and get the outputs.
  • Extract unlimited product reviews and ratings at any time.
  • Collect all the current product information from Google Shopping.
  • Extract merchant names, product links, and affiliations.

Why extract data from Google Shopping?

It is the best resource of product data for all industries, from clothes to electronics. It's one of the most significant places to scrape information for price tracking and market research.

Here are a few use cases of this scraped data.

Market Research: Check the existing products and study them to uncover how to penetrate your products. Also, find your competitors and check if there are potential buyers for your products.

Price Tracking: Discover the best offers by constantly scraping prices. Check how your rivals offer their products and make dynamic strategies for your product prices.

Product Research: if you are waiting for product availability again, extract the data regularly to be the first buyer, or get market analytics to develop your product.

Updates, fixes, bugs, and changelog

If you want to share feedback about the API, you can contact us via mail.

Input Parameters

It would help if you fed the input to this scrape in JSON format with the following fields.

Field Type Description
search String It is an optional field to feed the keywords that you wish to search on the platform.
startUrls Array You must feed the search page URL list from the platform.
maxItems Integer You can restrict extract products while scraping extensive data.
maxItemsPerQuery Integer You can restrict extracted items for every query while scraping extensive data.
proxy Object Proxy configuration

It would be best to use proxy servers for this solution. You can choose your proxy or Real Data API proxy server according to your requirement.

Guide

When scraping a listing link, copy and paste that as the start URL.

Consumption of Comput Unit

You can quickly run and scrape unlimited listings with this API. It will extract a hundred listings every 120 seconds, 0.05 to 0.1 compute units.

Advice to scrape Google Shopping

If you wish to filter your product detail search, go to Google Shopping's official website in the new browser window, open the search bar, and toggle the filters. After finishing, copy the URL, and feed it to the input of the scraper.

Scraper Input example
{
  "queries": [
    "iPhone"
  ],
  "maxItems":80,
  "countryCode": "us",
  "startUrls":[
    "https://www.google.com/search?q=android&source=lnms&tbm=shop&tbs=vw:l"
  ],
  "proxy":{
    "useRealdataAPIProxy":true,
    "RealdataAPIProxyGroups":[
      "GOOGLE_SERP"
    ]
  }
}
While Executing

During the execution, the API will share output messages about what is happening with you. Every message includes the currently mentioned page from the list. After loading items from the page, read the message about this event for item count in the whole event and every page.

If you give the wrong input to the API, it will stop the execution with a failure state and show the output explanation with the reason for failure.

Export Google Shopping Data

While executing, the API saves the output in datasets. You'll find each item separately.

You can handle outputs in any coding language like Node.js, Python, PHP, NMP, etc.

Extracted Properties from Google Shopping

Check the below structure for each product in Google Shopping.

{
    "productName": "Apple iPhone 11 128 ГБ зеленый",
    "productLink": "http://www.google.com/shopping/product/13471355041199662593?q=iPhone&prds=eto:15160220206529252306_0,pid:1853419364265332599,rsk:PC_8023149794696260886&sa=X&ved=0ahUKEwiYuf7SkMf8AhXdCBAIHV31C7cQ8gIIxAw",
    "price": "RUB 30,970.00",
    "description": "Smartphone · Dual SIM · 4G · Wireless Charging · Dual Lens · GSM Network · CDMA Network · iOS · Facial Recognition · 1792x828",
    "merchantName": "iStoreApple",
    "merchantLink": "http://www.google.com/url?url=https://istoreapple.ru/apple-iphone-11-128-gb-zelenij&rct=j&q=&esrc=s&sa=U&ved=0ahUKEwiYuf7SkMf8AhXdCBAIHV31C7cQguUECNMM&usg=AOvVaw1lIo3tGOvmhqIRKqoHxS3k",
    "shoppingId": "13471355041199662593",
    "reviewsScore": "4.6",
    "reviewsCount": "45,423",
    "positionOnSearchPage": 2,
    "productDetails": "Версия ОС на начало продаж iOS 13 Конструкция водозащита Размеры (ШxВxТ) 75.7x150.9x8.3 мм Процессор Apple A13 Bionic Размер ..."
}

Industries

Check out how industries are using Facebook Ads Scraper around the world.

E-Commerce-&-Retail

eCommerce & Retail

Marketing-Media

Marketing & Media

Marketing-Media

Fintech & Insurance

You should have a Real Data API account to execute the program examples. Replace in the program using the token of your actor. 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": [
        "https://www.google.com/search?q=android&source=lnms&tbm=shop&tbs=vw:l"
    ],
    "queries": [
        "iPhone"
    ],
    "maxItems": 60,
    "maxItemsPerQuery": 100,
    "proxy": {
        "useRealdataAPIProxy": true,
        "RealdataAPIProxyGroups": [
            "GOOGLE_SERP"
        ]
    }
};

(async () => {
    // Run the actor and wait for it to finish
    const run = await client.actor("epctex/google-shopping-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) => {
        console.dir(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": ["https://www.google.com/search?q=android&source=lnms&tbm=shop&tbs=vw:l"],
    "queries": ["iPhone"],
    "maxItems": 60,
    "maxItemsPerQuery": 100,
    "proxy": {
        "useRealdataAPIProxy": True,
        "RealdataAPIProxyGroups": ["GOOGLE_SERP"],
    },
}

# Run the actor and wait for it to finish
run = client.actor("epctex/google-shopping-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():
    print(item)
# Set API token
    API_TOKEN=<YOUR_API_TOKEN>

    # Prepare actor input
    cat > input.json <<'EOF'
    {
      "startUrls": [
        {
          "url": "https://www.bestbuy.com/site/promo/tv-deals"
        }
      ],
      "proxyConfig": {
        "useRealdataAPIProxy": true
      },
      "maxProductsCnt": 100
    }
    EOF

    # Run the actor
    curl "https://api.RealdataAPI.com/v2/acts/alexey~bestbuy-products-actor/runs?token=$API_TOKEN" /
      -X POST /
      -d @input.json /
      -H 'Content-Type: application/json'
    

Start URLs

startUrls Optional Array

Link to begin with. You should provide a detailed URL or a list.

Search Queries

queries Optional Array

Here you can. Share the list of search terms in the form of a JavaScript array.

Country

countryCode Optional String

The country name gives the proxy IP addresses for the Google Shopping domain and Queries like .au for Australia.

Maximum number of listing items

maxItems Optional Integer

Maximum quantity of listing product you want as a result.

Maximum number of output for every query

maxItemsPerQuery Optional Integer

The maximum quantity of listing products you want for every term

Proxy configuration

proxy Optional Object

Choose proxies to use by your scraper.

{
  "startUrls": [
    "https://www.google.com/search?q=android&source=lnms&tbm=shop&tbs=vw:l"
  ],
  "queries": [
    "iPhone"
  ],
  "countryCode": "us",
  "maxItems": 60,
  "maxItemsPerQuery": 100,
  "proxy": {
    "useRealdataAPIProxy": true,
    "RealdataAPIProxyGroups": [
      "GOOGLE_SERP"
    ]
  }
}