Skip to main content
Glama
HasData

Google Search MCP Server

google_serp_shopping: GET /

hasdata_google_serp_shopping_getSearchResults

Fetch Google Shopping listings for a query with filters, returning product titles, prices, merchants, ratings, and more. Use for price tracking, catalog building, and promotion discovery.

Instructions

Get Shopping Search Results

Scrapes Google Shopping listings for a query with location/uule, country/language/domain, time/date filters, device type, shoprs filter-helper IDs, and offset pagination. Returns product title, price, merchant/source, rating, reviews count, thumbnail, product link, productId, immersiveProductPageToken, and filter chips with hasdata_link for refining by brand/price/condition/promotions. Use for e-commerce price tracking, catalog building, promotion discovery, and feeding productIds into the Product API or tokens into the Immersive Product API for deeper data.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qYesSpecify the search term for which you want to scrape the SERP.
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
tbsNoThis parameter supports various filters that can be combined by separating them with a comma. Here are examples of these filters: - Specific Time Range: `cdr:1,cd_min:10/17/2018,cd_max:3/8/2021` - Filter results to show only those within the defined date range. - Sort by Date: `sbd:1` - Results are sorted by date, from the most recent to the oldest. - Sort by Relevance: `sbd:0` - Results are sorted by relevance to the search query. - Sites with Images: `img:1` - Only show results from webpages that contain images. Quick Date Range (qdr): - `qdr:h` - Show results from the past hour. - `qdr:d` - Limit results to the past day. - `qdr:w` - Filter results from the week. - `qdr:m` - Display results from the past month. - `qdr:y` - Show results from the past year. - `qdr:h10`, `qdr:d10`, `qdr:w10`, `qdr:m10`, `qdr:y10` - Specify a number to show results from the last 10 hours, days, weeks, months, or years respectively. These filters enhance the control over search results, allowing for precise retrieval of information based on specific criteria.
uuleNoThe encoded location parameter.
startNoThis parameter specifies the number of search results to skip and is used for implementing pagination. For example, a value of 0 (default) indicates the first page of results, 40 refers to the second page, and 80 to the third page.
domainNoGoogle domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`.
shoprsNoSpecifies the helper ID for applying search filters. Must be used with the updated `q` parameter, which includes the selected filter (e.g., Coffee sale). To apply filters, use the `hasdata_link` from `filters[index].options[index]` in the JSON. Apply multiple filters by following each `hasdata_link` one by one. To remove a filter, follow its specific `hasdata_link`.
locationNoGoogle canonical location for the search.
deviceTypeNoSpecify the device type for the search.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the response fields (product title, price, merchant/source, rating, etc.), the filtering mechanism via shoprs and hasdata_link, and pagination via start. It also mentions that tokens can be fed into the Immersive Product API. It does not mention rate limits or auth, but those are often outside tool descriptions. The GET method in the title implies read-only, and the description aligns. It adds substantial behavioral context beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two paragraphs, efficiently front-loading the purpose and then detailing output fields and use cases. It avoids redundancy and keeps each sentence informative. Slightly longer than necessary but still well-organized and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (10 parameters, nested filter structure, pagination), the description covers the essential information: what it returns, how to use filters, and how to connect to downstream APIs. It lacks explicit error handling or rate limit info, but for an agent selecting and invoking the tool, the provided context is sufficient for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is already well-documented in the schema. The tool description adds some high-level context (e.g., 'offset pagination' for start, 'shoprs filter-helper IDs' for shoprs, 'location/uule' for location), but it does not significantly deepen the meaning beyond what the schema already provides. It meets the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it scrapes Google Shopping listings for a query, and lists specific filters and return fields. It distinguishes itself from sibling tools by explicitly focusing on 'Shopping Search Results' as opposed to general SERP, news, events, etc. The verb 'Get' and resource 'Shopping Search Results' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear use cases: e-commerce price tracking, catalog building, promotion discovery, and feeding productIds into the Product API or tokens into the Immersive Product API. It does not explicitly state when NOT to use it or compare to alternatives, but the use cases are sufficiently contextual to guide an agent. It lacks explicit exclusions or mention of sibling tools, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HasData/google-search-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server