Google Search Shopping
Search for Google Shopping based on keywords.
If you already know that you want to use Google Search Shopping, this page is the one you should read. It shows the required input, the filters you can apply, how pagination works, and what localization controls are available.
At a Glance
| Field | Value |
|---|---|
| Name | Google Search Shopping |
| Scraper | google_shopping_search |
| Engine | google_search_shopping |
| Website | |
| Website URL | google search shopping.com |
| Output Format | json |
| Version | 1.0.0 |
| Parameter Count | 16 |
| Parameter Groups | Search Query (1), Localization (3), Pagination (2), Geographic Location (2), Advanced Filters (7), Request Controls (1) |
Request Example
This is the real request body used to validate google_shopping_search during this docs refresh. For /v1/serp, the engine field should be the engine's scraper value.
curl -X POST "https://run.xcrawl.com/v1/serp" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"engine":"google_shopping_search","q":"wireless mouse"}'Response Example
The JSON below comes from the same live response. Long strings, data URLs, and large arrays were shortened so the example stays readable.
{
"search_metadata": {
"cached": true,
"created_at": "2026-03-26 08:18:04 UTC",
"id": "01KMMKHBTF1XC6B3XV67SE07FA",
"json_endpoint": "https://serp.xcrawl.com/01KMMKHBTF1XC6B3XV67SE07FA.json",
"processed_at": "2026-03-26 08:18:04 UTC",
"raw_html_file": "https://serp.xcrawl.com/01KMMKHBTF1XC6B3XV67SE07FA.html",
"status": "completed",
"total_time_taken": 10
},
"search_parameters": {
"engine": "google_shopping_search",
"q": "wireless mouse"
},
"total_credits_used": 1,
"filters": [
{
"input_type": "input_type",
"options": [
{
"link": "https://www.google.com/search?udm=28&q=wireless+mouse+nearby&hl=en&gl=us&shoprs=CAEYAyoOd2lyZWxlc3MgbW91c2UyDAgDEgZOZWFyYnkYAljZ8yBgAg&sa=X&ved=2ahUKEwiUlfCtkL2TAxWwIEQIHdSIEfUQ268JKAB6BAgLEAQ",
"text": "Nearby"
},
{
"_note": "3 more items omitted"
}
],
"type": "Refine results"
}
],
"serpapi_pagination": {
"next": "https://www.google.com/search?udm=28&q=wireless mouse&hl=en&gl=us&start=10"
},
"shopping_results": [
{
"delivery": "15-day returns",
"extracted_old_price": "50",
"extracted_price": "26.99",
"multiple_sources": true,
"old_price": "$50",
"price": "$26.99",
"rating": "4.6",
"reviews": "11K",
"source": "Best Buy",
"source_icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABa0lEQVRYhe... [truncated data URL, 582 chars]",
"_note": "3 more fields omitted"
},
{
"_note": "39 more items omitted"
}
]
}Required Parameters
If you are sending your first request with this engine, start here. Requiredness is based on properties.<field>.must, not the top-level required array.
| Field | Type | Group | Description |
|---|---|---|---|
q | string | Search Query | The keyword or phrase you want this search engine to look up. |
Available Parameters
The sections below follow the same parameter groups as the backend, but the field descriptions have been rewritten into shorter, user-facing wording so they are easier to scan.
Search Query
| Field | Type | Required | Description |
|---|---|---|---|
q | string | Yes | The keyword or phrase you want this search engine to look up. |
Localization
| Field | Type | Required | Description |
|---|---|---|---|
gl | string | No | Country or region code used to localize the results. |
hl | string | No | Interface language used for the search and returned SERP labels. |
google_domain | string | No | Google domain to query, such as google.com or google.co.uk. |
Additional Constraints
gl:Default:us;Options: 244 options. Examples:af,al,dz,as,adhl:Default:en;Options: 157 options. Examples:af,ak,sq,ws,amgoogle_domain:Default:google.com;Options: 47 options. Examples:google.com,google.com.hk,google.co.uk,google.co.jp,google.us
Pagination
| Field | Type | Required | Description |
|---|---|---|---|
num | number | No | Requested number of results to return. |
start | number | No | Result offset used for Google-style pagination. |
Additional Constraints
num:Default:0start:Default:0
Geographic Location
| Field | Type | Required | Description |
|---|---|---|---|
uule | string | No | Encoded Google location string for more precise geo-targeting. |
location | string | No | Location hint used to make results closer to a target place. |
Additional Constraints
location:Default:US;Options: 10 options. Examples:IN,US,BR,ID,MX
Advanced Filters
| Field | Type | Required | Description |
|---|---|---|---|
shoprs | string | No | Search Filter Token. |
on_sale | boolean | No | On Sale. |
sort_by | number | No | Sort By. |
max_price | number | No | Max Price. |
min_price | number | No | Min Price. |
free_shipping | boolean | No | Free Shipping. |
small_business | boolean | No | Small Business. |
Additional Constraints
on_sale:Default:falsesort_by:Default:1;Options: 2 options. Examples:1,2max_price:Default:0min_price:Default:0free_shipping:Default:falsesmall_business:Default:false
Request Controls
| Field | Type | Required | Description |
|---|---|---|---|
no_cache | boolean | No | Skip cached results and force a fresh fetch. |
Additional Constraints
no_cache:Default:false
