Discover/Scan API
live

Scan APIscan.co.uk

Access Scan.co.uk product listings, specs, GBP pricing, stock status, customer reviews, and daily offers via a structured REST API with 5 endpoints.

This API takes change requests — .
Endpoint health
verified 5d ago
get_product_details
get_today_only_offers
search_products
get_category_listings
get_product_reviews
5/5 passing latest checkself-healing
Endpoints
5
Updated
28d ago

What is the Scan API?

The Scan.co.uk API provides access to 5 endpoints covering product search, category browsing, detailed specifications, customer reviews, and daily limited-time offers from one of the UK's main computer hardware retailers. The search_products endpoint returns live results by keyword or LN code, including price, stock status, and image URL, while get_product_details resolves any LN code to a full specification sheet with availability.

Try it
Maximum number of product results to return.
Search keyword or LN code (e.g. 'RTX 4070', 'gaming mouse', 'SSD')
api.parse.bot/scraper/62877404-ff06-4323-ae9d-6b42ac998ee4/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/62877404-ff06-4323-ae9d-6b42ac998ee4/search_products?limit=10&query=RTX+4070' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace scan-co-uk-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.scan_co_uk_product_api import Scan, ProductSummary, Product, CategoryProduct, Offer, Review, ReviewBatch

scan = Scan()

# Search for products
for product in scan.productsummaries.search(query="RTX 5070"):
    print(product.name, product.price, product.in_stock, product.ln_code)

# Get detailed product specs via constructible instance
summary = scan.productsummary(ln_code="155343")
detail = summary.details()
print(detail.title, detail.price, detail.availability)

# Get reviews for the product (instance method)
batch = summary.reviews()
for info in batch.product_info:
    print(info.name, info.review_statistics.average_overall_rating, info.review_statistics.total_review_count)
for review in batch.reviews:
    print(review.title, review.rating, review.user_nickname)

# Browse category listings
for item in scan.categoryproducts.list(category="computer-hardware", subcategory="gpu-nvidia-gaming"):
    print(item.name, item.price, item.availability)

# Check today's offers
for offer in scan.offers.today():
    print(offer.name, offer.price, offer.ln_code)
All endpoints · 5 totalmissing one? ·

Full-text search over Scan.co.uk product catalog. Returns products ranked by relevance with name, price, stock status, and URL. Queries match product titles and LN codes. Results are capped by `limit`; the `total` field reports the full match count upstream.

Input
ParamTypeDescription
limitintegerMaximum number of product results to return.
queryrequiredstringSearch keyword or LN code (e.g. 'RTX 4070', 'gaming mouse', 'SSD')
Response
{
  "type": "object",
  "fields": {
    "total": "integer total number of results from the search API",
    "products": "array of ProductSummary objects"
  },
  "sample": {
    "data": {
      "total": 200,
      "products": [
        {
          "url": "https://www.scan.co.uk/products/pny-nvidia-geforce-rtx-5070-oc-12gb-gddr7",
          "name": "PNY NVIDIA GeForce RTX 5070 OC 12GB GDDR7",
          "price": 538.99,
          "ln_code": "155170",
          "in_stock": true,
          "image_url": "https://www.scan.co.uk/images/products/gt/3668192-gt-a.jpg",
          "price_is_gross": true,
          "web_product_id": 3668192
        }
      ]
    },
    "status": "success"
  }
}

About the Scan API

Product Search and Category Browsing

The search_products endpoint accepts a query string — either a plain keyword like RTX 4070 or a specific LN code — and returns an array of product objects including name, price, ln_code, in_stock, image_url, and web_product_id. An optional limit parameter controls how many results are returned. The total field tells you the full result count from the underlying search, so you can gauge coverage without fetching everything.

The get_category_listings endpoint works differently: it requires both a category slug (e.g. computer-hardware) and a subcategory slug (e.g. gpu-nvidia-gaming) matching Scan's URL structure. Responses include name, price, manufacturer, ln_code, availability, and wpid per product, and a count of items returned. This is the right endpoint for building category-level price comparison views or monitoring stock across a product family.

Product Details and Reviews

get_product_details takes a product_id — either an LN code like 155343 or a URL slug — and returns a specifications object mapping spec names to their values, alongside price, title, availability, and the canonical url. The spec object is unstructured by design: fields vary by product type, so a GPU will carry different keys than a mechanical keyboard.

