Discover/Refurbed API
live

Refurbed APIrefurbed.com ↗

Search refurbed.ie's refurbished catalogue and fetch full product details: SKU, condition grade, price, seller options, and variant configuration via 2 endpoints.

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

What is the Refurbed API?

The Refurbed API exposes 2 endpoints covering the refurbed.ie catalogue of refurbished consumer electronics. Use search_products to retrieve paginated result tiles — including slug, instance_id, price, and product name — then pass those identifiers directly to get_product to get full variant detail: condition grade, brand, colour, images, aggregate rating, configuration options, and sibling variant links.

This call costs2 credits / call— charged only on success
Try it
1-based result page; 16 items per page. A page past the end returns an empty items list with has_more false.
Free-text search term, e.g. a model name.
Result ordering.
→ api.parse.bot/scraper/08ebecd1-eed7-440a-8751-71051fb738e7/<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/08ebecd1-eed7-440a-8751-71051fb738e7/search_products?query=iPhone+15' \
  -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 refurbed-com-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: refurbed SDK — search refurbished products, drill into details."""
from parse_apis.refurbed_com_api import Refurbed, SortBy, ProductNotFound

client = Refurbed()

# Search for iPhones sorted by price, cap at 5 results.
for item in client.product_summaries.search(query="iPhone 15", sort_by=SortBy.PRICE_ASC, limit=5):
    print(f"{item.name} — €{item.price} (was €{item.price_new}) [{item.badge}]")

# Drill into the cheapest hit's full detail page.
hit = client.product_summaries.search(query="Samsung Galaxy S24", limit=1).first()
if hit is not None:
    try:
        product = hit.details()
    except ProductNotFound:
        print(f"Product {hit.slug} no longer available")
    else:
        print(f"{product.name} | {product.grade} | {product.memory_size}")
        print(f"  €{product.price} from {product.merchant_name} ({product.ships_from})")
        print(f"  Rating: {product.rating}/5 ({product.review_count} reviews)")
        print(f"  Warranty: {product.warranty_months}mo", end="")
        if product.warranty_extensions:
            ext = product.warranty_extensions[0]
            print(f" (+{ext.months_added}mo for €{ext.price})", end="")
        print()

        # Show available colour/storage variants at the same grade.
        for v in product.variants[:3]:
            print(f"  Variant: {v.name} — €{v.price} ({v.availability})")

        # Show configurable options (appearance, storage, battery, etc.).
        for opt in product.options[:2]:
            labels = [c.label for c in opt.choices[:3]]
            print(f"  {opt.name}: {', '.join(labels)}")

print("exercised: product_summaries.search / details / variants / options")
All endpoints · 2 totalmissing one? ·

Searches the refurbed.ie catalogue by free text and returns one page of product tiles (16 per page) in the site's ranking. Each tile is one product variant (the site's representative offer for that product) and carries the slug and instance_id that get_product accepts unchanged, plus product_id (the catalogue SKU), current price and the original 'new' price in EUR, rating, availability badge and the variant label. Paging is via the page input (omitted = page 1); total is the site's reported result count and has_more tells whether a further page exists. Note: when nothing matches the query the site itself returns a relaxed set of loosely related products rather than an empty list, so an unmatched query still yields items. sort_by changes the order (site popularity, or price ascending/descending).

Input
ParamTypeDescription
pageinteger1-based result page; 16 items per page. A page past the end returns an empty items list with has_more false.
queryrequiredstringFree-text search term, e.g. a model name.
sort_bystringResult ordering.
Response
{
  "type": "object",
  "fields": {
    "page": "integer page returned",
    "items": "array of product tiles: name, slug, instance_id (variant id incl. optional grade suffix, e.g. 98177 or 98057b), url, price (EUR number), price_new (original new price, EUR), currency, rating (0-5 or null), badge (e.g. Bestseller / Just a few left, or null), image, product_id (catalogue SKU), brand, category, variant (label: storage | SIM | colour | grade)",
    "query": "echo of the search term",
    "total": "integer total result count reported by the site for this query",
    "sort_by": "ordering applied",
    "has_more": "boolean, true when a further page exists"
  },
  "sample": {
    "data": {
      "page": 1,
      "items": [
        {
          "url": "https://www.refurbed.ie/p/iphone-15/98177/",
          "name": "iPhone 15",
          "slug": "iphone-15",
          "badge": "Bestseller",
          "brand": "Apple",
          "image": "https://files.refurbed.com/pi/iphone-15-1786447039.jpg",
          "price": 424.99,
          "rating": 4.86,
          "variant": "128 GB | Dual-SIM (eSIM, Nano-SIM) | blue | Grade A (98177)",
          "category": "iPhones",
          "currency": "EUR",
          "price_new": 849,
          "product_id": "14106",
          "instance_id": "98177"
        },
        {
          "url": "https://www.refurbed.ie/p/iphone-15-pro-max/98057b/",
          "name": "iPhone 15 Pro Max",
          "slug": "iphone-15-pro-max",
          "badge": null,
          "brand": "Apple",
          "image": "https://files.refurbed.com/pi/iphone-15-pro-max-1694581198.jpg",
          "price": 694.99,
          "rating": 4.81,
          "variant": "256 GB | Dual-SIM (eSIM, Nano-SIM) | Natural Titanium | Grade B (98057)",
          "category": "iPhones",
          "currency": "EUR",
          "price_new": 1449,
          "product_id": "14109",
          "instance_id": "98057b"
        }
      ],
      "query": "iPhone 15",
      "total": 193,
      "sort_by": "popular",
      "has_more": true
    },
    "status": "success"
  }
}

