Discover/Back Market API
live

Back Market APIbackmarket.co.uk

Search Back Market UK's refurbished product catalogue via API. Get prices in GBP, condition grades, ratings, and product links for any search query.

Endpoint health
verified 2h ago
search_products
1/1 passing latest checkself-healing
Endpoints
1
Updated
2h ago

What is the Back Market API?

The Back Market UK API provides access to Back Market's UK refurbished product catalogue through a single search_products endpoint that returns up to 31 listing cards per page. Each response includes over 10 structured fields per product — title, brand, model, category, condition grade, price in GBP, seller ratings, and direct product page links — letting you query any free-text term such as "PlayStation 5 Slim" and paginate through the full result set.

This call costs2 credits / call— charged only on success
Try it
1-based results page number. Pages beyond page_count return an empty items array.
Free-text search term, e.g. a product name such as PlayStation 5 Slim.
api.parse.bot/scraper/083175ba-a564-482a-9c3e-3b5df5211047/<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/083175ba-a564-482a-9c3e-3b5df5211047/search_products?query=PlayStation+5' \
  -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 backmarket-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.

"""Walkthrough: Back Market UK — search refurbished products, inspect pricing."""
from parse_apis.backmarket_co_uk_api import BackMarket, InvalidInput

client = BackMarket()

# Search for refurbished consoles; limit= caps total items fetched.
for product in client.products.search(query="PlayStation 5", limit=5):
    savings = ""
    if product.price_new is not None:
        savings = f" (new: {product.price_new.amount} {product.price_new.currency})"
    print(
        f"{product.title} — {product.price.amount} {product.price.currency}{savings}"
        f" | {product.condition} | reviews: {product.review_count}"
    )

# Drill into the first result for a different query.
try:
    item = client.products.search(query="iPhone 14", limit=1).first()
except InvalidInput as e:
    print(f"Invalid search input: {e.message}")
    item = None
if item is not None:
    print(f"\n{item.title}")
    print(f"  Brand: {item.brand}  Model: {item.model}")
    print(f"  Category: {item.category}  Condition: {item.condition}")
    print(f"  Storage options: {', '.join(item.storage)}")
    print(f"  Colors: {', '.join(item.colors)}")
    print(f"  Rating: {item.review_average}/5 ({item.review_count} reviews)")
    print(f"  Warranty: {item.warranty_months} months")
    print(f"  URL: {item.url}")

print("\nexercised: products.search")
All endpoints · 1 totalmissing one? ·

