tesco.com APItesco.com ↗
Access Tesco's grocery catalog via API: search products, browse categories, get nutrition and allergen data, ingredients, promotions, and customer reviews.
curl -X GET 'https://api.parse.bot/scraper/f638033e-e80b-4d9a-9bd7-09fbd184bef1/search_products?page=1&count=3&query=milk' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products by keyword in the Tesco grocery catalog. Returns paginated results with product details including pricing, promotions, and ratings.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number to retrieve |
| count | integer | Number of items to return per page |
| queryrequired | string | Search keyword (e.g. 'milk', 'bread', 'lactose free milk') |
{
"type": "object",
"fields": {
"products": "array of product objects with id, tpnc, tpnb, gtin, title, brand, description, image_url, department info, price, unit_price, unit_of_measure, promotions, rating, review_count, url",
"pagination": "object with total, page, count, pageSize"
},
"sample": {
"data": {
"products": [
{
"id": "262586694",
"url": "https://www.tesco.com/groceries/en-GB/products/262586694",
"gtin": "05036589201601",
"tpnb": "61332466",
"tpnc": "262586694",
"aisle": "Milk",
"brand": "Yeo Valley",
"price": 3.15,
"shelf": "Whole Milk",
"title": "Yeo Valley Organic Fresh Whole Milk 2L",
"rating": 4.7,
"image_url": "https://digitalcontent.api.tesco.com/v2/media/ghs/e998f2b5-e3bc-40c7-a2fb-2a7e20f9b99b/d4430efb-6e4c-4b15-9fce-6064676b473a.jpeg?h=225&w=225",
"department": "Milk, Butter & Eggs",
"promotions": [
"£2.25 Clubcard Price"
],
"unit_price": 1.58,
"description": null,
"review_count": 134,
"unit_of_measure": "litre",
"super_department": "Fresh Food"
}
],
"pagination": {
"page": 1,
"count": 7,
"total": 415,
"pageSize": 3
}
},
"status": "success"
}
}About the tesco.com API
The Tesco API covers 4 endpoints that expose Tesco's grocery catalog, including product search, category browsing, detailed product pages, and autocomplete suggestions. The get_product_details endpoint returns over a dozen structured fields per product — ingredients, allergen info, nutrition data, storage instructions, recycling info, promotions with date ranges, and paginated customer reviews with ratings and author text.
Product Search and Category Browsing
The search_products endpoint accepts a query string (e.g. 'lactose free milk') and returns paginated arrays of product objects. Each product includes identifiers (tpnc, tpnb, gtin), title, brand, image_url, department metadata, price, unit_price, and unit. Pagination is controlled via page and count parameters, and the response includes a pagination object with total, page, count, and pageSize fields.
The list_category endpoint works the same way but takes a facet ID instead of a search query, letting you enumerate all products in a given aisle or category. For example, b;RnJlc2glMjBGb29k maps to Fresh Food. The response structure mirrors search_products, making it straightforward to paginate through entire departments.
Detailed Product Data
The get_product_details endpoint takes a tpnc product ID — obtained from search or category results — and returns the full product record. The details object includes ingredients, allergenInfo, storage, nutritionInfo, netContents, recyclingInfo, and features. Promotions come back as a structured array with description, startDate, endDate, attributes, and discounted price. Reviews are returned under a reviews object containing paginated entries (each with rating, author, summary, and text) and aggregate stats including overallRating. Review pagination is controlled by reviews_limit and reviews_offset.
Search Suggestions
The get_suggestions endpoint returns an array of autocomplete strings for a partial or full query input. An optional limit parameter caps how many suggestions come back. This is useful for building type-ahead interfaces or for discovering how Tesco's catalog indexes specific product terms before running a full search.
- Build a nutrition tracker that pulls ingredient and allergen data from
get_product_detailsfor scanned or searched grocery items. - Monitor Tesco promotion prices and date ranges across a product category using
list_categorycombined with thepromotionsarray. - Aggregate customer review ratings and text from
get_product_detailsto compare competing products in the same category. - Implement a grocery search interface with autocomplete powered by
get_suggestionsand full results fromsearch_products. - Extract unit price data across categories to build a grocery price comparison dataset.
- Populate a dietary app with structured
nutritionInfoandallergenInfofields for Tesco-stocked products. - Track brand presence within specific aisles by iterating
list_categoryresults and grouping by thebrandfield.
| 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 Tesco have an official developer API?+
What does `get_product_details` return beyond basic product info?+
details object containing ingredients, allergenInfo, storage, nutritionInfo, netContents, recyclingInfo, and features. It also returns a promotions array with structured promotion dates and prices, and a reviews object with individual review text and aggregate rating stats.Does the API cover Tesco marketplace or non-grocery products such as clothing or electronics?+
Can I retrieve a full product list for an entire category without knowing exact product IDs?+
list_category endpoint takes a facet ID and returns paginated product arrays including tpnc identifiers for every product in that category. You can then pass those tpnc values to get_product_details for full records.