get_product_reviews accepts an ln_code and returns a BatchedResults object with two keys: q0 contains product-level metadata and aggregate rating statistics, while q1 holds individual reviews with rating scores, review text, and user information. Review data is sourced from Bazaarvoice. The get_today_only_offers endpoint takes no inputs and returns the current day's limited-time deals as an array of objects with name, price, ln_code, and url.

Identifiers and Coverage

Scan uses LN codes as the canonical product identifier across all endpoints — a product found via search_products returns an ln_code that can be passed directly to get_product_details or get_product_reviews. All prices are in GBP. The price_is_gross boolean in search results indicates whether the displayed price includes VAT, which matters for B2B purchasing comparisons.

Reliability & maintenanceVerified

The Scan API is a managed, monitored endpoint for scan.co.uk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when scan.co.uk changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official scan.co.uk API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
5d ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor daily price changes on specific GPUs or CPUs using search_products with LN codes
  • Build a UK computer hardware price tracker comparing products across Scan categories
  • Alert users when a specific product's in_stock status changes from false to true
  • Aggregate customer review scores from get_product_reviews for side-by-side product comparison
  • Scrape get_today_only_offers daily to surface time-limited Scan deals in a deal-aggregation app
  • Populate a product catalog with structured specifications from get_product_details for any LN code
  • Filter get_category_listings by subcategory slug to benchmark pricing across AMD vs Nvidia GPU lines
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Scan.co.uk have an official public developer API?+
Scan.co.uk does not publish a documented public developer API. This Parse API provides structured access to product, pricing, review, and offer data from the site.
What does the `get_product_details` endpoint return and how specific are the specifications?+
It returns a specifications object whose keys and values vary by product category — a GPU response will have fields like memory size and clock speed, while a peripheral will have different keys entirely. You also get price, title, availability, ln_code, and the canonical url. There is no fixed schema for specifications; consumers should handle the object dynamically.
Does the API support pagination for search results or category listings?+
The search_products endpoint exposes a limit parameter to cap results and a total field showing the full match count, but there is no offset or page parameter for paginating through additional results. get_category_listings returns a count with no pagination controls. You can fork this API on Parse and revise it to add offset-based pagination if your use case requires browsing beyond the initial result set.
Are historical prices or price history available through any endpoint?+
Not currently. All five endpoints return current pricing only — there is no price history or time-series data exposed. You can fork the API on Parse and revise it to add a scheduled endpoint that records and stores price snapshots over time.
How do I find the correct category and subcategory slugs for `get_category_listings`?+
The slugs follow Scan's URL path structure. For example, a URL like scan.co.uk/shop/computer-hardware/gpu-nvidia-gaming corresponds to category computer-hardware and subcategory gpu-nvidia-gaming. Inspecting Scan's navigation URLs is the most reliable way to identify valid slug combinations. Passing an invalid slug pair will return zero results.
Page content last updated . Spec covers 5 endpoints from scan.co.uk.
Related APIs in EcommerceSee all →
currys.co.uk API
Search and browse products from Currys.co.uk to find detailed specifications, current pricing, and real-time stock availability. Retrieve comprehensive product information across electronics categories to compare items and make informed purchasing decisions.
pccomponentes.com API
Search and browse PC components across categories and retrieve detailed product information including technical specifications, pricing, availability, and customer reviews. Ideal for comparing hardware options across processors, graphics cards, laptops, and more.
argos.co.uk API
argos.co.uk API
amazon.co.uk API
Access data from amazon.co.uk.
corsair.com API
Search and filter Corsair's gaming peripherals and PC components catalog by keywords, category, and product attributes like price and specs. Browse detailed product information, compare options, and easily navigate through results with sorting and pagination to find exactly what you need.
coolblue.be API
Search and browse electronics products from Coolblue Belgium, including CPUs, GPUs, and smartphones, with instant access to detailed specifications, pricing, and availability. Find exactly what you need by category or search query, and check real-time stock and price information across their entire catalog.
newegg.com API
Search Newegg's product catalog and retrieve listings, specifications, customer reviews, Q&A, category trees, and daily deals.
nanoreview.net API
Search and compare CPUs, GPUs, SoCs, phones, and laptops with detailed specs and performance rankings from NanoReview. Get detailed information on specific tech products, view popular comparisons, and access user benchmark data to make informed purchasing decisions.