GET /api/v1/cities/{slug}/parking
Parking occupancy/catalogue per city (one endpoint, source fallback)
Per-city parking data from ONE endpoint with a source fallback (dedup): prefers ParkenDD live occupancy (free/total per facility, 13 cities with a verified open license, key-less), and for Munich the static open-data location catalogue (DL-DE/BY 2.0, no live occupancy), and for Frankfurt, Wuppertal and Magdeburg the cities own Mobilithek sources (DATEX II, live occupancy + master data, DL-DE/BY or DL-DE/Zero). License/tier are per record from the source verified at origin (all Tier A: e.g. Cologne/Dortmund DL-DE/Zero 2.0, Hamburg DL-DE/BY 2.0, Aachen/Ulm CC0, Karlsruhe/Heidelberg CC BY 4.0). Supersedes the deprecated path /api/v1/live/dortmund/parking. Toggle off -> 200 source_status="disabled"; city not covered -> 200 source_status="not_covered" (with covered_cities); covered city without a parking facility -> 200 source_status="no_data".
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
slug | path | yes | string |
Code samples
curl "https://infranode.dev/api/v1/cities/hamburg/parking"const res = await fetch("https://infranode.dev/api/v1/cities/hamburg/parking");
const data = await res.json();
console.log(data);import httpx
res = httpx.get("https://infranode.dev/api/v1/cities/hamburg/parking")
res.raise_for_status()
print(res.json())