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"
Get a token

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

NameMeaning
timestampReturn 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.

FieldType
bboxarray
crs.properties.namestring
crs.typestring
features[].bboxarray
features[].geometry_namestring
activeboolean
capacityinteger
contact_mailstring
contact_phonenull or string
datexidstring
disabledcapacityinteger
extrefstring
floorsinteger
gidinteger
housenrnull or string
lastmodifiedstring
maxheightnumber
maxwidthnumber
mu_frstring
mu_nlstring
name_frstring
name_nlstring
operator_frstring
operator_idinteger
operator_nlstring
parkingidinteger
pccpstring
road_frstring
road_nlstring
numberReturnedinteger
timeStampstring
totalFeaturesstring

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")