Belgian city data, documented properly.
Road works, air quality and transit disruptions for Flanders and Brussels are all public. Finding out how to read them is the hard part. These pages document the upstream APIs as they actually behave, and the Stadiq API, CLI and MCP server that wrap them.
The sources
Each page below is written against live responses, not against a vendor datasheet. Where an endpoint behaves differently from its documentation, the page says so.
- GIPODEvery permitted road work and public-domain occupation in Flanders, over an open OGC API Features service that needs no key.
- IRCELINE air qualityBelgium's official air-quality measurements, over a 52°North SOS timeseries API. Open, and stranger than it looks.
- De Lijn realtimeDetours and stop data for Flemish public transport, and which of De Lijn's API products actually carries what.
- Antwerp open dataWhat the city of Antwerp publishes, where the ArcGIS endpoints are, and how to query them as GeoJSON.
- Stadiq CLIInstall the `stadiq` command, store a key, and read disruptions or a briefing from a terminal or a cron job.
- Stadiq MCP serverThe same four endpoints as read-only agent tools, for Claude Desktop, Cursor or any MCP client.
Try it without a key
Two of the four upstream sources need no registration at all. If you only want road works, you do not need Stadiq. This runs as-is:
# The upstream sources are public. This one needs nothing at all:
# every permitted road work in a bounding box around Antwerp's Groenplaats.
curl -s "https://geo.api.vlaanderen.be/GIPOD/ogc/features/v1/collections/INNAME/items\
?f=application/geo%2Bjson&limit=3&bbox=4.38,51.21,4.42,51.23"What Stadiq adds is the joining: works, transit and air quality on one timeline for one address, with the results that cannot reach that address filtered out. The GIPOD page explains what you take on if you do it yourself.
The Stadiq API
Four read-only JSON endpoints: /locations, /disruptions, /air-quality and /briefing. Bearer-token auth, quota headers on every response, deterministic output. The full reference (parameters, response bodies, error codes and plans) is on the API page.
# 1. Get a key. No card, no dashboard account.
curl -X POST https://stadiq.app/api/v1/signup \
-H "Content-Type: application/json" \
-d '{"email":"you@company.be"}'
# 2. Open the emailed link, copy the key from /developers, then:
curl -H "Authorization: Bearer sq_live_…" \
"https://stadiq.app/api/v1/disruptions?lat=51.2194&lng=4.4025"The same four endpoints are available as a command-line client and as MCP tools.
Your account
The developer tier is free and self-serve: post your email, open the link, and your key is waiting here. No card, no call.
curl -X POST https://stadiq.app/api/v1/signup \
-H "Content-Type: application/json" \
-d '{"email":"you@company.be"}'