Currys API

Search the UK's largest electricals retailer, then read any product's price, was price, stock and reviews

Currys is the UK's largest electricals and appliance retailer (TVs, laptops, phones, kitchen appliances).

no credit card1,000 free credits · instant API key · pay by card or crypto
Missing a Currys endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
C
/currys/v1

3 active endpoints, on 2 and 3 credit tiers.

  • POST/currys/v1/search
  • POST/currys/v1/product
  • POST/currys/v1/reviews

What Currys endpoints does ReefAPI ship?

3 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

3 endpoints

search

3 cr

Search Currys (UK) by keyword and/or category with the site's own filters.

required
—
optional
query, category_id, brand, min_price, max_price, availability, min_rating, sort, page, page_size

product

3 cr

Full Currys product record.

required
product_id
optional
—

reviews

2 cr

Buyer reviews of a Currys product from Currys' Feefo review service.

required
product_id
optional
—

Every parameter, every allowed value →

Currys API

5 of 3 endpoints, ready to run

View docs ↗

Samsung TVs on Currys

3 credits0 required · 3 optional
POST/currys/v1/search
idle
// Press "Try it" and this pane shows exactly what the
// live site returned this second — including an empty
// result, if that is the truth. No key, no account.

How the Currys API works

Currys is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 549 engines.

02
Call
POST /currys/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
2 or 3 credits per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

From a keyword to a daily Currys price and stock feed

Search once to find the products and their category ids, narrow the search with filters, then follow each product with product.

01search?query=washing
GET/currys/v1/search?query=washing
machine

20 products per page with price, was price, EAN, delivery and collection status, and the category ids to narrow with.

02search?category_id=<category_id>&brand=BOSCH&sort=price_asc
GET/currys/v1/search?category_id=<category_id>&brand=BOSCH&sort=price_asc

One category, one brand, cheapest first; page with page=2, 3 … while has_more is true.

03product?product_id=<product_id>
GET/currys/v1/product?product_id=<product_id>

Price, was price and its dates, EAN and model number, click & collect, specifications and the live rating.

04reviews?product_id=<product_id>
GET/currys/v1/reviews?product_id=<product_id>

Written buyer reviews, newest first.

A dated Currys price feed per product with the was price and saving kept apart from the price, and the delivery and collection status next to it.

request
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"}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "currys",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}

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.

FieldWhat it holds
product_id, skuproduct_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_amountprice 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_numberSome 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, *_statusWhether 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_countIn 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_creditThe pay-monthly example Currys shows: amount per month, number of months and APR. It is an illustration of credit terms, not a lower price.
totalThe 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.

Currys coverage, measured

Every number below was read from live Currys responses on 2026-10-15, in runs of 40 calls; in the final run all 40 answered as expected.

Catalogue

currys.co.uk (United Kingdom, GBP). tv matched 1,037 products, laptops category 379, kettle 510, fridge freezer 499, washing machine 362, iphone 430.

Filters that bite

tv 1,037 → Samsung 85, £500-£1,000 90, delivery 954, store collection 252, 4 stars or more 651, TV category 391; an unknown brand returns 0.

Price accuracy

Product price equalled the product page's structured data on 6 of 8 products (the other 2 pages could not be checked), and the search price equalled the product price on 8 of 8 (5 of them with a was price).

Fields

On 170 search rows in 8 categories: id, SKU, EAN, name, brand, URL, image, price, delivery and collection status 170 of 170; rating and review count 126; was price 63; monthly credit 129.

Limits

Up to 50 rows per page; stock is a status, no unit counts; no per-store stock by postcode; no Currys Perks price; listing review counts and live review counts can differ.

What people build with Currys

The jobs this data is most often used for.

3

endpoints

2/3

credits per call

01

Track Currys prices, was prices and savings on TVs, laptops and appliances day by day.

02

Match Currys products to other retailers by EAN or manufacturer model number.

03

Watch which products move between in stock, pre-order and not available for delivery or collection.

04

Find the cheapest products of a brand within a price range in a Currys category.

What Currys data costs

The cheapest call here is 2 credits, so $15/mo (Pro) buys 5,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

Full pricing →
$0.67–$1.50 / 1,000 credits
  • 1,000 free credits on signup, no card
  • One key, all 549 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
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"}'
python
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"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up Currys.

Get a free key →
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.

Need something this API does not do?

Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.

0/4000

No account needed · we reply from [email protected]

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 548 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-10-15.