GET /api/v1/cities/{slug}/bike-parking
Bike parking facilities per city (Tier A, keyless)
Bike parking per city: the in-service stock of bicycle parking facilities with total spaces (facility_count, spaces_total), features (covered_facilities, double_deck_facilities, lit_facilities, time_limited_facilities) and bike-and-ride facilities including spaces (bike_and_ride_facilities, bike_and_ride_spaces). by_type aggregates per construction type, cargo_bike carries the cargo bike facilities separately, largest_facilities the twenty biggest locations with place, spaces, type and features (time_limit as free text from the source). ONLY THE IN-SERVICE STOCK IS COUNTED: planned, removed and out-of-service facilities live in the same source layer and are reported separately as planned_facilities/planned_spaces, removed_facilities and out_of_service_facilities, but never enter spaces_total. Currently: Munich (two WFS layers of the mobility department, DL-DE/BY 2.0). Partial coverage: toggle off -> 200 source_status="disabled"; city not covered -> 200 source_status="not_covered" (with covered_cities); covered city without data -> 200 source_status="no_data". Broken upstream fields never cause 500.
Parameters
| Name | In | Required | Type | Example | Description |
|---|---|---|---|---|---|
slug | path | yes | string |
Code samples
curl "https://infranode.dev/api/v1/cities/hamburg/bike-parking"const res = await fetch("https://infranode.dev/api/v1/cities/hamburg/bike-parking");
const data = await res.json();
console.log(data);import httpx
res = httpx.get("https://infranode.dev/api/v1/cities/hamburg/bike-parking")
res.raise_for_status()
print(res.json())