Car parks
Traffic: counters, message signs, events and car parks
- Format
- GeoJSON
- Updates
- Daily
- Latest snapshot
- Snapshots stored
- about 11
curl -H "Authorization: Bearer $MOBILITYTWIN_TOKEN" "https://api.mobilitytwin.brussels/traffic/car-parks"
The public car parks of Brussels, as published by Brussels Mobility: name, address, operator, contact,
capacity and disabledcapacity, number of floors and maximum height (-999 when unknown). There is no
occupancy.
Which days have data
Data from 22 Oct 2026 to 2 Nov 2026, on 11 days. 10 of the last 30 days have data. A typical day holds 1 snapshot. Days are in UTC.
2026
JanFebMarAprMayJunJulAugSepOctNovDec
- Full day
- Partial, 50–90% of a typical day
- Low, under 50%
- No snapshot
- Not expected
Click a day above, or pick a date, to get its requests.
Parameters
| Name | Meaning |
|---|---|
timestamp | Return the last snapshot at or before this moment, in Unix seconds or ISO 8601 (e.g. 2026-05-06T12:00:00Z). Without it, the latest snapshot is returned. |
Response fields
A GeoJSON FeatureCollection. Field names without a prefix are in each feature's properties.
| Field | Type |
|---|---|
bbox | array |
crs.properties.name | string |
crs.type | string |
features[].bbox | array |
features[].geometry_name | string |
active | boolean |
capacity | integer |
contact_mail | string |
contact_phone | null or string |
datexid | string |
disabledcapacity | integer |
extref | string |
floors | integer |
gid | integer |
housenr | null or string |
lastmodified | string |
maxheight | number |
maxwidth | number |
mu_fr | string |
mu_nl | string |
name_fr | string |
name_nl | string |
operator_fr | string |
operator_id | integer |
operator_nl | string |
parkingid | integer |
pccp | string |
road_fr | string |
road_nl | string |
numberReturned | integer |
timeStamp | string |
totalFeatures | string |
Python example
import requests
import geopandas as gpd
url = "https://api.mobilitytwin.brussels/traffic/car-parks"
data = requests.get(url, headers={
'Authorization': 'Bearer [MY_API_KEY]'
}).json()
gdf = gpd.GeoDataFrame.from_features(data["features"])
# The ten largest public car parks
for _, park in gdf.nlargest(10, "capacity").iterrows():
print(f"{park['name_fr']} ({park['operator_fr']}): {park['capacity']} places")
gdf.plot(figsize=(10, 8), markersize=gdf["capacity"] / 20, color="#1B2A4A")