About the Refurbed API

Search the Refurbed Catalogue

The search_products endpoint accepts a query string (e.g. "iPhone 15") and returns up to 16 product tiles per page. Each tile includes name, slug, instance_id, url, and a price in EUR. The instance_id field identifies a specific variant, including an optional grade suffix — for example 98177 for a grade-A variant or 98057b for another condition tier. Use the page parameter (1-based) to walk through results; has_more tells you whether another page exists, and total gives the full result count for the query. An optional sort_by parameter controls result ordering.

Fetch Full Product Variant Detail

The get_product endpoint takes a slug and instance_id — exactly as returned by search_products — and returns the complete detail view for that variant page. The response includes sku (the catalogue product ID), brand, name, color, condition grade (A, AA, B, or C), current price in EUR, an array of images, and an options array. Each option object contains a name (such as storage or colour) and a choices list. Each choice carries a label, a selected boolean, a price_difference (EUR delta relative to the current variant), and its own instance_id — so you can navigate to sibling variants without an additional search.

Data Scope and Coverage

All data is scoped to the refurbed.ie regional storefront and prices are returned in EUR. The grade field maps to refurbed's own condition tiers (A, AA, B, C). The options array reflects variant dimensions the site exposes — typically storage capacity, colour, and grade — and each choice includes the price delta needed to compare configurations without fetching every sibling individually.

Reliability & maintenanceVerified

The Refurbed API is a managed, monitored endpoint for refurbed.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when refurbed.com 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 refurbed.com 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
2/2 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
  • Track EUR price movements for specific refurbished device variants by polling get_product on a schedule.
  • Build a grade-aware price comparison tool using the grade field and price_difference from the options array.
  • Aggregate availability and pricing across storage configurations by following instance_id values in the options.choices list.
  • Index refurbed.ie catalogue pages for a refurbished electronics search engine using search_products pagination and total.
  • Feed product images, name, brand, and price into an affiliate product card or price widget.
  • Monitor rating changes on high-volume product listings to surface quality signals for buyers.
  • Compare refurbed condition grades (A, AA, B, C) against price to calculate cost-per-grade-tier for a given model.
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 refurbed have an official public developer API?+
Refurbed does not publish a public developer API or documented data access programme for third-party developers as of mid-2025.
What does `get_product` return for variant configuration?+
The options array contains dimension selectors (e.g. storage, colour, grade). Each selector's choices list includes a label, a selected flag, a price_difference in EUR relative to the currently fetched variant, and an instance_id you can pass back to get_product to load that sibling variant — no new search required.
How does `instance_id` differ from `sku`?+
sku (identical to product_id) is the catalogue-level identifier shared across all variants of a product. instance_id is variant-specific and includes an optional grade suffix — for example 98177 vs 98057b — so two instance IDs can share the same sku but represent different condition grades or configurations.
Does the API cover seller identity, individual seller ratings, or per-seller pricing breakdowns?+
Not currently. The API returns aggregate rating, product-level price, and condition grade, but does not expose individual seller names, per-seller offers, or seller-level ratings. You can fork this API on Parse and revise it to add an endpoint targeting the seller detail surface.
Is the search limited to refurbed.ie, or does it cover other regional storefronts?+
The current endpoints are scoped to refurbed.ie and return prices in EUR. Other regional storefronts (e.g. refurbed.de, refurbed.at) are not covered. You can fork this API on Parse and revise it to target a different regional domain.
Page content last updated . Spec covers 2 endpoints from refurbed.com.
Related APIs in EcommerceSee all →
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.
backmarket.co.uk API
Access data from backmarket.co.uk.
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.
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.
reebelo.com API
Search Reebelo's refurbished products, browse categories and brands, check real-time pricing and condition-based costs, read customer reviews, and discover current deals all in one place. Get detailed product information including SKU prices and collections to compare and find the best secondhand electronics and accessories.
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.
swiftsbuygh.com API
Access data from swiftsbuygh.com.
sarker.shop API
Access data from sarker.shop.