↑ ↓ to move ↵ to open
Asda API · Endpoint

Asda Category Products API

Copy category, department and aisle names from the category tree, then page through the matching products.

  • 1–10 credits per call
  • Failed calls are free
  • Updated
  • asda.category.products.list
Response completed
{  "page": {    "algolia_page": 0,    "hits_per_page": 5,    "nb_hits": 109,    "nb_pages": 22,    "page": 1  },  "items": [    {      "name": "Organic Fresh Whole Milk 3.52 Pints/2L",      "price": 2.34,      "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,      "offer": "List",      "pack_size": "2L",      "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",      "url": "https://www.asda.com/groceries/product/1767599",      "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"      }    },    {      "name": "Organic Semi-Skimmed 1 Litre",      "price": 1.62,      "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,      "offer": "List",      "pack_size": "1L",      "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",      "url": "https://www.asda.com/groceries/product/7306256",      "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"      }    }  ]}
Try it live, free
Input

What you send

The input object of the request, with every field the endpoint accepts.

  • Category, department and aisle take the names the categories endpoint returns. An aisle needs its department, and a department needs its category.
  • Lists include delisted products unless you turn on the active-only option.
  • Up to 60 products come back a page, 24 by default, and pages start at 1. Keep the page size the same as you move through the pages.
FieldTypeRequiredWhat it doesExample
category string yes Exact top-level category name returned by asda.categories.list Chilled Food
active_only boolean no Return only products ASDA lists as active (STATUS "A"). Default false keeps delisted products (STATUS "I") so listings are complete. Default: false.
aisle string no Optional exact aisle name; department is required when aisle is set Fresh Milk
department string no Optional exact department name within the category Milk, Butter, Cream & Eggs
hits_per_page integer no Number of results per page. From 1 to 60. Default: 24. 5
include_raw boolean no Include ASDA's unprocessed Algolia response under raw (large: ~150 KB per 60 products). Set false for normalized fields only. Default: true. false
page integer no 1-based results page At least 1. Default: 1.
store_id string no Asda store id used for stock boosting and in_stock flags Default: 4565.
Response

Fields it returns

What each record in the response holds, with the values from the sample above.

FieldTypeWhat it isExample
items[].name string Name of the returned product or taxonomy node. Organic Fresh Whole Milk 3.52 Pints/2L
items[].id string ASDA identifier; preserve it as text. 12970572
items[].cin string Catalog item number, retained separately from the product ID. 1767599
items[].brand string Brand supplied by the catalog; absent stays unknown. Dale Farm
items[].pack_size string ASDA’s pack-size expression; keep it alongside unit prices. 2L
items[].price number Ordinary pack amount in the stated currency, before any separate multibuy calculation. 2.34
items[].currency string Currency code for monetary values. GBP
items[].offer string Ordinary price state: List, Rollback or Dropped; multibuy terms are separate. List
items[].price_per_uom string Original unit-price display, which can use pounds or pence. £1.17/LT
items[].price_per_uom_value number Unit amount expressed in pounds. 1.17
items[].price_per_uom_unit string Unit basis for the numeric amount, such as LT or KG. LT
items[].status string A means active; I means delisted. This is separate from stock. A
items[].in_stock boolean Stock flag for the request’s store; absence is unknown. false
items[].gtin string Barcode-like value read from the catalog image name where available; keep it as text. 5000245006640
items[].rating_count integer Number of ratings, not individual reviews. 1
items[].avg_rating integer Average supplied when ratings exist. 5
items[].category string Product’s category hierarchy as returned. Chilled Food > Milk, Butter, Cream & Eggs > Fresh Milk > Whole …
items[].url string ASDA product page linked by the catalog. https://www.asda.com/groceries/product/1767599
items[].image_id string ASDA's image ID for the product picture. 5000245006640
items[].image_url string Link to the product image. https://asdagroceries.scene7.com/is/image/asdagroceries/5000245…
items[].sales_type string How the product is sold, such as Each or by weight. Each
items[].taxonomy object Where the product sits in ASDA's catalogue, from category down to shelf. 8 fields
items[].taxonomy.AISLE_ID string ASDA's ID for the aisle the product sits in. 1215339434886
items[].taxonomy.AISLE_NAME string The aisle name, such as Fresh Milk. Fresh Milk
items[].taxonomy.CAT_ID string ASDA's ID for the top-level category. 1215660378320
items[].taxonomy.CAT_NAME string The top-level category name, such as Chilled Food. Chilled Food
items[].taxonomy.DEPT_ID string ASDA's ID for the department. 1215339432024
items[].taxonomy.DEPT_NAME string The department name, such as Milk, Butter, Cream & Eggs. Milk, Butter, Cream & Eggs
items[].taxonomy.SHELF_ID string ASDA's ID for the shelf. 1215339437949
items[].taxonomy.SHELF_NAME string The shelf name, such as Whole Milk. Whole Milk
items array The products returned. 5 records
page object Page details for the results: size, totals and position. 5 fields
page.algolia_page integer The results page number in ASDA's own search, counted from 0. 0
page.hits_per_page integer How many products each page holds. 5
page.nb_hits integer How many products match in total. 109
page.nb_pages integer How many pages of results there are in total. 22
page.page integer Page details for the results: size, totals and position. 1
REST API · MCP server

Call it from your code, or ask your agent

Set UPSCRAPE_API_KEY to your key and copy a working request.

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.category.products.list",  "input": {    "aisle": "Fresh Milk",    "category": "Chilled Food",    "department": "Milk, Butter, Cream & Eggs",    "hits_per_page": 5,    "include_raw": false  }}'
In your AI agent Claude · Cursor · any MCP client
1Add the Upscrape MCP server
https://data.upscrape.com/mcp
2Ask for the data in plain words

With Upscrape, get the Asda category products for aisle "Fresh Milk", category "Chilled Food" and department "Milk, Butter, Cream & Eggs". Tell me what it costs before you run it, then show the results as a table.

The agent finds the endpoint, shows you the price, and runs it with your credits.
Asda

More from the Asda API

Same data, other platforms

The same data from other platforms

Questions

Asda Category Products API FAQ

The short answers. The docs have the long ones.

Still have a question? Talk to the people who build the endpoints.
How much does the Asda Category Products API cost?

1–10 credits per successful call, shown before it runs. You buy credits once, and paid credits never expire.

What do I send?

Send category. The input fields below list every option with its type and limits.

Do I need an Asda login?

No. It reads public Asda data; nothing runs on your account.

Can my AI agent call it?

Yes, over MCP: the agent finds asda.category.products.list, checks its price and runs it with the same credits as the REST API.

Get started

Your first Asda call is free.

Up to 100 free credits to start, no card needed.