Example request
Shopping cards are intent-detected. Send a prompt that expresses shopping intent (for example, asking for products, prices, or where to buy). No flag is required.shoppingCards array documented below.
Overview
Shopping product information extracted from the response when AI Mode detects shopping intent.
For individual product references embedded inline within the AI response text (rather than in a dedicated carousel), see inline products. Both arrays may appear in the same response.
Shopping card structure
| Field | Type | Description |
|---|---|---|
title | string | Product title |
position | number | 1-indexed rank across the shoppingCards array in DOM/render order. |
price | object | Structured pricing with value, currency, and raw |
store | string | Merchant/store name |
rating | number | Product rating |
reviews | string | Review count (e.g., “2.3k”) |
thumbnail | string | Product image URL |
productLink | string | Direct product URL |
oldPrice | object | Original price before discount (same shape as price) |
snippet | string | Product description snippet |
snippet_links | array | Links found within the product snippet |
price and oldPrice
| Field | Type | Description |
|---|---|---|
value | number | null | Parsed numeric price. null when the visible text can’t be unambiguously parsed. |
currency | string | null | Currency symbol (e.g. "$", "£", "R$", "€"). null when no symbol was found. |
raw | string | Visible card text verbatim (e.g. "$149.99", "R$ 4,40/mês"). Always present when the parser had any input text. |
raw field captures the price string exactly as Google rendered it. Use it as a fallback display when value is null (installment offers, locale-ambiguous numerics) — see the inline products docs for the full price-shape contract; it’s shared across all AI Mode price-bearing fields.
snippet_links
| Field | Type | Description |
|---|---|---|
text | string | Link text |
link | string | Link URL |