Currys API & Scraper
Currys is the UK's largest electricals and appliance retailer (TVs, laptops, phones, kitchen appliances).
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
This API reads currys.co.uk as JSON. `search` takes a keyword and/or a Currys category with the site's own filters (brand, price range in GBP, delivery or store collection, minimum star rating) and five sort orders, and returns 20, 30 or 50 products per page: product id, Currys SKU, EAN barcodes, name, brand, price, the was price with the dates it applied, the saving and discount, the rating and review count printed on the listing, whether the product can be delivered or collected from a store with its stock status (in stock, pre-order, not available), the monthly credit offer and the category path, plus the site's own total. `product` returns one product in full: price, was price and saving, EAN and the manufacturer's model number, delivery and click & collect, pre-order and back-order flags, key features, description, grouped technical specifications, unboxed dimensions, images, breadcrumbs, the credit offer, promotions, and the live rating, review count and star distribution. `reviews` returns the written buyer reviews.
What a Currys field actually contains
Fields that read differently from how they look. Every row was measured against live Currys responses on 2026-10-15.
| Field | What it holds |
|---|---|
| product_id, sku | product_id is the Currys product number at the end of every product URL (e.g. 10305861) and is what product and reviews take; a product URL works too. sku is Currys' internal 6-digit stock code. Search to product returned the same id, price and EAN on 8 of 8 products. |
| price, was_price, save_amount | price is what the shopper pays now, in GBP. was_price is the crossed-out price Currys prints and save_amount the saving it prints next to it; discount_pct is computed from the two. was_price_from and was_price_to are the dates Currys says the was price applied, and the window can already be over. |
| ean, eans, model_number | Some products carry more than one barcode (old and new packaging): eans lists them all and ean is the first. model_number is the manufacturer's part number (for example X1404MA-EB218W), not a barcode. |
| delivery_available, collection_available, *_status | Whether Currys offers home delivery and store collection (click & collect) for the product, with the stock status it gives each: IN_STOCK, PREORDER or NOT_AVAILABLE. No unit counts are published and no postcode is involved. |
| rating, review_count | In search rows, the figures printed on the Currys listing. In product, the live figures from Currys' review service, with the star distribution. They can differ for the same product (136 on the listing, 261 live). |
| monthly_credit | The pay-monthly example Currys shows: amount per month, number of months and APR. It is an illustration of credit terms, not a lower price. |
| total | The site's own count. A search that matches nothing exactly can still return loosely related products (a nonsense word returned 203), as on the site. |
The product price matched the price in the product page's own structured data on 6 of 8 products; on the other 2 that check could not read the page's price, so they are not counted as matches. The search price matched the product price on 8 of 8. The same products read from two different networks returned identical prices and was prices.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/currys/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "tv",
"brand": "SAMSUNG"
}
}{
"ok": true,
"meta": {
"api": "currys",
"endpoint": "search",
"mode": "live",
"latency_ms": 689.4,
"record_count": 20,
"bytes": 1078227,
"cache_hit": false,
"upstream_requests": 1,
"total": 87,
"charged_credits": 3,
"version": "0.1.0",
"request_id": "ca6b3531eb0a4da6",
"fetched_at": "2026-10-18T11:41:59.617Z"
},
"data": {
"results": [
{
"product_id": "10307382",
"sku": "732173",
"ean": "8806099013806",
"eans": [
"8806099013806"
],
"name": "SAMSUNG Q5F 32\" QLED Full HD HDR Smart TV (2026) - QE32Q5FAAUXXU",
"brand": "SAMSUNG",
"url": "https://www.currys.co.uk/products/samsung-q5f-32-qled-full-hd-hdr-smart-tv-2026-qe32q5faauxxu-10307382.html",
"image": "https://media.currys.biz/i/currysprod/10307382?$g-small$&fmt=auto",
"price": 299,
"was_price": 399,
"save_amount": 100,
"discount_pct": 25,
"was_price_from": "2026-08-14",
"was_price_to": "2026-10-06",
"currency": "GBP",
"rating": 4.5,
"review_count": 15,
"delivery_available": true,
"delivery_status": "IN_STOCK",
"collection_available": true,
"collection_status": "IN_STOCK",
"monthly_credit": {
"amount": 12.11,
"months": 36,
"apr": 29.9
},
"categories": [
"TV & Audio",
"Televisions",
"TVs"
],
"category_ids": [
"tv-audio",
"televisions-tv-audio",
"all-tvs-televisions-tv-audio"
],
"price_mismatch": null
},
{
"product_id": "10282636",
"sku": "857169",
"ean": "8806097120957",
"eans": [
"8806097120957"
],
"name": "SAMSUNG Q7F 65\" QLED 4K Vision AI Smart TV 2025 - QE65Q7F",
"brand": "SAMSUNG",
"url": "https://www.currys.co.uk/products/samsung-q7f-65-qled-4k-vision-ai-smart-tv-2025-qe65q7f-10282636.html",
"image": "https://media.currys.biz/i/currysprod/10282636?$g-small$&fmt=auto",
"price": 549,
"was_price": null,
"save_amount": null,
"discount_pct": null,
"was_price_from": null,
"was_price_to": null,
"currency": "GBP",
"rating": 4.7,
"review_count": 1057,
"delivery_available": false,
"delivery_status": "NOT_AVAILABLE",
"collection_available": false,
"collection_status": "NOT_AVAILABLE",
"monthly_credit": {
"amount": 22.25,
"months": 36,
"apr": 29.9
},
"categories": [
"TV & Audio",
"Televisions",
"TVs"
],
"category_ids": [
"tv-audio",
"televisions-tv-audio",
"all-tvs-televisions-tv-audio"
],
"price_mismatch": null
},
{
"product_id": "10299336",
"sku": "648810",
"ean": "8806099002060",
"eans": [
"8806099002060"
],
"name": "SAMSUNG Q7F 98\" QLED 4K Vision AI Smart TV 2025 - QE98Q7F",
"brand": "SAMSUNG",
"url": "https://www.currys.co.uk/products/samsung-q7f-98-qled-4k-vision-ai-smart-tv-2025-qe98q7f-10299336.html",
"image": "https://media.currys.biz/i/currysprod/10299336?$g-small$&fmt=auto",
"price": 1599,
"was_price": null,
"save_amount": null,
"discount_pct": null,
"was_price_from": null,
"was_price_to": null,
"currency": "GBP",
"rating": null,
"review_count": null,
"delivery_available": true,
"delivery_status": "IN_STOCK",
"collection_available": false,
"collection_status": "NOT_AVAILABLE",
"monthly_credit": {
"amount": 64.8,
"months": 36,
"apr": 29.9
},
"categories": [
"TV & Audio",
"Televisions",
"TVs"
],
"category_ids": [
"tv-audio",
"televisions-tv-audio",
"all-tvs-televisions-tv-audio"
],
"price_mismatch": null
}
],
"total": 87,
"page": 1,
"page_size": 20,
"last_page": 5,
"has_more": true
}
}What the Currys API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search Currys (UK) by keyword and/or category with the site's own filters: brand, price range, delivery / store collection availability, minimum customer rating, 5 sort orders. Each row: product id, Currys SKU, EAN(s), name, brand, URL, image, price, was price with its date window, saving, discount, rating and review count, home-delivery and click-and-collect availability with stock status (IN_STOCK / PREORDER / NOT_AVAILABLE), the monthly credit offer and the category path. Plus the source's own total. | Pricing teams call search to search Currys (UK) by keyword and/or category with the site's own filters. | query, category_id, brand, min_price, max_price, ... |
| product | Full Currys product record: name, brand, Currys SKU, EAN(s), manufacturer model number, price, was price and its date window, saving, discount, availability, home delivery and store collection (click & collect), pre-order / back-order flags, key features, description, grouped technical specifications, unboxed dimensions, images, breadcrumbs, monthly credit offer, promotions, plus the Feefo rating, review count and star distribution. | Marketplace operators call product to get full Currys product record. | product_id |
| reviews | Buyer reviews of a Currys product from Currys' Feefo review service: stars, text, date, reviewer display name and country, verification state, helpful votes, sub-ratings (e.g. value for money), newest first, plus the total review count. | Catalog enrichment teams call reviews to get buyer reviews of a Currys product from Currys' Feefo review service. | product_id |
Call search from your stack
curl -X POST https://api.reefapi.com/currys/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"tv","brand":"SAMSUNG"}'import requests
r = requests.post(
"https://api.reefapi.com/currys/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "tv",
"brand": "SAMSUNG"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/currys/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "tv",
"brand": "SAMSUNG"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.currys.search with {"query":"tv","brand":"SAMSUNG"}.Who uses this API and why
- Track Currys prices, was prices and savings on TVs, laptops and appliances day by day.
- Match Currys products to other retailers by EAN or manufacturer model number.
- Watch which products move between in stock, pre-order and not available for delivery or collection.
- Find the cheapest products of a brand within a price range in a Currys category.
- Collect Feefo buyer reviews and star distributions for UK product research.
Questions developers ask before integrating
Do I need a Currys account?
No. Everything is read logged out, and you call reefapi.com from anywhere.
Which filters are there and do they work?
Brand, price range, delivery or store collection, minimum rating and category. Each was checked against the unfiltered count in the same run: tv 1,037 → Samsung 85, £500-£1,000 90, delivery 954, store collection 252, 4 stars or more 651, the TV category 391. A brand Currys does not carry returns 0 rows, and an unknown category id is refused rather than answered with the whole catalogue.
Do you return the Currys Perks price?
No. Currys does not publish a per-product Perks price on the logged-out product page or listing, so there is nothing to return.
Is store stock by postcode included?
Not at present. Each product says whether store collection is offered and its status; per-store stock for a postcode is not returned.
How many results per page and how deep can I go?
20, 30 or 50 per page, the same choices as the site, up to page 250. total and has_more tell you when to stop.
Where do the reviews come from?
From Feefo, the review service Currys shows on its product pages: star rating, text, date, reviewer display name and country, verification state, helpful votes and sub-ratings such as value for money. Newest first.
Are prices including VAT?
Yes. Prices are the GBP prices Currys shows to shoppers, VAT included.
What is the Currys API?
Currys API is a ReefAPI endpoint group for the uk's largest electricals retailer: gbp prices with was price and saving, ean and model number, delivery and click & collect, specs and feefo reviews. It returns live JSON through POST requests under /currys/v1.
Is the Currys API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Currys calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Currys login or account?
No login to Currys is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Currys data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Currys API use?
Currys actions currently cost 2-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Currys from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call currys actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Currys API a Currys scraper?
It is the managed alternative to a DIY Currys scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same the uk's largest electricals retailer: gbp prices with was price and saving, ean and model number, delivery and click & collect, specs and feefo reviews back as clean JSON.