GET /ucp/products endpoint is the primary interface between your inventory and AI agents. Agents call it to discover products, compare options, check availability, and identify the exact variant a customer wants before initiating checkout. If your catalog data is missing, malformed, or stale, agents cannot complete purchases — and customers get a broken experience.
Product object schema
A complete product object looks like this:Required product fields
Unique, stable product identifier. Must not change when product details are updated — agents and order systems rely on this ID for the full purchase lifecycle.
Clear, descriptive product name. Agents use this to match customer requests. Avoid internal codes or abbreviations.
Product description. Minimum 50 characters for adequate AI comprehension. For Google AI Mode eligibility, aim for 150+ characters.
Price in the smallest currency unit. Cents for USD, pence for GBP, paisa for INR.
12999 means 12,999.ISO 4217 currency code (e.g.
"USD", "GBP", "INR").Stock status. Must be one of:
in_stock, out_of_stock, preorder, backorder.Optional but recommended fields
| Field | Why it matters |
|---|---|
category | Enables agents to filter and recommend products contextually |
brand | Required for Google Merchant Center UCP eligibility |
images | Displayed to users on AI surfaces; must be absolute HTTPS URLs |
url | Lets agents link back to the product page for more detail |
variants | Required for any product with multiple options (size, color, etc.) |
sku | Simplifies order reconciliation in your backend systems |
Variant structure
Every product with selectable options must expose variants as explicit objects. Agents cannot infer variant IDs or availability from a base product alone. Each variant object requires:Unique variant identifier. Passed as
variant_id in checkout requests.Key-value map of what makes this variant distinct. Common keys:
size, color, material, style.Variant-level price object with
amount and currency. May differ from the base product price.Per-variant availability status. A base product may be
in_stock even if some variants are out_of_stock.Pricing
Prices must always be in the smallest currency unit:Availability statuses
| Status | Meaning |
|---|---|
in_stock | Available to purchase immediately |
out_of_stock | Not available; agents will not offer this to customers |
preorder | Available for pre-order; include an expected ship date where possible |
backorder | Not currently in stock but can be ordered; fulfillment delayed |
Pagination
For catalogs with more than 100 products, include apagination object so agents can fetch your full catalog in pages:
next URLs until the field is absent or null.
Filtering parameters
If your manifest declares"supports_search": true and lists supports_filters, agents can query your catalog with these query parameters:
Keyword search query (e.g.
?q=running+shoes).Filter by product category (e.g.
?category=footwear).Minimum price in smallest currency unit (e.g.
?min_price=5000 for $50.00).Maximum price in smallest currency unit (e.g.
?max_price=15000 for $150.00).Filter by stock status. One of:
in_stock, out_of_stock, preorder, backorder.Common issues
Missing variants causes checkout failure
Missing variants causes checkout failure
If a customer selects “size 10 black” and your catalog only has a base
prod_123 without variant objects, the agent cannot pass a variant_id to your checkout endpoint. Always add variant objects for any product that has options.Stale availability causes abandoned carts
Stale availability causes abandoned carts
If your catalog shows a product as
in_stock but it is actually sold out, the checkout will fail after the customer has already committed to the purchase. Sync inventory updates to your catalog within 5 minutes of any stock change.Prices in dollars instead of cents
Prices in dollars instead of cents
A price of
129 is interpreted as 129.00. Always express prices in the smallest currency unit. See the pricing examples above.Validate your catalog
Use the Readiness Score tool to check catalog health, or run the API:Next steps
Checkout and payments
Handle purchases with the checkout endpoint — cart creation, order confirmation, and PSP integration.
Feed specs and formatting
Prepare feeds for Google Merchant Center and ACP.