↑ ↓ to move ↵ to open
Sainsbury's Groceries API · Endpoint

Sainsbury's Groceries Product Detail API

Check a Sainsbury’s product ID or official link, with regular and public member prices separated where supplied.

  • 2 credits per call
  • Failed calls are free
  • Updated
  • sainsburys.product.detail.get
Response completed
{  "product": {    "name": "Clean & Clear Dual Action Moisturiser Face Cream 100ml",    "available": true,    "brand": "Clean & Clear",    "gtin": "5000207007159",    "image": "https://www.sainsburys.co.uk/wcsstore/ExtendedSitesCatalogAssetStore/images/catalog/productImages/59/5000207007159/5000207007159_L.jpeg",    "pack_size": "100ml",    "retailer_product_id": "6010343",    "url": "https://www.sainsburys.co.uk/gol-ui/product/clean-clear-dual-action-moisturiser-face-cream-100ml",    "price": {      "amount": 3.5,      "currency": "GBP"    },    "unit_price": {      "amount": 35,      "currency": "GBP",      "measure_amount": 1,      "unit": "per_litre"    },    "member_prices": [      {        "promotion_id": "10757348",        "scheme": "nectar",        "price": {          "amount": 2.6,          "currency": "GBP"        }      }    ],    "promotions": [      {        "buy_quantity": null,        "description": "Save 25% with Nectar",        "end": "2026-10-12T23:00:00Z",        "for_amount": null,        "id": "10757348",        "member_scheme": "nectar",        "start": "2026-09-01T23:00:00Z",        "type": "member"      }    ]  }}
Try it live, free
Input

What you send

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

  • Send a product ID or a Sainsbury’s product link. Save the returned product ID so later checks follow the same pack.
FieldTypeRequiredWhat it doesExample
product_id string no Product identifier. 6010343
url string no Public URL of the page to fetch.
Response

Fields it returns

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

FieldTypeWhat it isExample
product.member_prices[].price object The price Nectar members pay, with its currency. 2 fields
product.member_prices[].promotion_id string Sainsbury’s ID for the offer behind this price. 10757348
product.member_prices[].scheme string Loyalty scheme the price is for, such as Nectar. nectar
product object The product with its prices and offers. 12 fields
product.available boolean Public catalog flag, not local stock. true
product.brand string Brand where supplied; lists may omit it. Clean & Clear
product.gtin string Barcode where supplied, retained as text. 5000207007159
product.image string Product image URL where supplied. https://www.sainsburys.co.uk/wcsstore/ExtendedSitesCatalogAsset…
product.member_prices array Nectar member prices for the product, if any. 1 records
product.name string Product or category name as returned; use its identifier to join records. Clean & Clear Dual Action Moisturiser Face Cream 100ml
product.pack_size string Size expression where supplied; null stays unknown. 100ml
product.price object Regular pack amount, separate from member prices. 2 fields
product.price.amount number Regular shelf price in pounds, before any Nectar price. 3.5
product.price.currency string Currency code supplied with the regular price. GBP
product.promotions array Offers running on the product. 1 records
product.promotions[].buy_quantity null Number of items in a multibuy deal, if the offer is one. null
product.promotions[].description string The offer as Sainsbury’s shows it. Save 25% with Nectar
product.promotions[].end string When the offer ends, in UTC. 2026-10-12T23:00:00Z
product.promotions[].for_amount null Total price in pounds for a multibuy deal. null
product.promotions[].id string Sainsbury’s ID for the offer. 10757348
product.promotions[].member_scheme string Loyalty scheme the offer needs, such as Nectar. nectar
product.promotions[].start string When the offer starts, in UTC. 2026-09-01T23:00:00Z
product.promotions[].type string Kind of offer: member, multibuy or price_cut. member
product.retailer_product_id string Sainsbury’s identifier for matching the same pack. 6010343
product.unit_price object Retailer’s published unit amount; do not assume Nectar basis. 4 fields
product.unit_price.amount integer Price per unit in pounds, such as per litre. 35
product.unit_price.currency string Currency of the unit price, such as GBP. GBP
product.unit_price.measure_amount integer Quantity the unit price is for, such as 1 litre. 1
product.unit_price.unit string Keep the unit with the amount when comparing packs. per_litre
product.url string Official product page link. https://www.sainsburys.co.uk/gol-ui/product/clean-clear-dual-ac…
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": "sainsburys.product.detail.get",  "input": {    "product_id": "6010343"  }}'
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

Use Upscrape to read Sainsbury’s product 6010343. Show the regular price and any public Nectar amount separately, keeping the pack size and offer dates.

The agent finds the endpoint, shows you the price, and runs it with your credits.
Sainsbury's Groceries

More from the Sainsbury's Groceries API

Same data, other platforms

The same data from other platforms

Questions

Sainsbury's Groceries Product Detail 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 Sainsbury's Groceries Product Detail API cost?

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

What do I send?

Every input is optional; the input fields below list what each one does.

Do I need a Sainsbury's Groceries login?

No. It reads public Sainsbury's Groceries data; nothing runs on your account.

Can my AI agent call it?

Yes, over MCP: the agent finds sainsburys.product.detail.get, checks its price and runs it with the same credits as the REST API.

Get started

Your first Sainsbury's Groceries call is free.

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