Search Tesco groceries, prices, and promotions.
Your information
Groceries to find, for example semi skimmed milk.
More options
Order products by relevance, price, or name; for example “Price low to high”.
Maximum number of products to return, for example 24.
Example results
Products
About the Tesco tool
Tesco returns grocery product prices, availability, promotions, and links through Search products.
Search products takes a grocery query, with optional sorting and result count; prices and availability vary by location.
Built from tesco.com. Last checked Sep 29, 2026.
Actions
Search products
1 creditSearch Tesco Groceries as a guest and get product prices, Clubcard offers, availability, and links. Prices and availability vary by location; ordering applies to the first 48 results for the selected Tesco order (the first 48 relevance matches for name). Out-of-stock items may not show prices.
What you provide
| Field | Type | Required | Description |
|---|---|---|---|
Sortsort | Text | Optional | Order products by relevance, price, or name; for example price_low_to_high.Example: Price low to high |
Queryquery | Text | Required | Groceries to find, for example semi skimmed milk.Example: semi skimmed milk |
Max Resultsmax_results | Number | Optional | Maximum number of products to return, for example 24.Example: 48 |
What you get
| Field | Type | Description |
|---|---|---|
Productsproducts | List | |
Priceproducts[].price | Number | Regular price in GBP, or null when not displayed.Example: 1.65 |
Currencyproducts[].currency | Text | Price currency.Example: GBP |
Availableproducts[].available | Yes or no | Whether the item is currently shown as available.Example: Yes |
Promotionproducts[].promotion | Text | Displayed promotion, if any.Example: Aldi Price Match |
Image Linkproducts[].image_link | Text | Product image link.Example: https://digitalcontent.api.tesco.com/v2/media/ghs/07531d6d-8bf2-41b5-a5ad-e2ae0… |
Product IDproducts[].product_id | Text | Tesco product ID.Example: 254656543 |
Unit Priceproducts[].unit_price | Text | Displayed unit price, such as £1.20/kg.Example: £0.73/litre |
Product Linkproducts[].product_link | Text | Product page link.Example: https://www.tesco.com/shop/en-GB/products/254656543 |
Product Nameproducts[].product_name | Text | Product name.Example: Tesco British Semi Skimmed Milk 2.272L, 4 Pints |
Clubcard Priceproducts[].clubcard_price | Number | Single-item Clubcard price in GBP, if shown. |
Example result
For Query: semi skimmed milk
{
"products": [
{
"price": 1.65,
"currency": "GBP",
"available": true,
"promotion": "Aldi Price Match",
"image_link": "https://digitalcontent.api.tesco.com/v2/media/ghs/07531d6d-8bf2-41b5-a5ad-e2ae0a71f2b3/17233543-2c5b-4a06-a0ab-cfdbddcd488e_2028878860.jpeg?w=225",
"product_id": "254656543",
"unit_price": "£0.73/litre",
"product_link": "https://www.tesco.com/shop/en-GB/products/254656543",
"product_name": "Tesco British Semi Skimmed Milk 2.272L, 4 Pints",
"clubcard_price": null
},
{
"price": 1.2,
"currency": "GBP",
"available": true,
"promotion": "Aldi Price Match",
"image_link": "https://digitalcontent.api.tesco.com/v2/media/ghs/8bb67050-c132-4326-97f2-04be9fdce6c9/93e23843-fc27-4cb7-9448-9820e01e8281_798947363.jpeg?w=225",
"product_id": "252207537",
"unit_price": "£1.06/litre",
"product_link": "https://www.tesco.com/shop/en-GB/products/252207537",
"product_name": "Tesco British Semi Skimmed Milk 1.13L, 2 Pints",
"clubcard_price": null
},
{
"price": 0.85,
"currency": "GBP",
"available": true,
"promotion": "Aldi Price Match",
"image_link": "https://digitalcontent.api.tesco.com/v2/media/ghs/43cc7922-a4b0-46bc-9ee4-e4b8ff6fe1c9/20ce2a7e-d170-4f52-ac34-6ff7e5cfb302_1058176312.jpeg?w=225",
"product_id": "251314158",
"unit_price": "£1.50/litre",
"product_link": "https://www.tesco.com/shop/en-GB/products/251314158",
"product_name": "Tesco British Semi Skimmed Milk 568 Ml, 1 Pint",
"clubcard_price": null
}
]
}For developers
Call it from your code with one request. Change the values in input to run it on new data. To get an API key, open Developers at the bottom of Studio, turn on Developer mode and go to API keys.
curl 'https://api.fous.com/v1/query' \
--fail-with-body --silent --show-error --max-time 180 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"api": "@tesco",
"visibility": "public",
"operation": "search_products",
"version": 1,
"input": {
"query": "semi skimmed milk"
},
"response": {
"format": "json"
}
}'What you can do with it
- Compare grocery prices in search results
- Find products with displayed Clubcard prices
- Check which searched groceries are shown as available
- Compare displayed unit prices
- Collect product names and links for a shopping list
Questions about Tesco
Can I run it with my own inputs?
Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.
Can I call this Tesco tool as an API?
Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.
How much does it cost?
Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.
Do I need a Tesco account?
No. You only need a Fous account.
How current is the data?
Fous gets the data from tesco.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.
What does a grocery product cost?
Search products returns the displayed regular price and currency; prices may vary by location, and out-of-stock items may not show prices.
Which products have a Clubcard offer?
Search products returns a displayed single-item Clubcard price when one is shown.
Is a searched product available?
Search products returns whether each item is currently shown as available.