🔌 Public API — open data
Freely access Brussels public-cleanliness reports (citizens and FixMyStreet) as JSON. Read-only, no authentication.
🔒 Anonymized data — The reporter identity is never exposed. You can follow a case through its public history.
List / search reports
Returns a paginated, filterable list of reports.
https://cleaners.brussels/api/reports.php ▶ Try it (?limit=5)Parameters
| Parameter | Values | Demo |
|---|---|---|
category |
abandoned_bags, abandoned_cart, dog_dirt, bin_overflow, bouteille_de_gaz_protoxyde, bulle_a_verre_couleur_debo, bulle_a_verre_blanche_debo, graffiti, illegal_dump, voirie_non_balayee_2, huile_liquide_sur_la_voiri, bulle_a_vetements_debordan_2, dead_animal, littering, other | ▶ Demo |
status |
pending, in_progress, revisit, resolved, rejected | ▶ Demo |
municipality_id |
1–19 | ▶ Demo |
source |
citizen, fixmystreet, all default all | ▶ Demo |
from / to |
YYYY-MM-DD (on the creation date) | ▶ Demo |
bbox |
minLng,minLat,maxLng,maxLat | ▶ Demo |
limit / offset |
default 50 (max 200) / 0 | ▶ Demo |
lang |
fr, nl, en, de | ▶ Demo |
View a report
Returns a specific report with its description.
https://cleaners.brussels/api/reports.php?id=123Includes the public case history (status changes, corroborated reports) — with no personal data.
Example response
{
"ok": true, "total": 39000, "count": 5, "limit": 5, "offset": 0,
"reports": [
{
"code": "FMS-006924",
"category": "illegal_dump",
"category_label": "Dépôt clandestin / Encombrants",
"status": "pending", "status_label": "En attente",
"lat": 50.8466, "lng": 4.3528,
"address": "Quai de l'Industrie 30, 1080",
"municipality": "Molenbeek-Saint-Jean",
"is_regional": false,
"created_at": "2026-07-20 14:00:00", "resolved_at": null,
"photo": "https://cleaners.brussels/uploads/2026/07/xxxx.jpg",
"source": "fixmystreet",
"fms_id": "1166200", "fms_url": "https://fixmystreet.brussels/1166200"
}
]
}
Reusable open data — please credit cleaners.brussels as the source.