---
name: tesco-data
description: Use Upscrape to inspect Tesco UK grocery products, browse categories and compare pack prices. Use when asked for Tesco catalog data or to build a Tesco category or price report.
---

# Tesco grocery data

Connect to Upscrape through MCP using the client's Upscrape setup. Discover the available tools and the current Tesco capability reference before calling them. REST users send the same capability and input through the documented execution API. Keep API keys private.

## Choose the request

- Known product: `tesco.product.detail.get` with `tpnc`, a numeric Tesco product ID or a supported Tesco product URL. For example, `https://www.tesco.com/groceries/en-GB/products/284477542`.
- Find a shelf: `tesco.categories.list` with `{}`. Read the nested category tree and use a returned catId unchanged as the facet.
- Collect that shelf: `tesco.category.products.list` with `facet`, `page` (starting at 1), `count` (1–48, default 24), and `sort_by` (`relevance`, `price-ascending` or `price-descending`). Keep the facet, count and sort fixed across pages. Read total_count and actual items; record partial collection explicitly. Tesco’s price order may differ from a simple sort of ordinary pack prices; inspect the values before ranking them.

Keyword search is unavailable. Do not invent a search tool or simulate search rank from category order. These requests have no postcode or store input and do not provide local inventory, shopping-account access, baskets or checkout.

## Compare carefully

Keep the TPNC/product ID, title, brand, pack information, collection time and request context with each row. Match product IDs within Tesco; check GTIN and pack equivalence when comparing retailers. Treat GTIN as text so leading zeros survive.

Read seller prices with their unit of measure. A pack price and a unit price serve different comparisons; do not compare “each” with “kg”. Do not substitute a promotion price for the ordinary price without retaining its membership or quantity conditions. Missing data is unknown, not zero or false.

A catalog sale-status flag does not prove postcode stock or delivery availability. An absent product in a partial category scan does not prove it was delisted. Requests read current observations: build history by saving runs rather than claiming access to an existing historical dataset.

## Bound the work and report it

Use the current catalog prices; do not embed credit rates in a plan. Agree the maximum requests or spend before a large collection. Reuse a fetched taxonomy within the task, avoid unnecessary detail calls and stop on repeated access errors. Failed requests are not charged by Upscrape, but do not promise that outside services are free.

Use returned fields only. State the category, pages collected, collection time, missing values and comparison basis with the answer. Export only the product fields needed for the user's report. Omit individual reviewer names, contact details and other personal data from public examples or shared reports.
