Skip to main content
Glama

google_serp_shopping: GET /

hasdata_google_serp_shopping_getSearchResults
Read-only

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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / domain / description
      Previous value: -"Google domain to use. Default is google.com."New value: +"Google domain to use. Default is google.com. Provide one exact documented value (195 allowed), e.g. `google.ac`, `google.ad`."
    • removedInput schema / properties / domain / enum
      Removed value: -[
      -  "google.ac",
      -  "google.ad",
      -  "google.ae",
      -  "google.al",
      -  "google.am",
      -  "google.as",
      -  "google.at",
      -  "google.az",
      -  "google.ba",
      -  "google.be",
      -  "google.bf",
      -  "google.bg",
      -  "google.bi",
      -  "google.bj",
      -  "google.bs",
      -  "google.bt",
      -  "google.by",
      -  "google.ca",
      -  "google.cd",
      -  "google.cf",
      -  "google.cg",
      -  "google.ch",
      -  "google.ci",
      -  "google.cl",
      -  "google.cm",
      -  "google.co.ao",
      -  "google.co.bw",
      -  "google.co.ck",
      -  "google.co.cr",
      -  "google.co.id",
      -  "google.co.il",
      -  "google.co.in",
      -  "google.co.jp",
      -  "google.co.ke",
      -  "google.co.kr",
      -  "google.co.ls",
      -  "google.co.ma",
      -  "google.co.mz",
      -  "google.co.nz",
      -  "google.co.th",
      -  "google.co.tz",
      -  "google.co.ug",
      -  "google.co.uk",
      -  "google.co.uz",
      -  "google.co.ve",
      -  "google.co.vi",
      -  "google.co.za",
      -  "google.co.zm",
      -  "google.co.zw",
      -  "google.com",
      -  "google.com.af",
      -  "google.com.ag",
      -  "google.com.ai",
      -  "google.com.ar",
      -  "google.com.au",
      -  "google.com.bd",
      -  "google.com.bh",
      -  "google.com.bn",
      -  "google.com.bo",
      -  "google.com.br",
      -  "google.com.bz",
      -  "google.com.co",
      -  "google.com.cu",
      -  "google.com.cy",
      -  "google.com.do",
      -  "google.com.ec",
      -  "google.com.eg",
      -  "google.com.et",
      -  "google.com.fj",
      -  "google.com.gh",
      -  "google.com.gi",
      -  "google.com.gt",
      -  "google.com.hk",
      -  "google.com.jm",
      -  "google.com.kh",
      -  "google.com.kw",
      -  "google.com.lb",
      -  "google.com.ly",
      -  "google.com.mm",
      -  "google.com.mt",
      -  "google.com.mx",
      -  "google.com.my",
      -  "google.com.na",
      -  "google.com.ng",
      -  "google.ng",
      -  "google.com.nf",
      -  "google.com.ni",
      -  "google.com.np",
      -  "google.com.om",
      -  "google.com.pa",
      -  "google.com.pe",
      -  "google.com.pg",
      -  "google.com.ph",
      -  "google.com.pk",
      -  "google.com.pr",
      -  "google.com.py",
      -  "google.com.qa",
      -  "google.com.sa",
      -  "google.com.sb",
      -  "google.com.sg",
      -  "google.com.sl",
      -  "google.com.sv",
      -  "google.com.tj",
      -  "google.com.tr",
      -  "google.com.tw",
      -  "google.com.ua",
      -  "google.com.uy",
      -  "google.com.vc",
      -  "google.com.vn",
      -  "google.cat",
      -  "google.cn",
      -  "google.cv",
      -  "google.cz",
      -  "google.de",
      -  "google.dj",
      -  "google.dk",
      -  "google.dm",
      -  "google.dz",
      -  "google.ee",
      -  "google.es",
      -  "google.fi",
      -  "google.fm",
      -  "google.fr",
      -  "google.ga",
      -  "google.ge",
      -  "google.gg",
      -  "google.gl",
      -  "google.gm",
      -  "google.gp",
      -  "google.gr",
      -  "google.gy",
      -  "google.hn",
      -  "google.hr",
      -  "google.ht",
      -  "google.hu",
      -  "google.ie",
      -  "google.im",
      -  "google.iq",
      -  "google.is",
      -  "google.it",
      -  "google.je",
      -  "google.jo",
      -  "google.kg",
      -  "google.ki",
      -  "google.kz",
      -  "google.la",
      -  "google.li",
      -  "google.lk",
      -  "google.lt",
      -  "google.lu",
      -  "google.lv",
      -  "google.md",
      -  "google.me",
      -  "google.mg",
      -  "google.mk",
      -  "google.ml",
      -  "google.mn",
      -  "google.ms",
      -  "google.mu",
      -  "google.mv",
      -  "google.mw",
      -  "google.ne",
      -  "google.nl",
      -  "google.no",
      -  "google.nr",
      -  "google.nu",
      -  "google.pl",
      -  "google.pn",
      -  "google.ps",
      -  "google.pt",
      -  "google.ro",
      -  "google.rs",
      -  "google.ru",
      -  "google.rw",
      -  "google.sc",
      -  "google.se",
      -  "google.sh",
      -  "google.si",
      -  "google.sk",
      -  "google.sm",
      -  "google.sn",
      -  "google.so",
      -  "google.sr",
      -  "google.st",
      -  "google.td",
      -  "google.tg",
      -  "google.tk",
      -  "google.tl",
      -  "google.tm",
      -  "google.tn",
      -  "google.to",
      -  "google.tt",
      -  "google.vg",
      -  "google.vu",
      -  "google.ws"
      -]
    • changedInput schema / properties / gl / description
      Previous value: -"The two-letter country code for the country you want to limit the search to."New value: +"The 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`."
    • removedInput schema / properties / gl / enum
      Removed value: -[
      -  "ac",
      -  "af",
      -  "al",
      -  "dz",
      -  "as",
      -  "ad",
      -  "ao",
      -  "ai",
      -  "aq",
      -  "ag",
      -  "ar",
      -  "am",
      -  "aw",
      -  "au",
      -  "at",
      -  "az",
      -  "bs",
      -  "bh",
      -  "bd",
      -  "bb",
      -  "by",
      -  "be",
      -  "bz",
      -  "bj",
      -  "bm",
      -  "bt",
      -  "bo",
      -  "ba",
      -  "bw",
      -  "bv",
      -  "br",
      -  "io",
      -  "bn",
      -  "bg",
      -  "bf",
      -  "bi",
      -  "kh",
      -  "cm",
      -  "ca",
      -  "cv",
      -  "ky",
      -  "cf",
      -  "td",
      -  "cl",
      -  "cn",
      -  "cx",
      -  "cc",
      -  "co",
      -  "km",
      -  "cg",
      -  "cd",
      -  "ck",
      -  "cr",
      -  "ci",
      -  "hr",
      -  "cu",
      -  "cy",
      -  "cz",
      -  "dk",
      -  "dj",
      -  "dm",
      -  "do",
      -  "ec",
      -  "eg",
      -  "sv",
      -  "gq",
      -  "er",
      -  "ee",
      -  "et",
      -  "fk",
      -  "fo",
      -  "fj",
      -  "fi",
      -  "fr",
      -  "gf",
      -  "pf",
      -  "tf",
      -  "ga",
      -  "gm",
      -  "ge",
      -  "de",
      -  "gg",
      -  "gh",
      -  "gi",
      -  "gr",
      -  "gl",
      -  "gd",
      -  "gp",
      -  "gu",
      -  "gt",
      -  "gn",
      -  "gw",
      -  "gy",
      -  "ht",
      -  "hm",
      -  "va",
      -  "hn",
      -  "hk",
      -  "hu",
      -  "im",
      -  "is",
      -  "in",
      -  "id",
      -  "ir",
      -  "iq",
      -  "ie",
      -  "il",
      -  "it",
      -  "je",
      -  "jm",
      -  "jp",
      -  "jo",
      -  "kz",
      -  "ke",
      -  "ki",
      -  "kp",
      -  "kr",
      -  "kw",
      -  "kg",
      -  "la",
      -  "lv",
      -  "lb",
      -  "ls",
      -  "lr",
      -  "ly",
      -  "li",
      -  "lt",
      -  "lu",
      -  "me",
      -  "mo",
      -  "mk",
      -  "mg",
      -  "mw",
      -  "my",
      -  "mv",
      -  "ml",
      -  "mt",
      -  "mh",
      -  "mq",
      -  "mr",
      -  "mu",
      -  "yt",
      -  "mx",
      -  "fm",
      -  "md",
      -  "mc",
      -  "mn",
      -  "ms",
      -  "ma",
      -  "mz",
      -  "mm",
      -  "na",
      -  "nr",
      -  "np",
      -  "nl",
      -  "an",
      -  "nc",
      -  "nz",
      -  "ni",
      -  "ne",
      -  "ng",
      -  "nu",
      -  "nf",
      -  "mp",
      -  "no",
      -  "om",
      -  "pk",
      -  "pw",
      -  "ps",
      -  "pa",
      -  "pg",
      -  "py",
      -  "pe",
      -  "ph",
      -  "pn",
      -  "pl",
      -  "pt",
      -  "pr",
      -  "qa",
      -  "re",
      -  "ro",
      -  "ru",
      -  "rw",
      -  "sh",
      -  "kn",
      -  "lc",
      -  "pm",
      -  "vc",
      -  "ws",
      -  "sm",
      -  "st",
      -  "sa",
      -  "sn",
      -  "rs",
      -  "sc",
      -  "sl",
      -  "sg",
      -  "sk",
      -  "si",
      -  "sb",
      -  "so",
      -  "za",
      -  "gs",
      -  "es",
      -  "lk",
      -  "sd",
      -  "sr",
      -  "sj",
      -  "sz",
      -  "se",
      -  "ch",
      -  "sy",
      -  "tw",
      -  "tj",
      -  "tz",
      -  "th",
      -  "tl",
      -  "tg",
      -  "tk",
      -  "to",
      -  "tt",
      -  "tn",
      -  "tr",
      -  "tm",
      -  "tc",
      -  "tv",
      -  "ug",
      -  "ua",
      -  "ae",
      -  "uk",
      -  "gb",
      -  "us",
      -  "um",
      -  "uy",
      -  "uz",
      -  "vu",
      -  "ve",
      -  "vn",
      -  "vg",
      -  "vi",
      -  "wf",
      -  "eh",
      -  "ye",
      -  "zm",
      -  "zw"
      -]
    • changedInput schema / properties / hl / description
      Previous value: -"The two-letter language code for the language you want to use for the search."New value: +"The 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`."
    • removedInput schema / properties / hl / enum
      Removed value: -[
      -  "af",
      -  "ak",
      -  "sq",
      -  "ws",
      -  "am",
      -  "ar",
      -  "hy",
      -  "az",
      -  "eu",
      -  "be",
      -  "bem",
      -  "bn",
      -  "bh",
      -  "xx-bork",
      -  "bs",
      -  "br",
      -  "bg",
      -  "bt",
      -  "km",
      -  "ca",
      -  "chr",
      -  "ny",
      -  "zh-cn",
      -  "zh-tw",
      -  "zh-hk",
      -  "co",
      -  "hr",
      -  "cs",
      -  "da",
      -  "nl",
      -  "xx-elmer",
      -  "en",
      -  "eo",
      -  "et",
      -  "ee",
      -  "fo",
      -  "tl",
      -  "fil",
      -  "fi",
      -  "fr",
      -  "fy",
      -  "gaa",
      -  "gl",
      -  "ka",
      -  "de",
      -  "el",
      -  "kl",
      -  "gn",
      -  "gu",
      -  "xx-hacker",
      -  "ht",
      -  "ha",
      -  "haw",
      -  "iw",
      -  "he",
      -  "hi",
      -  "hu",
      -  "is",
      -  "ig",
      -  "id",
      -  "ia",
      -  "ga",
      -  "it",
      -  "ja",
      -  "jw",
      -  "kn",
      -  "kk",
      -  "rw",
      -  "rn",
      -  "xx-klingon",
      -  "kg",
      -  "ko",
      -  "kri",
      -  "ku",
      -  "ckb",
      -  "ky",
      -  "lo",
      -  "la",
      -  "lv",
      -  "ln",
      -  "lt",
      -  "loz",
      -  "lg",
      -  "ach",
      -  "mk",
      -  "mg",
      -  "my",
      -  "ml",
      -  "mt",
      -  "mv",
      -  "mi",
      -  "mr",
      -  "mfe",
      -  "mo",
      -  "mn",
      -  "ms",
      -  "sr-me",
      -  "ne",
      -  "pcm",
      -  "nso",
      -  "no",
      -  "nn",
      -  "oc",
      -  "or",
      -  "om",
      -  "ps",
      -  "fa",
      -  "xx-pirate",
      -  "pl",
      -  "pt",
      -  "pt-br",
      -  "pt-pt",
      -  "pa",
      -  "qu",
      -  "ro",
      -  "rm",
      -  "nyn",
      -  "ru",
      -  "gd",
      -  "sr",
      -  "sh",
      -  "st",
      -  "tn",
      -  "crs",
      -  "sn",
      -  "sd",
      -  "si",
      -  "sk",
      -  "sl",
      -  "so",
      -  "es",
      -  "es-419",
      -  "su",
      -  "sw",
      -  "sv",
      -  "tg",
      -  "ta",
      -  "tt",
      -  "te",
      -  "th",
      -  "ti",
      -  "to",
      -  "lua",
      -  "tum",
      -  "tr",
      -  "tk",
      -  "tw",
      -  "ug",
      -  "uk",
      -  "ur",
      -  "uz",
      -  "vu",
      -  "vi",
      -  "cy",
      -  "wo",
      -  "xh",
      -  "yi",
      -  "yo",
      -  "zu"
      -]
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and destructiveHint, so the safety profile is covered. The description adds real behavioral value by enumerating the returned fields (title, price, merchant, rating, reviews, thumbnail, productId, immersiveProductPageToken) and explaining the filter-chip/hasdata_link refinement loop, which is not derivable from the schema. It does not mention auth or rate limits, keeping it at a 4.

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?

