GET /api/v1/cities/{slug}/bike-parking
Radabstellanlagen je Stadt (Tier A, keylos)
Radparkraum je Stadt: Bestand an Fahrradabstellanlagen mit Stellplatzsumme (facility_count, spaces_total), Merkmalen (covered_facilities, double_deck_facilities, lit_facilities, time_limited_facilities) und Bike-and-Ride-Anlagen samt Plaetzen (bike_and_ride_facilities, bike_and_ride_spaces). by_type aggregiert je Bauform (Anlehnbuegel, Rahmenhalter, Vorderradhalter, Doppelstockabstellanlage, Fahrradstaender), cargo_bike fuehrt die Lastenradanlagen getrennt, largest_facilities die zwanzig groessten Standorte mit Ort, Plaetzen, Bauform und Merkmalen (time_limit als Freitext der Quelle). GEZAEHLT WIRD NUR DER BESTAND: geplante, abgebaute und ausser Betrieb genommene Anlagen fuehrt die Quelle im selben Layer und stehen als planned_facilities/planned_spaces, removed_facilities und out_of_service_facilities daneben, gehen aber nicht in spaces_total ein. Aktuell: Muenchen (zwei WFS-Layer des Mobilitaetsreferats, DL-DE/BY 2.0). Teilabgedeckt: Toggle aus -> 200 source_status="disabled"; nicht-abgedeckte Stadt -> 200 source_status="not_covered" (mit covered_cities); abgedeckte Stadt ohne Daten -> 200 source_status="no_data"; toter Upstream ohne Cache -> 503 mit Hint. Kaputte Upstream-Felder fuehren nie zu 500 (Zero-Trust).
Parameter
| Name | In | Pflicht | Typ | Beispiel | Beschreibung |
|---|---|---|---|---|---|
slug | path | ja | string |
Code-Beispiele
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())