JustSERPDocs
Google

Google Shopping

The results page of a Google Shopping search (`udm=28`), answered as the document: `search_metadata`, `search_parameters`, `search_information`, then `filters`, `all_filters_token`, `shopping_results` (about 40 products), `categorized_shopping_results` and `popular_products`.

GET
/v1/google/shopping

The results page of a Google Shopping search (udm=28), answered as the document: search_metadata, search_parameters, search_information, then filters, all_filters_token, shopping_results (about 40 products), categorized_shopping_results and popular_products. Each product has a product_token that google_product, google_product_offers and google_product_reviews take. The price, sale, delivery, seller-size and condition parameters are written into the query as hints for Google, not strict filters; send shoprs (a token from an earlier answer's filters) for a strict one. Not answered: sponsored blocks, installment prices, thumbnail_video, durability.

Authorization

headerX-API-Key<token>

Your API key.

Query Parameters

cancel_token?string

A name you make up for this request (a UUID is fine), so you can later GET /v1/cancel with it. Only you know it, so only you can cancel. Use a new one for every request, retries included: a cancelled token stays cancelled for a few minutes.

Length1 <= length <= 128
q*string

What to search for; words like "under $30" in it are hints to Google.

Length1 <= length <= 500
gl?string

Country, two letters.

Default"us"
hl?string

Language.

Default"en"
location?string

The place, a canonical name (California,United States). Not with uule.

uule?string

Google's own place string. Not with location.

shoprs?string

A filter token from an earlier answer's filters. Strict; wins over the filters below.

price_min?number

Written into the query ("over $N"). Not above price_max.

price_max?number

Written into the query ("under $N").

is_on_sale?boolean

Written into the query ("on sale").

is_free_delivery?boolean

Written into the query ("free shipping").

is_small_business?boolean

Written into the query ("small business").

condition?string

Written into the query.

Value in"new""used"
sort_by?string

The sort token Google gives for the (hinted) query.

Value in"price_low_to_high""price_high_to_low""rating_high_to_low"
include_favicon?boolean

Keep the sellers' favicons.

Defaultfalse
include_base_images?boolean

Keep the pictures Google ships as inline data: URIs in thumbnail.

Defaultfalse
page?integer

start=(page-1)*40. Not measured beyond the first page.

Range1 <= value <= 20
Default1

Response Body

The results page, as the document. When the page could not be parsed, the usual envelope.

application/json
  1. response

The Google Shopping document. A block is present only when the page has it.

search_metadata*
search_parameters*

The request's own fields as sent, engine first, without cancel_token.

search_information*

The parser's own, e.g. yelp_search's; otherwise {}.

filters?array<>
all_filters_token?string

For google_shopping_filters: the search's query, place and language.

shopping_results?array<>
categorized_shopping_results?array<>

The titled rows above or among the list.

popular_products?array<>

The row titled "Popular products".

[key: string]?any
Example Request
curl -X GET 'https://api.justserp.com/v1/google/shopping?q=ps5&gl=us&hl=en&location=California%2CUnited+States'
Example Response
{  "search_metadata": {    "id": "string",    "status": "Success",    "created_at": "string",    "request_url": "string",    "html_url": "string"  },  "search_parameters": {},  "search_information": {},  "filters": [    {      "type": "string",      "options": [        {          "text": "string",          "shoprs": "string"        }      ]    }  ],  "all_filters_token": "string",  "shopping_results": [    {      "position": 0,      "product_id": "string",      "title": "string",      "product_link": "string",      "product_token": "string",      "seller": "string",      "offers": "string",      "price": "string",      "extracted_price": 0,      "original_price": "string",      "extracted_original_price": 0,      "rating": 0,      "reviews": 0,      "tag": "string",      "delivery": "string",      "thumbnail": "string"    }  ],  "categorized_shopping_results": [    {      "title": "string",      "shopping_results": [        {          "position": 0,          "product_id": "string",          "title": "string",          "product_link": "string",          "product_token": "string",          "seller": "string",          "offers": "string",          "price": "string",          "extracted_price": 0,          "original_price": "string",          "extracted_original_price": 0,          "rating": 0,          "reviews": 0,          "tag": "string",          "delivery": "string",          "thumbnail": "string"        }      ]    }  ],  "popular_products": [    {      "position": 0,      "product_id": "string",      "title": "string",      "product_link": "string",      "product_token": "string",      "seller": "string",      "offers": "string",      "price": "string",      "extracted_price": 0,      "original_price": "string",      "extracted_original_price": 0,      "rating": 0,      "reviews": 0,      "tag": "string",      "delivery": "string",      "thumbnail": "string"    }  ]}