Today's card for a known product id
get_productThe same card as find_best_price and the website's product page /{locale}/p/{product}, for a product id you already hold (product.slug / product.variant.id from search_products, find_best_price or product_variants), without reading a query: no risk of landing on another variant. product.variant names the variant (storage, colour, model words, connectivity, size, family_id shared by its siblings). Answers from stored prices with the rule-based verdict; every offer carries source_name, captured_at, blockers, and the card reasons and warnings. An unknown id is error.code not_found. Next: product_variants for the other capacities or colours, price_history for the trend.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ai | No | Also run the shops live and let the model write the verdict (slower). Default false: stored prices and the rules. | |
| sort | No | Order of `offers` and the price `best` is chosen by: product = lowest product price (the default; every offer still carries its shipping and total), total = lowest total with shipping to `deliver_to_country`. The card says which in `sort`; `cheapest_total` is the lowest total either way. | |
| locale | No | BCP 47 locale for human-readable strings, e.g. "en", "cs", "sk". Defaults to the country's default locale. | |
| product | Yes | Product slug (the stable product id), e.g. apple-iphone-16-128-gb. | |
| verified_only | No | Only shops with a customer rating. | |
| include_shipping | No | Same as sort=total: count shipping in the order (the website's "Zahrnout dopravu"). Default false. | |
| deliver_to_country | No | Where the buyer wants delivery (ISO 3166-1 alpha-2). Default: the first compared country. |