---
name: asda-data
description: Use Upscrape to inspect ASDA grocery products, Rollbacks, multibuys and named category paths, preserving offer conditions and store-specific stock context.
---

# ASDA grocery observations

Connect Upscrape through its supported MCP client setup, or use the REST request examples at https://upscrape.com/docs/platforms/asda. Authenticate with an Upscrape key; do not request a shopper’s ASDA credentials.

- Search uses `query`; product detail uses `id` (product ID or CIN). Preserve returned IDs as text.
- Keep `store_id` with every observation. The default is `4565`; no postcode resolver is provided. Missing `in_stock` is unknown, not false.
- Lists take one-based `page` and `hits_per_page` (default 24, maximum 60). Use the catalog quote and a collection budget before requesting more pages.
- Listings include delisted records by default. Use `active_only: true` for active listings; active is not the same as in stock.
- `promotion_type` accepts `all`, `rollback`, `price_drop` or `multibuy`. All orders Rollbacks first. Inspect `promotions` even when the ordinary `offer` is `List`.
- Keep pack price, quantity, bundle amount and original offer text distinct. Use recognised `deal` values when present; do not invent a calculation for an unparsed offer name. Preserve dates and `open_ended`.
- Numeric unit-price values are pounds. Compare matching unit bases and retain the original display string.
- Categories can be scoped by `category`, `department` and `depth`. Copy names from returned paths. A department needs its category; an aisle needs its department.
- `include_raw: false` requests normalized data, as in these examples. Full upstream envelopes are optional; do not request them without a reason.
- Product detail is a catalog record, not a full ingredient panel or individual-review feed. Keep absent fields unknown. Dietary flags must not be presented as medical advice.
- Save observations with times if building history. Do not claim supplied historical prices, order placement, Rewards balances or delivery eligibility.

Start with five active multibuy products in store 4565 and explain the quantity condition beside each pack price. Treat every returned offer as an observation whose dates and availability still need checking.
