Response formats
A successful request returns HTTP 200 with either a JSON document or a CSV file, controlled by the format parameter.
JSON
format=json (the default) returns a JSON document with two parts: a catalog object with metadata, and a products array with the product records.
{
"catalog": {
"dataprovider": "Belgian Cycling Factory",
"gln": "5790000000000",
"country": "BE",
"currency": "EUR",
"language": "en",
"version": "2026-10-01"
},
"products": [
{
"year": "2026",
"brand": "Brand name",
"model-no": "MOD01",
"model": "Model name",
"bidex": "110201",
"size": "56",
"color": "Black",
"variant": "...",
"mpn": "...",
"gtin": "...",
"dealer-base-price": "1299.00",
"rrp": "1599.00",
"vat": "6",
"...": "all product fields, see Data fields"
}
]
}
catalog.versionis the date of the feed generation,YYYY-MM-DD.- Each product object contains all BIDEX product fields, in the same order as the CSV columns. Optional fields without source data are explicitly
null. - Catalog metadata is not repeated per product.
JSON pagination
JSON responses are paginated with page and size (default 100 products per page, at most 1000). The response is sent as application/json; charset=utf-8 with Content-Disposition: attachment; filename="bidex-products.json".
Caching
JSON results are cached server-side per customer, language, page and size. Repeating an identical request within a short interval may therefore be served from cache; the data content is the same.
CSV
format=csv returns a semicolon-separated file that follows the fixed 153-column BIDEX BikeData V1.6 column order.
Key properties:
| Property | Value |
|---|---|
| Separator | Semicolon (;) |
| Column order | Fixed BIDEX BikeData V1.6 order, starting with dataprovider;gln;country;currency;language;version — see Data fields |
| Encoding | UTF-8 with BOM, so Excel detects the encoding correctly |
| Line ending | CRLF (\r\n) |
| Prices | Exactly 2 decimals with a decimal comma (1299,00), no thousands separator, no currency symbol — so Belgian and Dutch Excel import them as numbers |
| Empty values | Empty cells; an empty optional field does not mean the request failed |
| Quoting | Fields containing ; or " are wrapped in double quotes with inner quotes doubled; newlines inside a field are replaced by spaces |
| Filename | {dataprovider}_{country}_{language}_{currency}_{date}_{time}.csv, with the timestamp in Brussels local time, e.g. Belgian_Cycling_Factory_BE_en_EUR_2026-10-01_142315.csv; missing parts (such as country) are omitted |
Example request:
https://connections.cyclingfactory.be/api/v1/bidex/products?BuyersID=YOUR-BUYERS-ID&format=csv&language=en&country=BE¤cy=EUR
For CSV, the page and size parameters are ignored and the complete catalog for your account is streamed in one response. Only use CSV for a full download, not for page-by-page synchronisation.
Opening the CSV in Excel
CSV uses a semicolon between columns. If Excel does not divide the file into columns automatically, import it as a text/CSV file and select semicolon as the delimiter. The UTF-8 BOM ensures special characters display correctly.
Combining CSV pages
Because a CSV download always contains the complete catalog, there is normally no need to combine pages. If you generate multiple CSV files over time, treat each file as a full snapshot.