Discover/Bike-Discount API
live

Bike-Discount APIbike-discount.de

Access e-bike product listings, technical specs, motor info, frame geometry, and pricing from bike-discount.de across 9 endpoints.

Endpoint health
verified 3d ago
get_ebike_subcategories
get_ebike_category_listing
get_ebike_product_detail
search_products
get_ebike_geometry
9/9 passing latest checkself-healing
Endpoints
9
Updated
26d ago

What is the Bike-Discount API?

The Bike-Discount.de API exposes 9 endpoints for retrieving e-bike product data from one of Europe's larger online cycling retailers. Use get_ebike_product_detail to pull full specs, motor descriptions, frame geometry tables, pricing, and variant information for any product in the catalog. Additional endpoints cover category browsing, keyword search, brand filtering, and focused spec extraction — giving structured access to the full product data set without manual page parsing.

Try it
Items per page.
Sort order: 1=topseller, 2=price ascending, 3=price descending, 4=newest.
Page number (1-based).
api.parse.bot/scraper/4ceb9c0b-2187-44f1-a33c-0e32726674d0/<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/4ceb9c0b-2187-44f1-a33c-0e32726674d0/get_ebike_category_listing?n=24&o=1&p=1' \
  -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 bike-discount-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.

from parse_apis.bike_discount.de_e_bike_api import BikeDiscount, Sort, ProductNotFound

client = BikeDiscount()

# Browse e-bikes sorted by price ascending
for bike in client.products.list(o=Sort.PRICE_ASC, limit=5):
    print(bike.name, bike.price_sale, bike.url)

# Search and drill into full details plus focused sub-views
result = client.products.search(query="Radon", limit=1).first()
if result:
    detail = result.details()
    print(detail.name, detail.price_sale, detail.motor_info[:80])
    print(detail.data_layer.product_category, detail.data_layer.product_price)

    # Focused specs and pricing views
    specs = result.specifications()
    print(specs.specs.get("Motor", "N/A"))

    pricing = result.pricing()
    print(pricing.price_sale, pricing.data_layer.product_currency)

# List all available brands from the filter panel
for brand in client.brands.list(limit=5):
    print(brand.name)

# List subcategories from the e-bike navigation
for cat in client.subcategories.list(limit=5):
    print(cat.name, cat.url)

# Typed error handling for a missing product
try:
    bad = client.products.search(query="nonexistent_xyz_00", limit=1).first()
    if bad:
        bad.details()
except ProductNotFound as exc:
    print(f"Product not found: {exc.url_slug}")

print("exercised: products.list / products.search / details / specifications / pricing / brands.list / subcategories.list")
All endpoints · 9 totalmissing one? ·

Retrieve a paginated list of e-bikes from the category page. Returns product cards with name, price, URL, and image. Sort options control ordering: 1=topseller, 2=price ascending, 3=price descending, 4=newest. Each page returns up to n items.

Input
ParamTypeDescription
nintegerItems per page.
ointegerSort order: 1=topseller, 2=price ascending, 3=price descending, 4=newest.
pintegerPage number (1-based).
Response
{
  "type": "object",
  "fields": {
    "page": "string page number requested",
    "products": "array of ProductSummary objects with name, brand, url, price_sale, price_uvp, image_url",
    "total_on_page": "integer count of products returned on this page"
  },
  "sample": {
    "data": {
      "page": "1",
      "products": [
        {
          "url": "https://www.bike-discount.de/de/scott-voltage-eride-900-tuned-eu-raw-carbon/purple-marble",
          "name": "Scott Voltage eRide 900 Tuned",
          "brand": "",
          "image_url": "https://www.bike-discount.de/media/a9/ed/05/1767744177/293294-voltage-eride-900-tuned-eu-1.jpg",
          "price_uvp": "",
          "price_sale": "UVP* 10.999,00 € 4.299,00 €"
        }
      ],
      "total_on_page": 48
    },
    "status": "success"
  }
}

About the Bike-Discount API

Browsing and Search

get_ebike_category_listing returns paginated product cards from the main e-bike category, each containing name, brand, url, price_sale, price_uvp, and image_url. The o parameter controls sort order (1=topseller, 2=price ascending, 3=price descending, 4=newest), while p and n control pagination and page size. search_products accepts a query string and returns the same ProductSummary shape across the full catalog — including bikes, parts, and accessories. get_ebike_subcategories lists sidebar navigation links so you can enumerate available e-bike types and model-year groupings, and get_brands_list returns all brand names from the Marke filter panel.

Product Detail and Specifications

get_ebike_product_detail is the most data-dense endpoint. Supply a url_slug (the /de/... path from any listing URL) to get back specs (a key-value object with fields like Rahmen, Motor, Akku, Gabel, Bremsen), geometry (an array of tables, each an array of row arrays), variants, motor_info, both price_sale and price_uvp, and a dataLayer object containing productID, productSku, productPrice, productCurrency, and productCategory. If you only need one of these sub-sets, dedicated endpoints exist: get_ebike_specifications returns just the specs object, get_ebike_motor_info returns the motor description text, and get_ebike_geometry returns the geometry tables alone.

