Google Shopping Scraper API
The Google Shopping API lets you scrape shopping results without dealing with proxy rotation or data parsing. Fast, reliable, and each successful request costs 10 credits.
Endpoint:
https://api.scrapingdog.com/google_shoppingAPI Parameters
π
Authentication
api_keyRequiredYour personal API key. Available on your dashboard.
Type: String
π
Request Parameters
queryRequiredThis can be any Google query or a complete Google URL. Example:query=shoescountryOptionalSpecifies the country for the Google Shopping search using a two-letter country code (e.g., us, uk, fr). Default: us. For a full list, see the Google Country Parameter.
Type: StringpageOptionalThis is the page number of Google searches. Its value can be0for the first page,1for the second page, and so on.
Default Value -0
Type - StringdomainOptionalTo obtain local results from a specific country, for example, for India, it will be "google.co.in," and for the UK, it will be "google.co.uk".
Type:String
Default:google.comlanguageOptionalLanguage of the results. Possible Values -en,es,fr,de, etc.
Default Value -en
Type - StringlrOptionalLimit the search to one or multiple languages.
It is used aslang_{language code}.
For example - "lang_us"
Type:StringshoprsOptionalThis parameter specifies the helper ID used to apply search filters. To ensure filters work correctly, it must be used together with the updatedqparameter, which includes the name of the selected filter alongside your original query.
Example:- Original query:
Coffee - After applying the "Sugar Free" filter:
sugar free Coffee
scrapingdog_linkfound in the JSON response atfilters[index].options[index].scrapingdog_link.
To apply multiple filters, follow each filter'sscrapingdog_linkindividually. Each subsequent request will retain the previously applied filters along with the newly added one. To remove a filter, use its associatedscrapingdog_link.- Original query:
uuleOptionalIt is a parameter that specifies the geographic location or locale for which the search results should be tailored. Possible Value could bew+CAIQIFJlbGF5IFN0YXRlcw==
Type - StringtbsOptionalto be searched - An advanced parameter to filter search results.
Type:StringsafeOptionalTo filter the adult content setsafetoactiveor to disable it setoff.
Type: String [active/off]
Default:offnfprOptionalIt can be set to1to exclude these results or0to include them.
Type:Boolean
Default:0It excludes the result from an auto-corrected query that is spelled wrong.htmlOptionalTo render the response as raw HTML.
Type:Boolean
Default:false
API Examples
Code to Integrate
curl "https://api.scrapingdog.com/google_shopping?api_key=APIKEY&query=shoes&country=us"
import requests url = "https://api.scrapingdog.com/google_shopping" params = {"api_key": "APIKEY", "query": "shoes", "country": "us"} response = requests.get(url, params=params) if response.status_code == 200: print(response.json())
const axios = require('axios'); axios.get('https://api.scrapingdog.com/google_shopping', { params: { api_key: 'APIKEY', query: 'shoes', country: 'us' } }).then(response => console.log(response.data)) .catch(error => console.error(error.message));
<?php $url = 'https://api.scrapingdog.com/google_shopping/?' . http_build_query([ 'api_key' => 'APIKEY', 'query' => 'shoes', 'country' => 'us', ]); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); echo curl_exec($ch); curl_close($ch);
require 'net/http' require 'uri' url = URI.parse("https://api.scrapingdog.com/google_shopping/") url.query = URI.encode_www_form('api_key' => 'APIKEY', 'query' => 'shoes', 'country' => 'us') http = Net::HTTP.new(url.host, url.port) http.use_ssl = true puts http.request(Net::HTTP::Get.new(url)).body
import java.io.*; import java.net.*; public class Main { public static void main(String[] args) throws Exception { String apiUrl = "https://api.scrapingdog.com/google_shopping/?api_key=APIKEY&query=shoes&country=us"; URL url = new URL(apiUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; while ((line = reader.readLine()) != null) System.out.println(line); conn.disconnect(); } }
API Response
{
"filters": [
{
"type": "Price",
"options": [
{"text": "Up to $10", "tbs": "mr:1,price:1,ppr_max:10"},
{"text": "$10 β $25", "tbs": "mr:1,price:1,ppr_min:10,ppr_max:25"},
{"text": "$25 β $50", "tbs": "mr:1,price:1,ppr_min:25,ppr_max:50"},
{"text": "$50 β $100", "tbs": "mr:1,price:1,ppr_min:50,ppr_max:100"},
{"text": "Over $100", "tbs": "mr:1,price:1,ppr_min:100"}
]
}
],
"ads": [
{
"title": "Tory Burch Classic Platform Lug Sole Loafer in Plum at Nordstrom, Size 10",
"link": "https://google.com/aclk?sa=L&ai=...",
"source": "Nordstrom",
"price": "$225.00",
"thumbnail": "data:image/webp;base64,..."
}
],
"shopping_results": [
{
"title": "Industrial Black Genuine Leather Steel Toe Work Shoes Medium",
"product_link": "https://google.com/shopping/product/17028981299089556310?gl=us",
"product_id": "17028981299089556310",
"scrapingdog_immersive_product_link": "https://api.scrapingdog.com/google_immersive_product?api_key=APIKEY&page_token=...",
"source": "Zeba Shoes",
"price": "$199.99",
"extracted_price": 199.99,
"old_price_extracted": null,
"rating": 4.4,
"reviews": "67",
"extensions": ["30-day returns"],
"thumbnail": "data:image/webp;base64;...",
"position": 1
}
]
}