Searches Back Market UK for products matching a free-text query and returns one page of results (up to 31 items per page, ordered by the site's default best-sales ranking). Each item is one product listing card as shown on the site's search results page: the product's identifier, title, brand, model, category, condition grade, current refurbished price and, when available, the reference new price (both GBP), review count and average, stock, warranty months, storage/colour variants, image and product page URL. The response also carries the site's total match count and page count; pass page to fetch later pages (has_more indicates whether a further page exists). A query with no matches is a valid success with total 0 and an empty items array. One round trip per call.

Input
ParamTypeDescription
pageinteger1-based results page number. Pages beyond page_count return an empty items array.
queryrequiredstringFree-text search term, e.g. a product name such as PlayStation 5 Slim.
Response
{
  "type": "object",
  "fields": {
    "page": "1-based page number returned",
    "count": "number of items on this page",
    "items": "array of product listing cards; each has id (product UUID), product_id, listing_id, title, brand, model, category, product_type, condition (grade name), price {amount, currency}, price_new {amount, currency} or null, review_count, review_average, available_stock, warranty_months, seller_id, storage (array of variant labels), colors (array of colour names), image URL and product page url",
    "query": "the search term that was searched",
    "total": "total number of matching products the site reports",
    "has_more": "boolean, true when a further page exists",
    "page_count": "total number of result pages the site reports for this query"
  },
  "sample": {
    "data": {
      "page": 1,
      "count": 1,
      "items": [
        {
          "id": "8cd655d3-4702-4977-a3ec-c7c9951a10d1",
          "url": "https://www.backmarket.co.uk/en-gb/p/playstation-5-slim",
          "brand": "sony",
          "image": "https://d2e6ccujb3mkqf.cloudfront.net/1b81a0c0-5bdc-4a35-82ef-81da6fa02a2e.jpg",
          "model": "playstation 5 slim",
          "price": {
            "amount": 390,
            "currency": "GBP"
          },
          "title": "PlayStation 5 Slim",
          "colors": [
            "White"
          ],
          "storage": [
            "825 GB",
            "1 TB"
          ],
          "category": "Gaming consoles",
          "condition": "Fair",
          "price_new": {
            "amount": 499,
            "currency": "GBP"
          },
          "seller_id": "3754",
          "listing_id": "5928328",
          "product_id": "3802293",
          "product_type": "Refurbished",
          "review_count": 626,
          "review_average": 4.32,
          "available_stock": 1,
          "warranty_months": 12
        }
      ],
      "query": "PlayStation 5 Slim",
      "total": 1,
      "has_more": false,
      "page_count": 1
    },
    "status": "success"
  }
}

About the Back Market API

What the API Returns

The search_products endpoint accepts a free-text query string and an optional 1-based page integer, then returns a paginated slice of Back Market UK's search results. The top-level response includes total (total matching products reported by the site), page_count (total result pages), has_more (boolean indicating whether a further page exists), count (items on the current page), and query (the search term as interpreted). Each page contains up to 31 items ordered by the site's default best-sales ranking.

Per-Item Fields

Each entry in the items array represents one listing card. Available fields include id (a product UUID), product_id, listing_id, title, brand, model, category, product_type, along with price in GBP, condition grade, and rating data. These fields map directly to what a buyer would see on a Back Market UK search results page, making them suitable for price tracking, catalogue comparison, and inventory monitoring across refurbished device categories.

Pagination Behaviour

Pagination is controlled by the page parameter. If page is omitted it defaults to page 1. Requesting a page number beyond page_count returns an empty items array rather than an error. The has_more boolean provides a simple way to implement sequential crawling without needing to check page_count explicitly. Each page returns at most 31 items, so total divided by 31 gives an approximate page_count consistent with what the API reports directly.

Reliability & maintenanceVerified

The Back Market API is a managed, monitored endpoint for backmarket.co.uk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when backmarket.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 backmarket.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
2h ago
Latest check
1/1 endpoint 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
  • Track GBP price changes for specific refurbished devices (e.g. iPhones, iPads) across multiple condition grades over time.
  • Build a price comparison tool for refurbished electronics using title, brand, model, and price fields.
  • Monitor which refurbished product categories appear for broad search terms like 'laptop' or 'tablet' using the category and product_type fields.
  • Aggregate seller rating data across refurbished listings to surface the best-rated options for a given query.
  • Generate affiliate or deals content by querying product names and extracting titles, prices, and product page links.
  • Alert users when a refurbished item matching a search term drops below a target price in GBP.
  • Research Back Market UK's catalogue depth for a product line by checking the total and page_count fields for relevant queries.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Back Market have an official developer API?+
Back Market offers a seller/merchant API (documented at https://www.backmarket.co.uk/en-gb/seller) intended for inventory and order management by registered sellers, not for public product search or price data. The Parse API covers the buyer-facing product search catalogue.
What does the search_products endpoint return for each listing, and can I filter by condition grade or price range?+
Each item returns fields including id, product_id, listing_id, title, brand, model, category, product_type, condition grade, GBP price, and rating data. The endpoint does not currently support server-side filtering by condition grade or price range — it returns results in the site's default best-sales order for the given query. You can fork this API on Parse and revise it to add filtering parameters if your use case requires it.
Are individual product detail pages or seller profiles covered?+
The current API covers search result listing cards only. Individual product detail pages (full specification sheets, all seller offers for one SKU) and seller profile pages are not currently included. You can fork this API on Parse and revise it to add a product detail endpoint using the product_id or listing_id values returned by search_products.
How fresh is the data, and does it include out-of-stock items?+
Results reflect Back Market UK's live search index at the time of the request. The API returns whatever listings the site's search surfaces, which typically excludes out-of-stock items. Results may vary slightly between requests as stock and rankings change in real time.
What happens if I request a page number higher than page_count?+
The API returns a response with an empty items array rather than an error. The total, page_count, and query fields are still populated, so you can use has_more or compare the requested page against page_count to detect and handle the out-of-range case cleanly.
Page content last updated . Spec covers 1 endpoint from backmarket.co.uk.
Related APIs in EcommerceSee all →
backmarket.fr API
Search for refurbished products on Back Market and retrieve detailed information including product specifications, available variants, pricing, and customer reviews all in one place. Get comprehensive product data to compare options and make informed purchasing decisions on certified refurbished electronics and devices.
backmarket.com API
Search and browse refurbished electronics across Back Market's catalog, compare pricing by condition, and read seller and product reviews to find the best deals. Filter by product categories and access detailed information about listings to make informed purchasing decisions.
rebuy.de API
Search for refurbished electronics and media products on rebuy.de and access current pricing information to find the best deals on used items. Compare prices and availability across their catalog to discover affordable alternatives to brand new products.
refurbed.se API
Search refurbished products across Refurbed's European storefronts and instantly compare pricing broken down by condition level for each country. Find the best deals on refurbished items by viewing how prices vary based on product condition and location.
amazon.co.uk API
Access data from amazon.co.uk.
scan.co.uk API
Search and compare computer hardware and tech products from Scan.co.uk. Access detailed product specifications, pricing in GBP, stock availability, customer reviews, and daily special offers across all categories including GPUs, CPUs, storage, peripherals, and more.
spycart.me API
Access data from Spycart.me.
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.