Front-loads the core action in sentence one and packs filter dims and return/usage context into sentence two with no filler. It is dense but every clause carries information, so it is appropriately sized rather than merely short.

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?

With 10 parameters, no output schema, but full annotation coverage, the description does the heavy lifting an agent needs: it enumerates the return payload and the downstream id/token handoffs. It leaves pagination mechanics and error behavior to the schema/annotations, which is acceptable given no output schema forces it to describe returns itself.

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 the schema already documents all 10 parameters in detail. The description groups them ('location/uule, country/language/domain, time/date filters, device type, shoprs filter-helper IDs, and offset pagination') but adds no syntax or format meaning beyond what the schema provides, so the baseline 3 applies.

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?

States a specific verb and resource ('Scrapes Google Shopping listings for a query') and the scope of filters it accepts. It also distinguishes itself from adjacent tools by naming the Product API and Immersive Product API as consumers of its output. An agent can tell it apart from the generic serp_getSearchResults sibling by the explicit 'Shopping' vertical.

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?

Gives concrete when-to-use contexts ('e-commerce price tracking, catalog building, promotion discovery') and names alternatives, explaining that productIds feed the Product API and tokens feed the Immersive Product API for deeper data. It stops short of stating explicit exclusions (e.g. when to prefer the plain SERP instead), so it is clear context without full routing rules.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources