Google Shopping Filters API
SerpApi's Google Shopping Filters API allows you to scrape Google Shopping filter options and shoprs tokens. This API provides access to all available filters including brands, prices, colors, sizes, and other refinement options for a given shopping query.
The API is accessed through the following endpoint: /search?engine=google_shopping_filters.
You can query: https://serpapi.com/search?engine=google_shopping_filters&q=coffee utilizing a GET request. Head to the playground for a live and interactive demo.
API Parameters
Geographic Location
location
Optional
Parameter defines from where you want the search to originate. If several locations match the location requested, we'll pick the most popular one. Head to the /locations.json API if you need more precise control. The location and uule parameters can't be used together. It is recommended to specify location at the city level in order to simulate a real user’s search. If location is omitted, the search may take on the location of the proxy.
Localization
google_domain
Optional
Parameter defines the Google domain to use. It defaults to google.com. Head to the Google domains for a full list of supported Google domains.
gl
Optional
Parameter defines the country to use for the Google search. It's a two-letter country code. (e.g., us for the United States, uk for United Kingdom, or fr for France) Head to the Google countries for a full list of supported Google countries.
hl
Optional
Parameter defines the language to use for the Google Shopping search. It's a two-letter language code. (e.g., en for English, es for Spanish, or fr for French) Head to the Google languages for a full list of supported Google languages.
Serpapi Parameters
engine
Required
Set parameter to google_shopping_filters to use the Google Shopping Filters API engine.
no_cache
Optional
Parameter will force SerpApi to fetch the Google Shopping Filters results even if a cached version is already present. A cache is served only if the query and all parameters are exactly the same. Cache expires after 1h. Cached searches are free, and are not counted towards your searches per month. It can be set to false (default) to allow results from the cache, or true to disallow results from the cache. no_cache and async parameters should not be used together.
async
Optional
Parameter defines the way you want to submit your search to SerpApi. It can be set to false (default) to open an HTTP connection and keep it open until you got your search results, or true to just submit your search to SerpApi and retrieve them later. In this case, you'll need to use our Searches Archive API to retrieve your results. async and no_cache parameters should not be used together. async should not be used on accounts with Ludicrous Speed enabled.
zero_trace
Optional
Enterprise only. Parameter enables ZeroTrace mode. It can be set to false (default) or true. Enable this mode to skip storing search parameters, search files, and search metadata on our servers. This may make debugging more difficult.
output
Optional
Parameter defines the final output you want. It can be set to json (default) to get a structured JSON of the results, or html to get the raw html retrieved.
json_restrictor
Optional
Parameter defines the fields you want to restrict in the outputs for smaller, faster responses. See JSON Restrictor for more details.
API Results
JSON Results
JSON output includes structured data for filter options.
A search status is accessible through search_metadata.status. It flows this way: Processing -> Success || Error. If a search has failed, error will contain an error message. search_metadata.id is the search ID inside SerpApi.
HTML Results
HTML output is useful to debug JSON results or support features not supported yet by SerpApi.
API Examples
Results for: macbook
{
"search_metadata": {
"id": "68e30e86fc8a2b7362dce61a",
"status": "Success",
"json_endpoint": "https://serpapi.com/searches/6745d03771e32c7d/68e30e86fc8a2b7362dce61a.json",
"created_at": "2025-10-06 00:34:14 UTC",
"processed_at": "2025-10-06 00:34:14 UTC",
"google_shopping_filters_url": "https://www.google.com/search?q=Coffee&gl=us&hl=en&udm=28",
"raw_html_file": "https://serpapi.com/searches/64e5433592351d66/68e30e86fc8a2b7362dce61a.html",
"total_time_taken": 1.3
},
"search_parameters": {
"engine": "google_shopping_filters",
"q": "Coffee",
"google_domain": "google.com",
"hl": "en",
"gl": "us"
},
"search_information": {
"filters_results_state": "Results for exact spelling"
},
"filters": [
{
"type": "Refine Results",
"input_type": "link_with_icon",
"options": [
{
"text": "Nearby",
"shoprs": "CAEYAyoGY29mZmVlMgwIAxIGTmVhcmJ5GAJYt8sfYAI",
"serpapi_link": "https://serpapi.com/search.json?engine=google_shopping_filters&gl=us&google_domain=google.com&hl=en&q=Coffee+nearby&shoprs=CAEYAyoGY29mZmVlMgwIAxIGTmVhcmJ5GAJYt8sfYAI"
},
{
"text": "Get it today",
"shoprs": "CAESDZoBCgoIEAA4AUAHSAEYFCoGY29mZmVlMiUIFBIMR2V0IGl0IHRvZGF5Ig2aAQoKCBAAOAFAB0gBKgQQARgBYAI",
"serpapi_link": "https://serpapi.com/search.json?engine=google_shopping_filters&gl=us&google_domain=google.com&hl=en&q=coffee&shoprs=CAESDZoBCgoIEAA4AUAHSAEYFCoGY29mZmVlMiUIFBIMR2V0IGl0IHRvZGF5Ig2aAQoKCBAAOAFAB0gBKgQQARgBYAI"
},
{
"text": "On sale",
"shoprs": "CAESBEoCGAEYBioGY29mZmVlMhMIBhIHT24gc2FsZRgCIgRKAhgBWLfLH2AC",
"serpapi_link": "https://serpapi.com/search.json?engine=google_shopping_filters&gl=us&google_domain=google.com&hl=en&q=Coffee+sale&shoprs=CAESBEoCGAEYBioGY29mZmVlMhMIBhIHT24gc2FsZRgCIgRKAhgBWLfLH2AC"
},
{
"text": "Small business",
"shoprs": "CAESAmoAGBYqBmNvZmZlZTIcCBYSDlNtYWxsIGJ1c2luZXNzIgJqACoEEAEYAWAC",
"serpapi_link": "https://serpapi.com/search.json?engine=google_shopping_filters&gl=us&google_domain=google.com&hl=en&q=coffee&shoprs=CAESAmoAGBYqBmNvZmZlZTIcCBYSDlNtYWxsIGJ1c2luZXNzIgJqACoEEAEYAWAC"
}
]
},
{
"type": "Sort by",
"input_type": "radio",
"options": [
{
"text": "Relevance (Default)",
"shoprs": "CAEYFyoGY29mZmVlMgoIFyoEEAEYAVAEYAI",
"serpapi_link": "https://serpapi.com/search.json?engine=google_shopping_filters&gl=us&google_domain=google.com&hl=en&q=coffee&shoprs=CAEYFyoGY29mZmVlMgoIFyoEEAEYAVAEYAI",
"selected": true
},
{
"text": "Price: low to high",
"shoprs": "CAEYFyoGY29mZmVlMh4IFxISUHJpY2U6IGxvdyB0byBoaWdoKgQQARgBUAFgAogBAQ",
"serpapi_link": "https://serpapi.com/search.json?engine=google_shopping_filters&gl=us&google_domain=google.com&hl=en&q=coffee&shoprs=CAEYFyoGY29mZmVlMh4IFxISUHJpY2U6IGxvdyB0byBoaWdoKgQQARgBUAFgAogBAQ"
},
{
"text": "Price: high to low",
"shoprs": "CAEYFyoGY29mZmVlMh4IFxISUHJpY2U6IGhpZ2ggdG8gbG93KgQQARgBUAJgAogBAg",
"serpapi_link": "https://serpapi.com/search.json?engine=google_shopping_filters&gl=us&google_domain=google.com&hl=en&q=coffee&shoprs=CAEYFyoGY29mZmVlMh4IFxISUHJpY2U6IGhpZ2ggdG8gbG93KgQQARgBUAJgAogBAg"
},
{
"text": "Rating: high to low",
"shoprs": "CAEYFyoGY29mZmVlMh8IFxITUmF0aW5nOiBoaWdoIHRvIGxvdyoEEAEYAVADYAKIAQM",
"serpapi_link": "https://serpapi.com/search.json?engine=google_shopping_filters&gl=us&google_domain=google.com&hl=en&q=coffee&shoprs=CAEYFyoGY29mZmVlMh8IFxITUmF0aW5nOiBoaWdoIHRvIGxvdyoEEAEYAVADYAKIAQM"
}
]
}
]
}
JSON structure overview
{
"filters": [
{
"type": "String - Filter category name (Ex: 'Brand', 'Price', 'Sort by')",
"input_type": "String - Type of input (radio, checkbox, link_with_icon, link, color, size_button, price_range)",
"options": [
{
"text": "String - Display text for the filter option",
"shoprs": "String - Google's shoprs token for this filter",
"serpapi_link": "String - SerpApi link to apply this filter",
"selected": "Boolean - (Optional) Whether this option is currently selected"
}
]
}
]
}