Real-Time Pricing & Availability
Stay updated with the latest pricing and stock information so your listings stay competitive and accurate.
Extract shopping results from Google with our Shopping API, enabling instant access to product data, pricing, and availability.
"shopping_results": [
{
"title": "Nike Women's Revolution 5",
"product_link": "https://google.com/shopping/product/7740422747295477691",
"product_id": "7740422747295477691",
"scrapingdog_product_link": "https://api.scrapingdog.com/google_product?...",
"source": "Nike",
"price": "$45.97",
"extracted_price": 45.97,
"old_price": "$60",
"old_price_extracted": 60,
"rating": 4.4,
"reviews": "2.6K",
"delivery": "Free delivery on $75+",
"extensions": ["23% OFF"],
"thumbnail": "data:image/webp;base64,...",
"tag": "23% OFF",
"position": 2
}
]"filters": [
{
"type": "Price",
"options": [
{ "text": "Up to $25", "shoprs": "CAESB...", "tbs": "mr:1,price:1,ppr_max:25" },
{ "text": "$25 β $50", "shoprs": "CAESC...", "tbs": "mr:1,price:1,ppr_min:25,ppr_max:50" }
]
}
],
"ads": [
{
"title": "Running Shoes β Free Shipping",
"source": "Nike Store",
"price": "$59.99",
"product_link": "https://www.nike.com/...",
"position": 1
}
]import requests
api_key = "5eaa61a6e562fc52fe763tr516e4653"
url = "https://api.scrapingdog.com/google_shopping"
params = {
"api_key": api_key,
"query": "shoes"
}
response = requests.get(url, params=params)
if response.status_code == 200:
data = response.json()
print(data)
else:
print(f"Request failed with status code: {response.status_code}")import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
// Set the API key and request parameters
String apiKey = "5eaa61a6e562fc52fe763tr516e4653";
String query = "shoes";
// Construct the API endpoint URL
String apiUrl = "https://api.scrapingdog.com/google_shopping?api_key=" + apiKey
+ "&query=" + query;
URL url = new URL(apiUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int responseCode = connection.getResponseCode();
if (responseCode == 200) {
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = reader.readLine()) != null) {
response.append(inputLine);
}
reader.close();
System.out.println(response.toString());
} else {
System.out.println("HTTP request failed with response code: " + responseCode);
}
connection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}<?php
// Set the API key and request parameters
$api_key = '5eaa61a6e562fc52fe763tr516e4653';
$query = 'shoes';
// Set the API endpoint
$url = 'https://api.scrapingdog.com/google_shopping?api_key=' . $api_key . '&query=' . $query;
// Initialize cURL session
$ch = curl_init($url);
// Set cURL options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Execute the cURL request
$response = curl_exec($ch);
// Check if the request was successful
if ($response === false) {
echo 'cURL error: ' . curl_error($ch);
} else {
echo $response;
}
// Close the cURL session
curl_close($ch);require 'net/http'
require 'uri'
# Set the API key and request parameters
api_key = '5eaa61a6e562fc52fe763tr516e4653'
query = 'shoes'
# Construct the API endpoint URL
url = URI.parse("https://api.scrapingdog.com/google_shopping?api_key=#{api_key}&query=#{query}")
# Create an HTTP GET request
request = Net::HTTP::Get.new(url)
# Create an HTTP client
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true # Enable SSL (https)
# Send the request and get the response
response = http.request(request)
# Check if the request was successful
if response.is_a?(Net::HTTPSuccess)
puts response.body
else
puts "HTTP request failed with code: #{response.code}, message: #{response.message}"
endconst axios = require('axios');
const api_key = '5eaa61a6e562fc52fe763tr516e4653';
const url = 'https://api.scrapingdog.com/google_shopping';
const params = {
api_key: api_key,
query: 'shoes',
};
axios
.get(url, { params: params })
.then(function (response) {
if (response.status === 200) {
const data = response.data;
console.log(data);
} else {
console.log('Request failed with status code: ' + response.status);
}
})
.catch(function (error) {
console.error('Error making the request: ' + error.message);
});titleproduct_linkproduct_idsourcethumbnailpositionpriceextracted_priceold_priceold_price_extractedtagextensionsratingreviewssourcedeliverysourceproduct_linkscrapingdog_product_linkthumbnailfiltersadspositionScraping Google Shopping by hand means wrestling with personalized prices, currency localization, lazy-loaded thumbnails, and merchant-specific blocks.
Shopping results change by country, language, and uule location, so a single scraper returns inconsistent prices and currencies across regions.
Extracting price, extracted_price, old_price, and SALE tags from constantly shifting markup means brittle selectors that break with every layout tweak.
Product images are inlined as base64 and listings hide behind opaque product_id links, making manual harvesting and product matching painful.
Telling organic shopping_results apart from ads while dodging CAPTCHAs at high request volume needs proxy rotation you have to build and babysit.
One API call handles proxies, CAPTCHA, parsing, and scaling, so you focus on your data.
Tailor your product searches with easy-to-use filters. Find exactly what you're looking for by price and brand.
Stay updated with the latest pricing and stock information. Keep your listings competitive and accurate.
Streamline managing your product listings. Quickly add, update, or remove products with structured JSON output.
Handle millions of shopping requests with stable performance and no maintenance.
Stay updated with the latest pricing and stock information so your listings stay competitive and accurate.
Tailor product searches by price, brand, country, and language to find exactly what you need.
Every listing returns title, price, old_price, rating, reviews, delivery, and position as ready-to-use JSON.
A rotating residential proxy pool changes IPs per request so you can pull thousands of results without blocks.
Scrapingdog absorbs the CAPTCHAs and anti-bot walls Google Shopping throws at scrapers, so requests just return data.
A high success-rate infrastructure delivers fresh shopping listings even at high request volumes.
Monitor real-time market pricing across sellers to adjust your competitive pricing strategy and win more buyers.
Analyze shopping data and product trends to forecast demand and plan inventory ahead of seasonal shifts.
Identify gaps in your catalog by comparing your listings against the products competitors are surfacing.
Gather structured product data to study market positioning, brand presence, and category dynamics.
Track how products and sponsored listings appear in Google Shopping to measure and refine ad campaigns.
Track ranking positions, ratings, and reviews to understand what drives shopper decisions and conversions.
Sign up and get free credits to start testing the Shopping API.
Access your unique API key from the dashboard and use it to scrape the data.
Call the google_shopping endpoint with a query like "shoes" to pull live listings.
Get a clean shopping_results array with title, price, rating, reviews, and delivery ready to use.
Start your web scraping journey with 200 free credits. Test our service and upgrade to one of the plans below. Cancel anytime.

I got the free trial and in less than a minute I already integrated with their API to scrape Google.
United States
I love how you can use it to scrape data from Google.
Oslo, Norway
Scrapingdog is an awesome service. I use it with my Local Leads Sniper system and thanks to it I have been able to land a few clients.
Mexico
Reliable, and simple to use! Itβs also inexpensive and has packaged solutions for every need (Google, LinkedIn). Highly recommend.
France
Yes, the API has a rate limit depending on your chosen subscription plan.
Yes, other than the dedicated API for Google Shopping, we have dedicated APIs for Google Maps, Google Trends, Google Lens, and more.
Our development team continuously monitors changes in Google's SERP layout and updates accordingly to ensure consistent and reliable data extraction.
Each API request consumes a certain number of credits based on the dedicated API you're using. For example, the Google Search API costs 5 credits per request.
Get 200 free credits to spin the API. No credit card required!