Aldi UK Categories API
Browse the public Aldi UK grocery category taxonomy to discover categories for shelf product listings.
ReturnsJSON; every field is in the API referenceCompare Aldi UK grocery prices, pack sizes and public price drops.
What each one takes and what it returns. Open one for a real response, every input and every field.
Browse the public Aldi UK grocery category taxonomy to discover categories for shelf product listings.
ReturnsJSON; every field is in the API referenceList products from a Aldi UK grocery category with published prices and supported listing continuation.
Sendcategory_id
Returnshas_nextpageproductstotal_count
Refresh a Aldi UK product by its ID or official URL with published shelf prices, unit prices and offers.
Sendretailer_product_idorurl
Returnsproduct
Search the public Aldi UK catalogue by keyword, preserving storefront ranking.
Sendquery
Returnshas_nextpageproductstotal_count
Browse products and offers in the public Aldi UK promotions collection with published price and deal information.
Returnshas_nextpageproductstotal_count
Every endpoint shows its price in credits before it runs. You buy credits once, with no subscription.
Credit packs| Per call | Endpoints |
|---|---|
| 1 credit | CategoriesProduct detail |
| 5 credits | Category productsGrocery products searchPrice drops |
One request shape for every Aldi UK endpoint: the endpoint ID and its input. No SDK needed.
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": "aldi.product.detail.get", "input": { "retailer_product_id": "000000000000416713" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "aldi.product.detail.get", "input": { "retailer_product_id": "000000000000416713" }}''')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": "aldi.product.detail.get", "input": { "retailer_product_id": "000000000000416713" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
{ "product": { "name": "Semi Skimmed Milk 1.7% Fat", "available": null, "brand": "COWBELLE", "gtin": null, "image": "https://dm.emea.cms.aldi.cx/is/image/aldiprodeu/product/jpg/scaleWidth/500/fa1bf699-a7a0-40fe-9362-1ce0e46f7434/Semi%20Skimmed%20Milk%201.7…", "pack_size": "3.41 L", "retailer_product_id": "000000000000416713", "price": { "amount": 2.4, "currency": "GBP" }, "unit_price": { "amount": 0.7, "currency": "GBP", "unit": "per_litre" }, "member_prices": [], "promotions": [] }}
https://data.upscrape.com/mcp
With Upscrape, get the Aldi UK product detail for retailer product id "000000000000416713". Tell me what it costs before you run it, then show the results as a table.
The short answers. The docs have the long ones.
Categories, category products, product detail, grocery products search and price drops. Each is its own endpoint with a published input schema, and the response is JSON.
Aldi UK endpoints cost from 1 credit per successful call, each priced before it runs. You buy credits once, with no subscription, and paid credits never expire. New accounts get free credits to try it.
No. Upscrape reads the pages Aldi UK shows to any visitor, so you send the input the endpoint asks for and get the data back. Nothing runs on your account, and you share no password or cookie.
Yes. Connect any MCP client to the Upscrape MCP server with OAuth or an API key. The agent finds the Aldi UK endpoint, checks its price and runs it with the same credits as the REST API.
Upscrape reads public pages only and needs no login. How you use the data is yours to decide under the laws that apply to you; we sign a data processing agreement for your legal review.
We fix the endpoint. Your request and the response fields stay the same.
Up to 100 free credits to start, no card needed.