Discover/fahrrad API
live

fahrrad APIfahrrad.de

Access product listings, technical specs, variant availability, and store locations from fahrrad.de via 6 structured endpoints. No scraping needed.

Endpoint health
verified 3d ago
get_product_availability
list_collection
get_product_details
list_brands
search_products
6/6 passing latest checkself-healing
Endpoints
6
Updated
26d ago

What is the fahrrad API?

The fahrrad.de API covers 6 endpoints that return structured bicycle and e-bike data including product titles, technical specification tables, variant pricing, and stock status. The get_product_details endpoint is the most data-dense, returning a specifications object of parsed spec sections alongside full variant arrays. Use search_products to find products by keyword, or list_collection to browse by category handle.

Try it
Maximum number of results to return.
Search keyword (e.g. 'Cube', 'e-bike', 'helmet')
api.parse.bot/scraper/652bcc57-4e8f-4e9b-b0e5-09df1c2e3d7e/<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/652bcc57-4e8f-4e9b-b0e5-09df1c2e3d7e/search_products?limit=5&query=Cube' \
  -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 fahrrad-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.fahrrad_de_product___store_api import Fahrrad, ProductSummary, Product, Brand, Store

client = Fahrrad()

# Search for products by keyword
for item in client.products.search(query="Cube", limit=5):
    print(item.title, item.price, item.vendor)

# Get full product details from a search result
for summary in client.products.search(query="helmet", limit=1):
    product = summary.details()
    print(product.title, product.vendor, product.specifications)

# Browse a collection by handle
for product in client.collection("e-bikes").products(limit=3):
    print(product.title, product.vendor, product.product_type)
    for variant in product.variants:
        print(variant.title, variant.price, variant.available)

# Check availability on a product fetched from a collection
for product in client.collection("fahrraeder").products(limit=1):
    for va in product.availability():
        print(va.title, va.sku, va.available, va.price)

# List all brands
for brand in client.brands.list():
    print(brand.name, brand.handle)

# List all store locations
for store in client.stores.list():
    print(store.name, store.url)
All endpoints · 6 totalmissing one? ·

Full-text predictive search over the fahrrad.de product catalog. Returns matching products with title, price, vendor, and image. Results are ranked by relevance.

Input
ParamTypeDescription
limitintegerMaximum number of results to return.
queryrequiredstringSearch keyword (e.g. 'Cube', 'e-bike', 'helmet')
Response
{
  "type": "object",
  "fields": {
    "total": "integer count of products returned",
    "products": "array of product summary objects with title, handle, price, compare_at_price, vendor, image, url"
  },
  "sample": {
    "data": {
      "total": 10,
      "products": [
        {
          "url": "https://www.fahrrad.de/products/cube-trinkflasche-flow-750-black?_pos=1&_psq=Cube&_ss=e&_v=1.0",
          "image": "https://cdn.shopify.com/s/files/1/0814/6724/4875/files/df86f32466ee25febb892bdc39c5f6971b0eaae7_2072567_e5d83c.jpg?v=1776770774",
          "price": "4.95",
          "title": "CUBE Trinkflasche Flow 750 black",
          "handle": "cube-trinkflasche-flow-750-black",
          "vendor": "Cube",
          "compare_at_price": null
        }
      ]
    },
    "status": "success"
  }
}

About the fahrrad API

Product Search and Collection Browsing

The search_products endpoint accepts a query string (e.g. 'Cube', 'e-bike', 'helmet') and an optional limit integer. It returns an array of product objects containing title, handle, price, compare_at_price, vendor, image, and url. The compare_at_price field lets you identify products that are currently discounted. The handle values returned here can be passed directly into get_product_details or get_product_availability.

The list_collection endpoint takes a collection_handle string (e.g. 'e-bikes', 'sale', 'fahrraeder') along with page and limit for pagination. It returns full Shopify-style product objects including variants, images, options, tags, body_html, and product_type — substantially more fields than search results.

Product Details and Availability

get_product_details combines JSON product data with spec tables parsed from the product page, delivering a specifications object whose keys are spec section names (e.g. frame geometry, drivetrain) each mapping to key-value pairs of technical attributes. This makes it suitable for building comparison tools or filtering bikes by frame material, gear count, motor type, or brake standard without manual parsing.

get_product_availability is a lighter call that returns only the availability array: each entry has id, title, sku, available (boolean or null), and price. Use it for stock checks without fetching the full product payload.

Brands and Store Locations

list_brands returns all brands sold on fahrrad.de with name, handle, and url — useful for building brand-filtered browsing flows or validating vendor names from product results. list_stores returns physical retail locations with name, url, and handle, covering the fahrrad.de brick-and-mortar network.

Reliability & maintenanceVerified

The fahrrad API is a managed, monitored endpoint for fahrrad.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when fahrrad.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 fahrrad.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
6/6 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 bike comparison tool using specifications fields from get_product_details across multiple products
  • Monitor price drops by comparing price vs compare_at_price from search_products results
  • Check real-time variant stock status using the available field from get_product_availability
  • Enumerate all e-bike listings in the 'e-bikes' collection with full variant data via list_collection
  • Aggregate brand catalogs using list_brands handles then querying each brand's collection
  • Build a store locator or in-store pickup feature using list_stores location data
  • Track SKU availability across size and color variants for inventory intelligence using sku and available fields
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 fahrrad.de have an official developer API?+
No. fahrrad.de does not publish a public developer API or developer portal. The Parse API provides structured access to their product, brand, and store data without requiring a direct integration.
What does the `specifications` field in `get_product_details` actually contain?+
It is an object where each key is a spec section name (such as frame or groupset details) and each value is itself a key-value map of attribute names to their values. The exact keys depend on the individual product listing — not every product will have the same sections. The available field on variants can be boolean or null; null typically means availability is undetermined rather than out of stock.
Does the API return customer reviews or ratings for products?+
Not currently. The API covers product metadata, technical specs, pricing, variant availability, brands, and store locations. You can fork it on Parse and revise to add a review-fetching endpoint if product ratings are needed.
How does pagination work in `list_collection`?+
The endpoint accepts page (integer) and limit (integer) parameters. Results are returned as an array under the products key. If a collection has more products than the limit value, increment the page parameter to retrieve the next batch. There is no explicit total-count field in the collection response, so you iterate until the returned array is smaller than the requested limit.
Can I filter `list_collection` results by price range, frame size, or other attributes?+
The endpoint does not accept filter parameters beyond collection_handle, page, and limit. Attribute filtering must be done client-side against the returned variants and tags fields. You can fork the API on Parse and revise it to add server-side filtering logic over those fields.
Page content last updated . Spec covers 6 endpoints from fahrrad.de.
Related APIs in EcommerceSee all →
bike-discount.de API
Search and browse e-bikes from Bike-Discount.de to retrieve detailed specs, motor information, frame geometry, pricing, and stock availability. Access comprehensive product data across multiple brands and categories for research, comparison, and market analysis.
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.
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.
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.
hagebau.de API
Browse Hagebau's complete product catalog, search across thousands of items by category and brand, and check real-time store availability for building materials and home improvement products. Access detailed product specifications, filter by brand, and discover what's in stock at your nearest location.
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.
en.zalando.de API
Browse Zalando's product catalog to find items by category or search, view detailed product information including prices and descriptions, and discover available brands and search suggestions. Get instant access to Zalando's inventory data to compare products, prices, and availability across fashion and lifestyle categories.