Separate ASDA offer types
asda.promotions.list
Choose Rollbacks, price drops or multibuys. Inspect the returned offer terms beside each product’s single-pack price.
Follow ASDA Rollbacks and multibuys by offer type, with the pack price and required quantity kept together.
Up to 100 free credits
Choose an offer type for promotion research or an exact category path for an assortment report.
asda.promotions.list
Choose Rollbacks, price drops or multibuys. Inspect the returned offer terms beside each product’s single-pack price.
asda.product.detail.get
Send a product ID or CIN to read its catalog record, including published nation prices where supplied.
asda.products.search
Enter a product or ingredient name and retain pack sizes when comparing the results.
asda.categories.list
Read category paths and counts. Narrow the request to a named department when your report covers one part of the catalog.
asda.category.products.list
Copy category, department and aisle names from the taxonomy, then page through the matching products.
This request asks for active multibuy products in store 4565. The response keeps the ordinary pack amount beside the bundle terms.
curl --request POST \
--url https://data.upscrape.com/execute \
--header "Authorization: Bearer $UPSCRAPE_API_KEY" \
--header "Content-Type: application/json" \
--header "Prefer: wait=30" \
--data '{
"capability": "asda.promotions.list",
"input": {
"active_only": true,
"hits_per_page": 5,
"include_raw": false,
"promotion_type": "multibuy",
"store_id": "4565"
}
}'
import json
import os
import requests
payload = json.loads(r'''{
"capability": "asda.promotions.list",
"input": {
"active_only": true,
"hits_per_page": 5,
"include_raw": false,
"promotion_type": "multibuy",
"store_id": "4565"
}
}''')
response = requests.post(
"https://data.upscrape.com/execute",
headers={
"Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}",
"Content-Type": "application/json",
"Prefer": "wait=30",
},
json=payload,
)
response.raise_for_status()
print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`,
"Content-Type": "application/json",
"Prefer": "wait=30",
},
body: JSON.stringify({
"capability": "asda.promotions.list",
"input": {
"active_only": true,
"hits_per_page": 5,
"include_raw": false,
"promotion_type": "multibuy",
"store_id": "4565"
}
}),
});
if (!response.ok) {
throw new Error(`Upscrape request failed: ${response.status}`);
}
console.log(JSON.stringify(await response.json(), null, 2));
The first tab shows multibuy terms. The other tabs show grocery search, one milk product and the category path used to browse Fresh Milk.
{"capability":"asda.promotions.list","input":{"active_only":true,"hits_per_page":5,"include_raw":false,"promotion_type":"multibuy","store_id":"4565"}}
5 returned rows. Full response available as JSON.
| # | Product , Name of the returned product or taxonomy node. | Product ID , ASDA identifier; preserve it as text. | CIN , Catalog item number, retained separately from the product ID. | Brand , Brand supplied by the catalog; absent stays unknown. | Pack , ASDA’s pack-size expression; keep it alongside unit prices. | Pack price , Ordinary pack amount in the stated currency, before any separate multibuy calculation. | Currency , Currency code for monetary values. | Previous price , Previous price only when higher than the current amount; absence is not zero. | Price label , Ordinary price state: List, Rollback or Dropped; multibuy terms are separate. | Unit price , Original unit-price display, which can use pounds or pence. | Unit amount , Unit amount expressed in pounds. | Unit , Unit basis for the numeric amount, such as LT or KG. | Catalog status , A means active; I means delisted. This is separate from stock. | Store stock , Stock flag for the request’s store; absence is unknown. | GTIN , Barcode-like value derived from the catalog image identifier where available; keep as text. | Rating count , Number of ratings, not individual reviews. | Rating , Average supplied when ratings exist. | Category path , Product’s category hierarchy as returned. | ASDA page , ASDA product page linked by the catalog. | Multibuy terms , First multibuy description; all promotion entries remain in JSON. | Deal type , Recognised bundle calculation type; unknown offer names may omit it. | Quantity , Number required by the first recognised multibuy. | Bundle amount , Total for the required quantity on a fixed-price deal. | Pay for , Quantity paid for on a recognised quantity-for-quantity deal. | Starts , Source offer start in UTC; inspect with observation time. | Ends , Source offer end in UTC; inspect open_ended in JSON where present. |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 12 British Beef Meatballs 340g | SKU100537679 | 9301558 | Exceptional by ASDA | 340g | 4.97 | GBP | Not returned | List | £14.62/KG | 14.61765 | KG | A | Yes | 5063717061479 | 1 | 5 | Meat, Poultry & Fish > Meat & Poultry > Beef > Beef Mince & Meatballs | https://www.asda.com/groceries/product/9301558 | Any 3 for £12 | fixed_price | 3 | 12 | Not returned | 2025-12-25T00:00:00Z | 2028-10-12T23:59:59Z |
| 2 | Mushroom Pilau 300g | SKU100534500 | 9290615 | Bom Bahia by ASDA | 300G | 3.5 | GBP | Not returned | List | £11.67/KG | 11.66667 | KG | A | Yes | 5063717000584 | 1 | 5 | Chilled Food > Ready Meals > Bom Bahia by ASDA > Bom Bahia by ASDA | https://www.asda.com/groceries/product/9290615 | Bom Bahia Dine In £12 | Not returned | Not returned | Not returned | Not returned | 2026-05-18T00:00:00Z | 2099-12-31T23:59:59Z |
| 3 | Chunky Funky Chocolate Bar 40g | SKU100527700 | 9271039 | KitKat | 40g | 0.84 | GBP | Not returned | List | £21.00/KG | 21 | KG | A | No | 3800020401262 | 2 | 5 | Food Cupboard > Chocolates & Sweets > Small Chocolate Bars & Bags > Small Chocolate Bars & Bags | https://www.asda.com/groceries/product/9271039 | Meal Deal | Not returned | Not returned | Not returned | Not returned | 2025-09-17T00:00:00Z | 2033-09-17T23:59:59Z |
| 4 | Fiery Chilli Jam 55g | 1000383265069 | 9211052 | ASDA | 55G | 0.5 | GBP | Not returned | List | £9.09/KG | 9.09091 | KG | A | Yes | 5063089751565 | 2 | 5 | Chilled Food > Pizza, Pasta & Garlic Bread > Fresh Pizza > Snacking & Sides | https://www.asda.com/groceries/product/9211052 | Medium Pizza Deal £7 | Not returned | Not returned | Not returned | Not returned | 2026-04-25T00:00:00Z | 2027-04-25T23:59:59Z |
| 5 | Vegetable Sushi | 1000383176144 | 7704077 | ASDA | 67G | 1.65 | GBP | Not returned | List | £24.63/KG | 24.62687 | KG | A | No | 5063089222041 | 1 | 5 | Chilled Food > Sandwiches, Snacks & Drinks > Lunch Ideas > Lunch Ideas | https://www.asda.com/groceries/product/7704077 | Meal Deal | Not returned | Not returned | Not returned | Not returned | 2025-09-17T00:00:00Z | 2033-09-17T23:59:59Z |
{
"items": [
{
"offer": "List",
"product": {
"avg_rating": 5,
"brand": "Exceptional by ASDA",
"category": "Meat, Poultry & Fish > Meat & Poultry > Beef > Beef Mince & Meatballs",
"cin": "9301558",
"currency": "GBP",
"gtin": "5063717061479",
"id": "SKU100537679",
"image_id": "5063717061479",
"image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/5063717061479",
"in_stock": true,
"name": "12 British Beef Meatballs 340g",
"offer": "List",
"pack_size": "340g",
"price": 4.97,
"price_per_uom": "£14.62/KG",
"price_per_uom_unit": "KG",
"price_per_uom_value": 14.61765,
"rating_count": 1,
"sales_type": "Each",
"status": "A",
"taxonomy": {
"AISLE_ID": "910000975528",
"AISLE_NAME": "Beef",
"CAT_ID": "1215135760597",
"CAT_NAME": "Meat, Poultry & Fish",
"DEPT_ID": "910000975206",
"DEPT_NAME": "Meat & Poultry",
"SHELF_ID": "910000977267",
"SHELF_NAME": "Beef Mince & Meatballs"
},
"url": "https://www.asda.com/groceries/product/9301558"
},
"promotions": [
{
"deal": {
"kind": "fixed_price",
"price": 12,
"quantity": 3
},
"end_at": "2028-10-12T23:59:59Z",
"end_unix": 1855007999,
"id": "10000740328",
"name": "Any 3 for £12",
"start_at": "2025-12-25T00:00:00Z",
"start_unix": 1766620800,
"type": 15
}
]
},
{
"offer": "List",
"product": {
"avg_rating": 5,
"brand": "Bom Bahia by ASDA",
"category": "Chilled Food > Ready Meals > Bom Bahia by ASDA > Bom Bahia by ASDA",
"cin": "9290615",
"currency": "GBP",
"gtin": "5063717000584",
"id": "SKU100534500",
"image_id": "5063717000584_T1",
"image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/5063717000584_T1",
"in_stock": true,
"name": "Mushroom Pilau 300g",
"offer": "List",
"pack_size": "300G",
"price": 3.5,
"price_per_uom": "£11.67/KG",
"price_per_uom_unit": "KG",
"price_per_uom_value": 11.66667,
"rating_count": 1,
"sales_type": "Each",
"status": "A",
"taxonomy": {
"AISLE_ID": "1215686355601",
"AISLE_NAME": "Bom Bahia by ASDA",
"CAT_ID": "1215660378320",
"CAT_NAME": "Chilled Food",
"DEPT_ID": "910000975205",
"DEPT_NAME": "Ready Meals",
"SHELF_ID": "1215686355602",
"SHELF_NAME": "Bom Bahia by ASDA"
},
"url": "https://www.asda.com/groceries/product/9290615"
},
"promotions": [
{
"end_at": "2099-12-31T23:59:59Z",
"end_unix": 4102444799,
"id": "10000991462",
"name": "Bom Bahia Dine In £12",
"open_ended": true,
"start_at": "2026-05-18T00:00:00Z",
"start_unix": 1779062400,
"type": 12
}
]
},
{
"offer": "List",
"product": {
"avg_rating": 5,
"brand": "KitKat",
"category": "Food Cupboard > Chocolates & Sweets > Small Chocolate Bars & Bags > Small Chocolate Bars & Bags",
"cin": "9271039",
"currency": "GBP",
"gtin": "3800020401262",
"id": "SKU100527700",
"image_id": "3800020401262",
"image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/3800020401262",
"in_stock": false,
"name": "Chunky Funky Chocolate Bar 40g",
"offer": "List",
"pack_size": "40g",
"price": 0.84,
"price_per_uom": "£21.00/KG",
"price_per_uom_unit": "KG",
"price_per_uom_value": 21,
"rating_count": 2,
"sales_type": "Each",
"status": "A",
"taxonomy": {
"AISLE_ID": "1215686353227",
"AISLE_NAME": "Small Chocolate Bars & Bags",
"CAT_ID": "1215337189632",
"CAT_NAME": "Food Cupboard",
"DEPT_ID": "1215279696813",
"DEPT_NAME": "Chocolates & Sweets",
"SHELF_ID": "910000976877",
"SHELF_NAME": "Small Chocolate Bars & Bags"
},
"url": "https://www.asda.com/groceries/product/9271039"
},
"promotions": [
{
"end_at": "2033-09-17T23:59:59Z",
"end_unix": 2010614399,
"id": "10000525573",
"name": "Meal Deal",
"start_at": "2025-09-17T00:00:00Z",
"start_unix": 1758067200,
"type": 12
}
]
},
{
"offer": "List",
"product": {
"avg_rating": 5,
"brand": "ASDA",
"category": "Chilled Food > Pizza, Pasta & Garlic Bread > Fresh Pizza > Snacking & Sides",
"cin": "9211052",
"currency": "GBP",
"gtin": "5063089751565",
"id": "1000383265069",
"image_id": "5063089751565",
"image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/5063089751565",
"in_stock": true,
"name": "Fiery Chilli Jam 55g",
"offer": "List",
"pack_size": "55G",
"price": 0.5,
"price_per_uom": "£9.09/KG",
"price_per_uom_unit": "KG",
"price_per_uom_value": 9.09091,
"rating_count": 2,
"sales_type": "Each",
"status": "A",
"taxonomy": {
"AISLE_ID": "910000975409",
"AISLE_NAME": "Fresh Pizza",
"CAT_ID": "1215660378320",
"CAT_NAME": "Chilled Food",
"DEPT_ID": "1215661254820",
"DEPT_NAME": "Pizza, Pasta & Garlic Bread",
"SHELF_ID": "1215682415594",
"SHELF_NAME": "Snacking & Sides"
},
"url": "https://www.asda.com/groceries/product/9211052"
},
"promotions": [
{
"end_at": "2027-04-25T23:59:59Z",
"end_unix": 1808697599,
"id": "10000949912",
"name": "Medium Pizza Deal £7",
"start_at": "2026-04-25T00:00:00Z",
"start_unix": 1777075200,
"type": 12
},
{
"end_at": "2028-09-01T23:59:59Z",
"end_unix": 1851465599,
"id": "10001130251",
"name": "Meal Deal",
"start_at": "2026-08-03T00:00:00Z",
"start_unix": 1785715200,
"type": 12
}
]
},
{
"offer": "List",
"product": {
"avg_rating": 5,
"brand": "ASDA",
"category": "Chilled Food > Sandwiches, Snacks & Drinks > Lunch Ideas > Lunch Ideas",
"cin": "7704077",
"currency": "GBP",
"gtin": "5063089222041",
"id": "1000383176144",
"image_id": "5063089222041",
"image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/5063089222041",
"in_stock": false,
"name": "Vegetable Sushi",
"offer": "List",
"pack_size": "67G",
"price": 1.65,
"price_per_uom": "£24.63/KG",
"price_per_uom_unit": "KG",
"price_per_uom_value": 24.62687,
"rating_count": 1,
"sales_type": "Each",
"status": "A",
"taxonomy": {
"AISLE_ID": "1215686353377",
"AISLE_NAME": "Lunch Ideas",
"CAT_ID": "1215660378320",
"CAT_NAME": "Chilled Food",
"DEPT_ID": "1215661252829",
"DEPT_NAME": "Sandwiches, Snacks & Drinks",
"SHELF_ID": "1215686353378",
"SHELF_NAME": "Lunch Ideas"
},
"url": "https://www.asda.com/groceries/product/7704077"
},
"promotions": [
{
"end_at": "2033-09-17T23:59:59Z",
"end_unix": 2010614399,
"id": "10000525573",
"name": "Meal Deal",
"start_at": "2025-09-17T00:00:00Z",
"start_unix": 1758067200,
"type": 12
}
]
}
],
"page": {
"algolia_page": 0,
"hits_per_page": 5,
"nb_hits": 5769,
"nb_pages": 1154,
"page": 1
}
}
{"capability":"asda.products.search","input":{"hits_per_page":5,"include_raw":false,"page":1,"query":"milk","store_id":"4565"}}
5 returned rows. Full response available as JSON.
| # | Product , Name of the returned product or taxonomy node. | Product ID , ASDA identifier; preserve it as text. | CIN , Catalog item number, retained separately from the product ID. | Brand , Brand supplied by the catalog; absent stays unknown. | Pack , ASDA’s pack-size expression; keep it alongside unit prices. | Pack price , Ordinary pack amount in the stated currency, before any separate multibuy calculation. | Currency , Currency code for monetary values. | Previous price , Previous price only when higher than the current amount; absence is not zero. | Price label , Ordinary price state: List, Rollback or Dropped; multibuy terms are separate. | Unit price , Original unit-price display, which can use pounds or pence. | Unit amount , Unit amount expressed in pounds. | Unit , Unit basis for the numeric amount, such as LT or KG. | Catalog status , A means active; I means delisted. This is separate from stock. | Store stock , Stock flag for the request’s store; absence is unknown. | GTIN , Barcode-like value derived from the catalog image identifier where available; keep as text. | Rating count , Number of ratings, not individual reviews. | Rating , Average supplied when ratings exist. | Category path , Product’s category hierarchy as returned. | ASDA page , ASDA product page linked by the catalog. |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | British Milk Semi Skimmed 2 Pints | 23423 | 538241 | ASDA | 2 PINT | 1.2 | GBP | Not returned | Dropped | £1.06/LT | 1.06195 | LT | A | Yes | 20411985 | 284 | 4.3486 | Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Semi Skimmed Milk | https://www.asda.com/groceries/product/538241 |
| 2 | British Whole Milk 2 Pints | 23421 | 538239 | ASDA | 2 PINT | 1.2 | GBP | Not returned | Dropped | £1.06/LT | 1.06195 | LT | A | Yes | 20411992 | 137 | 4.0949 | Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Whole Milk | https://www.asda.com/groceries/product/538239 |
| 3 | British Milk Skimmed 2 Pints | 23422 | 538240 | ASDA | 2 PINT | 1.2 | GBP | Not returned | Dropped | £1.06/LT | 1.06195 | LT | A | Yes | 20411978 | 119 | 3.9832 | Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Skimmed & 1% Fat Milk | https://www.asda.com/groceries/product/538240 |
| 4 | Arla Filtered Fresh Semi Skimmed Milk 1L Fresher for Longer | 32088739 | 2041527 | Cravendale | 1L | 1.64 | GBP | Not returned | Dropped | £1.64/LT | 1.64 | LT | A | Yes | 5000181024029 | 295 | 4.678 | Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Semi Skimmed Milk | https://www.asda.com/groceries/product/2041527 |
| 5 | Long Life Semi Skimmed Milk 6 x 1 Litre | 910000392661 | 3516819 | ASDA | 6X1L | 6 | GBP | 6.14 | Dropped | £1.00/LT | 1 | LT | A | Yes | 5051413682289 | 248 | 4.6089 | Chilled Food > Milk, Butter, Cream & Eggs > Long Life Milk > Long Life Milk | https://www.asda.com/groceries/product/3516819 |
{
"items": [
{
"avg_rating": 4.3486,
"brand": "ASDA",
"category": "Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Semi Skimmed Milk",
"cin": "538241",
"currency": "GBP",
"gtin": "20411985",
"id": "23423",
"image_id": "20411985",
"image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/20411985",
"in_stock": true,
"name": "British Milk Semi Skimmed 2 Pints",
"offer": "Dropped",
"pack_size": "2 PINT",
"price": 1.2,
"price_per_uom": "£1.06/LT",
"price_per_uom_unit": "LT",
"price_per_uom_value": 1.06195,
"rating_count": 284,
"sales_type": "Each",
"status": "A",
"taxonomy": {
"AISLE_ID": "1215339434886",
"AISLE_NAME": "Fresh Milk",
"CAT_ID": "1215660378320",
"CAT_NAME": "Chilled Food",
"DEPT_ID": "1215339432024",
"DEPT_NAME": "Milk, Butter, Cream & Eggs",
"SHELF_ID": "1215339438036",
"SHELF_NAME": "Semi Skimmed Milk"
},
"url": "https://www.asda.com/groceries/product/538241"
},
{
"avg_rating": 4.0949,
"brand": "ASDA",
"category": "Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Whole Milk",
"cin": "538239",
"currency": "GBP",
"gtin": "20411992",
"id": "23421",
"image_id": "20411992",
"image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/20411992",
"in_stock": true,
"name": "British Whole Milk 2 Pints",
"offer": "Dropped",
"pack_size": "2 PINT",
"price": 1.2,
"price_per_uom": "£1.06/LT",
"price_per_uom_unit": "LT",
"price_per_uom_value": 1.06195,
"rating_count": 137,
"sales_type": "Each",
"status": "A",
"taxonomy": {
"AISLE_ID": "1215339434886",
"AISLE_NAME": "Fresh Milk",
"CAT_ID": "1215660378320",
"CAT_NAME": "Chilled Food",
"DEPT_ID": "1215339432024",
"DEPT_NAME": "Milk, Butter, Cream & Eggs",
"SHELF_ID": "1215339437949",
"SHELF_NAME": "Whole Milk"
},
"url": "https://www.asda.com/groceries/product/538239"
},
{
"avg_rating": 3.9832,
"brand": "ASDA",
"category": "Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Skimmed & 1% Fat Milk",
"cin": "538240",
"currency": "GBP",
"gtin": "20411978",
"id": "23422",
"image_id": "20411978",
"image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/20411978",
"in_stock": true,
"name": "British Milk Skimmed 2 Pints",
"offer": "Dropped",
"pack_size": "2 PINT",
"price": 1.2,
"price_per_uom": "£1.06/LT",
"price_per_uom_unit": "LT",
"price_per_uom_value": 1.06195,
"rating_count": 119,
"sales_type": "Each",
"status": "A",
"taxonomy": {
"AISLE_ID": "1215339434886",
"AISLE_NAME": "Fresh Milk",
"CAT_ID": "1215660378320",
"CAT_NAME": "Chilled Food",
"DEPT_ID": "1215339432024",
"DEPT_NAME": "Milk, Butter, Cream & Eggs",
"SHELF_ID": "1215339442122",
"SHELF_NAME": "Skimmed & 1% Fat Milk"
},
"url": "https://www.asda.com/groceries/product/538240"
},
{
"avg_rating": 4.678,
"brand": "Cravendale",
"category": "Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Semi Skimmed Milk",
"cin": "2041527",
"currency": "GBP",
"gtin": "5000181024029",
"id": "32088739",
"image_id": "5000181024029",
"image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/5000181024029",
"in_stock": true,
"name": "Arla Filtered Fresh Semi Skimmed Milk 1L Fresher for Longer",
"offer": "Dropped",
"pack_size": "1L",
"price": 1.64,
"price_per_uom": "£1.64/LT",
"price_per_uom_unit": "LT",
"price_per_uom_value": 1.64,
"rating_count": 295,
"sales_type": "Each",
"status": "A",
"taxonomy": {
"AISLE_ID": "1215339434886",
"AISLE_NAME": "Fresh Milk",
"CAT_ID": "1215660378320",
"CAT_NAME": "Chilled Food",
"DEPT_ID": "1215339432024",
"DEPT_NAME": "Milk, Butter, Cream & Eggs",
"SHELF_ID": "1215339438036",
"SHELF_NAME": "Semi Skimmed Milk"
},
"url": "https://www.asda.com/groceries/product/2041527"
},
{
"avg_rating": 4.6089,
"brand": "ASDA",
"category": "Chilled Food > Milk, Butter, Cream & Eggs > Long Life Milk > Long Life Milk",
"cin": "3516819",
"currency": "GBP",
"gtin": "5051413682289",
"id": "910000392661",
"image_id": "5051413682289",
"image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/5051413682289",
"in_stock": true,
"name": "Long Life Semi Skimmed Milk 6 x 1 Litre",
"offer": "Dropped",
"pack_size": "6X1L",
"price": 6,
"price_per_uom": "£1.00/LT",
"price_per_uom_unit": "LT",
"price_per_uom_value": 1,
"rating_count": 248,
"sales_type": "Each",
"status": "A",
"taxonomy": {
"AISLE_ID": "1215339434934",
"AISLE_NAME": "Long Life Milk",
"CAT_ID": "1215660378320",
"CAT_NAME": "Chilled Food",
"DEPT_ID": "1215339432024",
"DEPT_NAME": "Milk, Butter, Cream & Eggs",
"SHELF_ID": "1215685671288",
"SHELF_NAME": "Long Life Milk"
},
"url": "https://www.asda.com/groceries/product/3516819",
"was_price": 6.14
}
],
"page": {
"algolia_page": 0,
"hits_per_page": 5,
"nb_hits": 383,
"nb_pages": 77,
"page": 1
}
}
{"capability":"asda.product.detail.get","input":{"id":"20504","include_raw":false,"store_id":"4565"}}
1 returned rows. Full response available as JSON.
| # | Product , Name of the returned product or taxonomy node. | Product ID , ASDA identifier; preserve it as text. | CIN , Catalog item number, retained separately from the product ID. | Brand , Brand supplied by the catalog; absent stays unknown. | Pack , ASDA’s pack-size expression; keep it alongside unit prices. | Pack price , Ordinary pack amount in the stated currency, before any separate multibuy calculation. | Currency , Currency code for monetary values. | Previous price , Previous price only when higher than the current amount; absence is not zero. | Price label , Ordinary price state: List, Rollback or Dropped; multibuy terms are separate. | Unit price , Original unit-price display, which can use pounds or pence. | Unit amount , Unit amount expressed in pounds. | Unit , Unit basis for the numeric amount, such as LT or KG. | Catalog status , A means active; I means delisted. This is separate from stock. | Store stock , Stock flag for the request’s store; absence is unknown. | GTIN , Barcode-like value derived from the catalog image identifier where available; keep as text. | Rating count , Number of ratings, not individual reviews. | Rating , Average supplied when ratings exist. | Category path , Product’s category hierarchy as returned. | ASDA page , ASDA product page linked by the catalog. |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | British Milk Semi Skimmed 4 Pints | 20504 | 165468 | ASDA | 4 PINT | 1.65 | GBP | Not returned | List | 72.6p/LT | 0.72591 | LT | A | Yes | 20337087 | 1045 | 4.1694 | Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Semi Skimmed Milk | https://www.asda.com/groceries/product/165468 |
{
"product": {
"avg_rating": 4.1694,
"brand": "ASDA",
"category": "Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Semi Skimmed Milk",
"cin": "165468",
"currency": "GBP",
"details": {
"country": [
"Packed In : United Kingdom"
],
"dietary_flags": {
"Halal": false,
"HighFibre": false,
"Kosher": false,
"LowFat": false,
"LowSalt": false,
"LowSaturatedFat": false,
"LowSugar": false,
"NoCeleryincludingceleriac": true,
"NoEgg": true,
"NoFish": true,
"NoGluten": true,
"NoLactose": false,
"NoLupin": true,
"NoMilk": false,
"NoMustard": true,
"NoNuts": true,
"NoPeanuts": true,
"NoSesame": true,
"NoShellfish": true,
"NoSoya": true,
"Ofaday": false,
"SourceofFibre": false,
"Vegan": false,
"Vegetarian": true
},
"max_qty": 24,
"prices_by_nation": {
"EN": {
"offer": "List",
"price": 1.65,
"price_per_uom": "72.6p/LT"
},
"NI": {
"offer": "List",
"price": 1.65,
"price_per_uom": "72.6p/LT"
},
"SC": {
"offer": "List",
"price": 1.65,
"price_per_uom": "72.6p/LT"
},
"WA": {
"offer": "List",
"price": 1.65,
"price_per_uom": "72.6p/LT"
}
}
},
"gtin": "20337087",
"id": "20504",
"image_id": "20337087",
"image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/20337087",
"in_stock": true,
"name": "British Milk Semi Skimmed 4 Pints",
"offer": "List",
"pack_size": "4 PINT",
"price": 1.65,
"price_per_uom": "72.6p/LT",
"price_per_uom_unit": "LT",
"price_per_uom_value": 0.72591,
"rating_count": 1045,
"sales_type": "Each",
"status": "A",
"taxonomy": {
"AISLE_ID": "1215339434886",
"AISLE_NAME": "Fresh Milk",
"CAT_ID": "1215660378320",
"CAT_NAME": "Chilled Food",
"DEPT_ID": "1215339432024",
"DEPT_NAME": "Milk, Butter, Cream & Eggs",
"SHELF_ID": "1215339438036",
"SHELF_NAME": "Semi Skimmed Milk"
},
"url": "https://www.asda.com/groceries/product/165468"
}
}
{"capability":"asda.category.products.list","input":{"aisle":"Fresh Milk","category":"Chilled Food","department":"Milk, Butter, Cream & Eggs","hits_per_page":5,"include_raw":false}}
5 returned rows. Full response available as JSON.
| # | Product , Name of the returned product or taxonomy node. | Product ID , ASDA identifier; preserve it as text. | CIN , Catalog item number, retained separately from the product ID. | Brand , Brand supplied by the catalog; absent stays unknown. | Pack , ASDA’s pack-size expression; keep it alongside unit prices. | Pack price , Ordinary pack amount in the stated currency, before any separate multibuy calculation. | Currency , Currency code for monetary values. | Previous price , Previous price only when higher than the current amount; absence is not zero. | Price label , Ordinary price state: List, Rollback or Dropped; multibuy terms are separate. | Unit price , Original unit-price display, which can use pounds or pence. | Unit amount , Unit amount expressed in pounds. | Unit , Unit basis for the numeric amount, such as LT or KG. | Catalog status , A means active; I means delisted. This is separate from stock. | Store stock , Stock flag for the request’s store; absence is unknown. | GTIN , Barcode-like value derived from the catalog image identifier where available; keep as text. | Rating count , Number of ratings, not individual reviews. | Rating , Average supplied when ratings exist. | Category path , Product’s category hierarchy as returned. | ASDA page , ASDA product page linked by the catalog. |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Organic Fresh Whole Milk 3.52 Pints/2L | 12970572 | 1767599 | Dale Farm | 2L | 2.34 | GBP | Not returned | List | £1.17/LT | 1.17 | LT | A | No | 5000245006640 | 1 | 5 | Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Whole Milk | https://www.asda.com/groceries/product/1767599 |
| 2 | Organic Semi-Skimmed 1 Litre | 1000361202367 | 7306256 | Graham's | 1L | 1.62 | GBP | Not returned | List | £1.62/LT | 1.62 | LT | A | No | 5025840001050 | 5 | 5 | Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Semi Skimmed Milk | https://www.asda.com/groceries/product/7306256 |
| 3 | Cornish Whole Milk 1 Litre | 910000456050 | 3660004 | Trewithen Dairy | 1L | 1.52 | GBP | Not returned | List | £1.52/LT | 1.52 | LT | I | No | 5027756001124 | 3 | 5 | Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Whole Milk | https://www.asda.com/groceries/product/3660004 |
| 4 | Cornish Semi-Skimmed Milk 2 Litres | 910000455787 | 3660002 | Trewithen Dairy | 2L | 2.28 | GBP | Not returned | List | £1.14/LT | 1.14 | LT | I | No | 5027756002145 | 3 | 5 | Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Semi Skimmed Milk | https://www.asda.com/groceries/product/3660002 |
| 5 | Organic Fresh Semi-Skimmed Milk 3.52 Pints/2L | 12970570 | 1767595 | Dale Farm | 2L | 2.34 | GBP | Not returned | List | £1.17/LT | 1.17 | LT | A | No | 5000245006664 | 1 | 5 | Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Semi Skimmed Milk | https://www.asda.com/groceries/product/1767595 |
{
"items": [
{
"avg_rating": 5,
"brand": "Dale Farm",
"category": "Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Whole Milk",
"cin": "1767599",
"currency": "GBP",
"gtin": "5000245006640",
"id": "12970572",
"image_id": "5000245006640",
"image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/5000245006640",
"in_stock": false,
"name": "Organic Fresh Whole Milk 3.52 Pints/2L",
"offer": "List",
"pack_size": "2L",
"price": 2.34,
"price_per_uom": "£1.17/LT",
"price_per_uom_unit": "LT",
"price_per_uom_value": 1.17,
"rating_count": 1,
"sales_type": "Each",
"status": "A",
"taxonomy": {
"AISLE_ID": "1215339434886",
"AISLE_NAME": "Fresh Milk",
"CAT_ID": "1215660378320",
"CAT_NAME": "Chilled Food",
"DEPT_ID": "1215339432024",
"DEPT_NAME": "Milk, Butter, Cream & Eggs",
"SHELF_ID": "1215339437949",
"SHELF_NAME": "Whole Milk"
},
"url": "https://www.asda.com/groceries/product/1767599"
},
{
"avg_rating": 5,
"brand": "Graham's",
"category": "Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Semi Skimmed Milk",
"cin": "7306256",
"currency": "GBP",
"gtin": "5025840001050",
"id": "1000361202367",
"image_id": "5025840001050",
"image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/5025840001050",
"in_stock": false,
"name": "Organic Semi-Skimmed 1 Litre",
"offer": "List",
"pack_size": "1L",
"price": 1.62,
"price_per_uom": "£1.62/LT",
"price_per_uom_unit": "LT",
"price_per_uom_value": 1.62,
"rating_count": 5,
"sales_type": "Each",
"status": "A",
"taxonomy": {
"AISLE_ID": "1215339434886",
"AISLE_NAME": "Fresh Milk",
"CAT_ID": "1215660378320",
"CAT_NAME": "Chilled Food",
"DEPT_ID": "1215339432024",
"DEPT_NAME": "Milk, Butter, Cream & Eggs",
"SHELF_ID": "1215339438036",
"SHELF_NAME": "Semi Skimmed Milk"
},
"url": "https://www.asda.com/groceries/product/7306256"
},
{
"avg_rating": 5,
"brand": "Trewithen Dairy",
"category": "Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Whole Milk",
"cin": "3660004",
"currency": "GBP",
"gtin": "5027756001124",
"id": "910000456050",
"image_id": "5027756001124",
"image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/5027756001124",
"in_stock": false,
"name": "Cornish Whole Milk 1 Litre",
"offer": "List",
"pack_size": "1L",
"price": 1.52,
"price_per_uom": "£1.52/LT",
"price_per_uom_unit": "LT",
"price_per_uom_value": 1.52,
"rating_count": 3,
"sales_type": "Each",
"status": "I",
"taxonomy": {
"AISLE_ID": "1215339434886",
"AISLE_NAME": "Fresh Milk",
"CAT_ID": "1215660378320",
"CAT_NAME": "Chilled Food",
"DEPT_ID": "1215339432024",
"DEPT_NAME": "Milk, Butter, Cream & Eggs",
"SHELF_ID": "1215339437949",
"SHELF_NAME": "Whole Milk"
},
"url": "https://www.asda.com/groceries/product/3660004"
},
{
"avg_rating": 5,
"brand": "Trewithen Dairy",
"category": "Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Semi Skimmed Milk",
"cin": "3660002",
"currency": "GBP",
"gtin": "5027756002145",
"id": "910000455787",
"image_id": "5027756002145",
"image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/5027756002145",
"in_stock": false,
"name": "Cornish Semi-Skimmed Milk 2 Litres",
"offer": "List",
"pack_size": "2L",
"price": 2.28,
"price_per_uom": "£1.14/LT",
"price_per_uom_unit": "LT",
"price_per_uom_value": 1.14,
"rating_count": 3,
"sales_type": "Each",
"status": "I",
"taxonomy": {
"AISLE_ID": "1215339434886",
"AISLE_NAME": "Fresh Milk",
"CAT_ID": "1215660378320",
"CAT_NAME": "Chilled Food",
"DEPT_ID": "1215339432024",
"DEPT_NAME": "Milk, Butter, Cream & Eggs",
"SHELF_ID": "1215339438036",
"SHELF_NAME": "Semi Skimmed Milk"
},
"url": "https://www.asda.com/groceries/product/3660002"
},
{
"avg_rating": 5,
"brand": "Dale Farm",
"category": "Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Semi Skimmed Milk",
"cin": "1767595",
"currency": "GBP",
"gtin": "5000245006664",
"id": "12970570",
"image_id": "5000245006664",
"image_url": "https://asdagroceries.scene7.com/is/image/asdagroceries/5000245006664",
"in_stock": false,
"name": "Organic Fresh Semi-Skimmed Milk 3.52 Pints/2L",
"offer": "List",
"pack_size": "2L",
"price": 2.34,
"price_per_uom": "£1.17/LT",
"price_per_uom_unit": "LT",
"price_per_uom_value": 1.17,
"rating_count": 1,
"sales_type": "Each",
"status": "A",
"taxonomy": {
"AISLE_ID": "1215339434886",
"AISLE_NAME": "Fresh Milk",
"CAT_ID": "1215660378320",
"CAT_NAME": "Chilled Food",
"DEPT_ID": "1215339432024",
"DEPT_NAME": "Milk, Butter, Cream & Eggs",
"SHELF_ID": "1215339438036",
"SHELF_NAME": "Semi Skimmed Milk"
},
"url": "https://www.asda.com/groceries/product/1767595"
}
],
"page": {
"algolia_page": 0,
"hits_per_page": 5,
"nb_hits": 109,
"nb_pages": 22,
"page": 1
}
}
{"capability":"asda.categories.list","input":{"category":"Chilled Food","department":"Milk, Butter, Cream & Eggs","depth":2,"include_raw":false,"store_id":"4565"}}
1 returned rows. Full response available as JSON.
| # | Department , Name of the returned product or taxonomy node. | Category ID , ASDA identifier; preserve it as text. | Category path , Exact taxonomy path for choosing category and department inputs. | Depth , Level of this node in the category hierarchy. | Catalog count , Count reported for the category, not a stock count. |
|---|---|---|---|---|---|
| 1 | Milk, Butter, Cream & Eggs | 1215339432024 | Chilled Food > Milk, Butter, Cream & Eggs | 2 | 837 |
{
"categories": [
{
"depth": 2,
"id": "1215339432024",
"name": "Milk, Butter, Cream & Eggs",
"path": "Chilled Food > Milk, Butter, Cream & Eggs",
"product_count": 837
}
],
"store_id": "4565"
}
These distinctions keep a promotion report from overstating savings or availability.
ASDA’s ordinary offer label describes the pack price. Multibuy conditions live separately, so a List label does not rule out a quantity offer.
For a fixed-price multibuy, compare the bundle amount with the cost of buying that quantity at the pack price. Preserve the original offer wording.
Keep offer start and end times beside the observation. An open-ended marker represents an unspecified end; a missing date does not establish an expiry.
The catalog status says whether a listing is active or delisted. The store-specific stock flag can be false even for an active listing.
Pass the same store ID throughout a comparison. A missing stock flag stays unknown; it does not establish that a product is unavailable.
ASDA’s unit-price text can use pence or pounds. The numeric unit-price value uses pounds; keep its litre, kilogram or item basis beside it.
Category, department and aisle inputs follow the returned names. An aisle needs its department, and a department needs its category.
Detail adds published nation prices and catalog flags where supplied. It does not provide a full ingredient panel, individual reviews or a shopper’s basket.
Ask for the quantity condition as well as the apparent saving. The prompts below use the same requests as the examples.
Using Upscrape, request five active ASDA multibuy products for store 4565. Show each pack price beside its required quantity and bundle terms. Keep the original offer text and dates; do not treat the bundle total as a single-pack price.
Using Upscrape, request five ASDA Rollback products. Show pack size, current price and any higher previous price. Keep the catalog status and store context in the report; do not manufacture a saving when the previous amount is absent.
Using Upscrape, search ASDA for milk in store 4565 with five results. Compare matching litre-based unit prices, retaining pack sizes and product IDs. Leave missing stock flags unknown.
Using Upscrape, inspect Milk, Butter, Cream & Eggs under Chilled Food at depth 2, then collect five Fresh Milk aisle products. Preserve the category path and product identifiers so the report can be repeated.
Using Upscrape, look up ASDA product 20504 for store 4565. Show its pack amount, unit basis and the EN, NI, SC and WA price entries where supplied. Keep dietary flags separate from ingredients; no ingredient panel is supplied here.
Start with the decision your pricing or category team needs to make.
Trade-marketing teams separate the ordinary price from the offer’s required quantity before describing a saving.
Promotion analysts request Rollbacks directly, then retain product IDs and pack sizes for their next comparison.
Pricing teams use the numeric unit amount and its unit to compare milk packs of different sizes.
Category analysts check the catalog status and use active-only requests when building a report of current listings.
Retail analysts keep the chosen store ID beside the returned flag, leaving missing stock information unknown.
Assortment teams read the relevant department’s category path before collecting its product pages.
Brand teams save repeated product-ID observations and compare the pack amount and offer terms with their own earlier records.
Data teams preserve the returned EN, NI, SC and WA entries instead of assuming one observed amount applies everywhere.
Check the offer rules, store context and page limits before collecting more products.
This is Upscrape’s ASDA grocery data API. Your Upscrape key accesses the product, category and offer operations shown here. It does not sign in to an ASDA shopping account. Use the working request examples and reference to evaluate the data your integration will receive. ASDA API reference
Yes. Select rollback, price_drop or multibuy in promotion_type. The all option combines those groups, with Rollbacks appearing first. A multibuy’s terms are separate from the ordinary offer label, so inspect the promotions entries even when the product’s offer value is List. ASDA API reference
No. The product price remains the ordinary pack amount. A recognised quantity offer can also contain a bundle price or a pay-for quantity. Keep both values and the original description. A named offer without structured deal terms needs interpretation rather than an invented numeric discount. ASDA API reference
Use a store ID for stock context; these operations do not resolve a postcode to a store. Requests default to store 4565 when store_id is absent. The returned in_stock flag belongs to that context, and an omitted flag means unknown. It does not confirm a delivery slot or checkout eligibility. ASDA API reference
Listings include catalog records with both active and delisted status by default. Set active_only to true on search, category products or promotions to keep active records. The main example uses that filter. An active product can still be out of stock for the store you selected. ASDA API reference
Yes. Supply category and department names and set depth to the level you need. The example requests Milk, Butter, Cream & Eggs under Chilled Food at depth 2. Use returned paths for product browsing; a department input requires its category, and an aisle input requires its department. ASDA API reference
Search, category products and promotions accept hits_per_page up to 60, with a default of 24. Page numbers begin at 1. Keep the page size fixed when advancing and inspect the returned page counts. A paginated collection records observations made at different times, rather than a frozen catalog. ASDA API reference
Product detail accepts an ASDA product ID or CIN, another catalog identifier, in id. Numeric values can match either; an exact product-ID match takes precedence. SKU-prefixed IDs match the product ID. Retain both returned identifiers as text so later observations can be joined without relying on names. ASDA API reference
Detail is a catalog record with dietary flags and published price information where supplied. It does not include a full ingredient or nutrition panel, nor individual review text. A rating average and count may be present. Keep missing attributes unknown, and check the JSON example against the fields your report needs. ASDA API reference
The numeric unit-price amount is expressed in pounds, while the display text can use pounds or pence. Compare amounts only when their units match, such as litre with litre. Keep pack size and the original display string too; the ordinary unit price does not automatically describe a multibuy. ASDA API reference
Yes. The request panel includes Python, cURL and Node.js examples for the same REST operation. Supported agent clients can connect through Upscrape MCP. Use the downloadable skill to preserve offer conditions and store IDs, and give your agent a collection limit before asking it to page through results. ASDA API reference
Eligible new accounts receive up to 100 free credits, and failed requests are not charged. Each operation card shows its current catalog price. List quotes depend on the requested page size. Begin with a small offer or search request, then inspect the data before planning a larger collection. ASDA API reference
These operations read catalog observations. They do not place orders, access Rewards balances or supply a historical price dataset. Save repeated results with their collection times to build your own history, keeping the product identifier, store context and offer conditions together so comparisons remain meaningful. ASDA API reference
Try the ASDA API on one offer type and inspect the pack price beside its quantity condition. Eligible new accounts receive up to 100 free credits.