Pricing and Stock Metadata

get_ebike_pricing_and_stock returns the price_sale, price_uvp, and the full dataLayer object for a given product slug. The dataLayer fields (productPrice, productCurrency, productID, productCategory, productSku) come from the site's structured product metadata layer and reflect the net price and product classification used by the retailer. Note that stock-level granularity (e.g. units remaining) is not surfaced — the endpoint reflects price and product identity data rather than warehouse inventory counts.

Coverage Notes

All nine endpoints target the German-language (/de/) product surface of bike-discount.de. Product URLs from get_ebike_category_listing or search_products can be passed directly as url_slug values to any detail endpoint. Geometry data is product-dependent — some listings do not publish frame geometry, in which case get_ebike_geometry returns an empty array.

Reliability & maintenanceVerified

The Bike-Discount API is a managed, monitored endpoint for bike-discount.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bike-discount.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 bike-discount.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.

Last verified
3d ago
Latest check
9/9 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
  • Build a price-tracking tool comparing price_sale vs price_uvp across multiple e-bike models over time.
  • Aggregate motor and battery spec data from specs fields (Motor, Akku) to compare drive systems across brands.
  • Generate a brand catalog by combining get_brands_list with get_ebike_category_listing filtered per brand.
  • Populate a frame geometry comparison table for bike-fit tools using get_ebike_geometry row arrays.
  • Index e-bike product names, SKUs, and categories from dataLayer fields for a cycling product search engine.
  • Monitor new listings by sorting get_ebike_category_listing with o=4 (newest) and diffing results periodically.
  • Enrich search results from search_products with full specs by chaining into get_ebike_product_detail on each returned URL.
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 bike-discount.de offer an official developer API?+
Bike-discount.de does not publish an official public developer API or documented data feed for third-party use.
What does `get_ebike_pricing_and_stock` actually return for stock status?+
The endpoint returns price_sale, price_uvp, and the dataLayer object (productPrice, productCurrency, productID, productCategory, productSku). It does not return a numeric stock count or an explicit in-stock/out-of-stock flag — only price and product identity metadata are exposed.
Does the API cover accessories, parts, and clothing sold on bike-discount.de, or only e-bikes?+
The category and detail endpoints are scoped to the e-bike section of the site. search_products does return matching results across the full catalog including parts and accessories, but there are no dedicated category-listing or specification endpoints for those product types. You can fork this API on Parse and revise it to add category listing endpoints for parts, clothing, or other sections of the site.
Is there a way to filter `get_ebike_category_listing` by brand or price range?+
The endpoint accepts n (items per page), o (sort order), and p (page number) as inputs. Brand and price-range filtering parameters are not currently exposed. You can fork this API on Parse and revise it to add those filter inputs.
Some products return an empty array from `get_ebike_geometry`. Why?+
Frame geometry tables are not published for every product on bike-discount.de. When a product page does not include geometry data, get_ebike_geometry returns an empty array rather than an error. Check the geometry field in get_ebike_product_detail as well — it returns the same data alongside other product fields in a single call.
Page content last updated . Spec covers 9 endpoints from bike-discount.de.
Related APIs in EcommerceSee all →
fahrrad.de API
Search and browse e-bikes and bicycles from fahrrad.de to compare technical specifications, prices, and real-time availability across their store network. Find products by brand, view detailed product information, and locate inventory at specific store locations.
cannondale.com API
Find detailed Cannondale bicycle and gear information including specs, geometry, and variants, then locate authorized dealers near you. Search across bikes, electric bikes, and accessories to compare products and check local availability in real-time.
trekbikes.com API
Browse Trek's complete bike catalog by category, view detailed specifications and customer reviews, and search for specific models to find exactly what you're looking for. Locate nearby Trek shops and compare bikes to make an informed purchase decision.
giant-bicycles.com API
Shop Giant Bicycles with ease by browsing categories, searching specific models, viewing detailed specs and pricing, and checking real-time inventory across retail locations. Find nearby stores and discover clearance deals all in one place.
99bikes.com.au API
Search and browse 99 Bikes' complete product catalog, find nearby store locations, and discover workshop services all in one place. Get instant access to product collections, store details, and help centre information from Australia's leading bike retailer.
adidas.de API
Search and browse Adidas products on adidas.de to find detailed information about items, availability, pricing, and specific categories. Get comprehensive product details including size availability and stock levels across the German Adidas store.
ev-database.org API
Search and compare electric vehicles by technical specs, pricing, range, and efficiency ratings. Access detailed vehicle information, images, and manufacturer data for EVs listed on ev-database.org.
dba.dk API
Search and retrieve detailed listings from Denmark's largest marketplace DBA.dk, including product information, pricing, and seller details across general goods and car categories. Browse marketplace categories, find specific items, and access comprehensive data on both regular listings and automotive inventory.