rebuy APIrebuy.de ↗
Search rebuy.de's catalog of refurbished electronics and media. Get condition grades, pricing variants, stock status, and RRP comparisons via one API endpoint.
What is the rebuy API?
The rebuy.de API gives developers access to rebuy's catalog of refurbished electronics and media products through a single search_products endpoint. Each response returns up to 10 fields per product, including condition-graded pricing variants (A1–A4), stock availability, ratings, and the recommended retail price — enough to build price-comparison tools, deal trackers, or inventory monitors against one of Germany's largest refurbished goods platforms.
curl -X GET 'https://api.parse.bot/scraper/a0f513db-60f6-407c-b086-746089d5c63b/search_products?page=1&sort=best_results&query=iPhone+15' \ -H 'X-API-Key: $PARSE_API_KEY'
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 rebuy-de-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: rebuy_de_api SDK — bounded, re-runnable; every call capped."""
from parse_apis.rebuy_de_api import Rebuy, Sort, InvalidInput
client = Rebuy()
# Search for refurbished iPhones sorted by price ascending.
for product in client.products.search(query="iPhone 15", sort=Sort.PRICE_ASC, limit=3):
print(product.name, product.price_min, product.price_recommended)
# Drill-down: take the cheapest result and inspect its condition variants.
item = client.products.search(query="Samsung Galaxy", limit=1).first()
if item:
for variant in item.variants:
print(variant.label, variant.price, variant.quantity)
# Typed error handling around a search with bad input.
try:
client.products.search(query="MacBook Pro", sort=Sort.BEST_RESULTS, limit=2).first()
except InvalidInput as e:
print("invalid:", e.message)
print("exercised: products.search")
Full-text search over rebuy.de's catalog of refurbished electronics and media. Results include condition-based pricing variants (A1 to A4 quality grades), stock availability, ratings, and recommended retail price for savings comparison. Results are auto-iterated across pages of 29 items.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for results pagination (1-based). |
| sort | string | Sort order for results. |
| queryrequired | string | Search term (product name, brand, model, etc.). |
{
"type": "object",
"fields": {
"page": "integer current page number",
"products": "array of product objects with pricing and condition variants",
"total_pages": "integer total number of pages",
"total_results": "integer total number of matching products"
},
"sample": {
"data": {
"page": 1,
"products": [
{
"id": 15184338,
"url": "https://www.rebuy.de/kaufen/apple-iphone-15-128gb-schwarz",
"name": "Apple iPhone 15 128GB schwarz",
"on_sale": false,
"category": "Handy",
"in_stock": true,
"variants": [
{
"label": "A1",
"price": 488.99,
"quantity": 101
},
{
"label": "A2",
"price": 464.99,
"quantity": 495
},
{
"label": "A3",
"price": 418.99,
"quantity": 302
}
],
"image_url": "https://images.rebuy.com/350x350/rebuy.asset.akeneo.cloud/frontcover_electronics_file/media_file/frontcover_electronics_file_15184338.jpeg?t=1779897204",
"price_min": 418.99,
"avg_rating": 4.575,
"basic_name": "Apple iPhone 15",
"num_ratings": 80,
"price_recommended": 536
}
],
"total_pages": 5,
"total_results": 143
},
"status": "success"
}
}About the rebuy API
What the API covers
The search_products endpoint accepts a free-text query parameter (product name, brand, or model number) and returns a paginated list of matching items from rebuy.de's refurbished catalog. Each result set includes total_results and total_pages integers so callers can walk the full result set programmatically. The page parameter is 1-based, and an optional sort parameter controls result ordering.
Product response shape
Each object in the products array carries condition-based pricing variants spanning rebuy's A1 (near-new) through A4 (visibly used) quality grades, the current stock availability for each grade, and a recommended retail price (RRP) that allows direct savings calculation. Product-level ratings are also included, giving downstream applications the data needed to filter or rank by quality alongside price.
Pagination and result scope
Results are paginated in sets of 20 per page. The total_pages and total_results fields returned on every response let callers determine exactly how many iterations are needed to retrieve the full result set for a given query. For broad queries (e.g. "iPhone" or "laptop") this can run to dozens of pages, so building page-aware loops is recommended.
Source and regional context
rebuy.de is a German-market platform, so product listings, titles, and condition descriptions are in German. Prices are denominated in EUR. Coverage skews toward consumer electronics, smartphones, gaming hardware, and physical media such as books, CDs, and DVDs.
The rebuy API is a managed, monitored endpoint for rebuy.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when rebuy.de 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 rebuy.de 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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track price changes across A1–A4 condition grades for a specific smartphone model over time
- Build a refurbished-vs-new savings calculator using the RRP and condition-variant prices
- Monitor stock availability for specific products to alert buyers when an A1-grade unit becomes available
- Aggregate rebuy.de listings into a broader refurbished electronics comparison site
- Filter products by rating to surface highly-rated refurbished items within a budget
- Identify which product categories have the deepest discounts relative to RRP on rebuy.de
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 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.
Does rebuy.de offer an official developer API?+
What does the `search_products` endpoint return for each product?+
page, total_pages, and total_results.Are individual product detail pages or seller information accessible?+
Is there a way to filter results by condition grade or price range directly in the request?+
query string and an optional sort parameter but does not currently support server-side filtering by condition grade or price band. Filtering by those fields needs to be applied client-side after retrieving results. You can fork this API on Parse and revise it to add condition or price filter parameters if the underlying catalog supports them.