asda.com APIasda.com ↗
Access ASDA's grocery catalog via 6 endpoints: search products, browse categories, get pricing, promotions, and customer reviews in structured JSON.
curl -X GET 'https://api.parse.bot/scraper/2fda71be-d876-4595-b859-b1dacfb5a8a0/search_products?page=0&limit=3&query=milk' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products by keyword. Returns paginated product listings with price, package size, availability, and promotions.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (0-indexed) |
| limit | integer | Max results per page |
| queryrequired | string | Search keyword |
{
"type": "object",
"fields": {
"page": "integer current page number",
"items": "array of product objects with id, cin, name, brand, price, original_price, price_per_unit, uom, package_size, rating, review_count, availability, promotions, image_url, url, category, is_frozen",
"total": "integer total number of matching products",
"total_pages": "integer total number of pages"
},
"sample": {
"data": {
"page": 0,
"items": [
{
"id": "20504",
"cin": "165468",
"uom": null,
"url": "https://www.asda.com/groceries/product/semi-skimmed-milk/british-milk-semi-skimmed-4-pints/20504",
"name": "British Milk Semi Skimmed 4 Pints",
"brand": "ASDA",
"price": 1.65,
"rating": 4.1926,
"category": "Semi Skimmed Milk",
"image_url": "https://ui.assets-asda.com/dm/asda/20337087?defaultImage=asda-ghs-less&resMode=sharp2&id=v16pY1&fmt=jpg&fit=constrain,1&wid=288&hei=288",
"is_frozen": false,
"promotions": [],
"availability": "In Stock",
"package_size": "4 PINT",
"review_count": 1033,
"original_price": null,
"price_per_unit": null
}
],
"total": 183,
"total_pages": 61
},
"status": "success"
}
}About the asda.com API
The ASDA API gives developers structured access to ASDA's online grocery catalog through 6 endpoints covering product search, category browsing, product details, customer reviews, and Rollback price offers. The search_products endpoint returns paginated results including current price, original price, price-per-unit, package size, brand, and aggregate ratings — all in GBP — letting you query the full ASDA range by keyword.
Product Search and Category Browsing
The search_products endpoint accepts a query string plus optional page (0-indexed) and limit parameters, returning an items array of product objects alongside total and total_pages for pagination. Each product includes id, cin (catalog number), name, brand, price, original_price, price_per_unit, uom, package_size, rating, and review_count. The get_category_products endpoint mirrors this structure but takes a category_id instead of a keyword — use list_categories first to retrieve valid IDs.
Category Hierarchy and Product Details
list_categories returns the full ASDA grocery taxonomy as a flattened list, with each entry carrying an id, name, type (one of top_category, department, aisle, or shelf), and parent_id for reconstructing the tree. get_product_details takes a single product_id and returns extended fields not present in list results: url (the canonical product page on asda.com), image_url, category (shelf name), and nullable uom and rating.
Reviews and Promotions
get_product_reviews returns up to 20 recent reviews sorted by submission date descending. Each review object includes title, text, rating, date, user, is_recommended, and helpful_votes. The response also exposes total_reviews, average_rating out of 5, and a rating_distribution array with per-star RatingValue and Count breakdowns. get_rollback_offers surfaces products currently under Rollback pricing — filtered to those where original_price is greater than zero — paginated with the same structure as the search and category endpoints.
- Track ASDA Rollback promotions daily and alert users when specific products drop in price using
original_pricevspricefields. - Build a grocery price comparison tool using
price_per_unitanduomfields fromsearch_products. - Reconstruct ASDA's full category tree from
list_categoriesto power a browsable storefront or navigation component. - Aggregate
rating_distributiondata fromget_product_reviewsto surface highest-reviewed products in a category. - Monitor stock availability and pricing shifts for a defined set of product IDs using
get_product_details. - Enrich a meal-planning app with ASDA product data by matching recipe ingredients to keyword search results and returning
package_sizeandprice. - Collect
is_recommendedandhelpful_votessignals from reviews to rank products for a grocery recommendation engine.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does ASDA have an official public developer API?+
What does `get_product_details` return beyond what `search_products` already includes?+
get_product_details adds fields not present in list results: url (the canonical asda.com product page), image_url, and category (the shelf-level category name). The search and category endpoints omit these fields and focus on fields useful for comparison — price, brand, package size, and ratings.How many reviews does `get_product_reviews` return, and can I paginate through all of them?+
total_reviews and average_rating as aggregate figures regardless of review volume. You can fork the API on Parse and revise it to add paginated review retrieval if you need access to older reviews.Does the API cover ASDA's George clothing or non-grocery departments?+
How are category IDs structured, and how do I find the right one to use with `get_category_products`?+
list_categories first — it returns every category in the hierarchy with an id, name, type, and parent_id. The type field distinguishes between top_category, department, aisle, and shelf levels. Pass any returned id directly to get_category_products as the category_id parameter. Shelf-level IDs tend to return the most targeted product sets.