API
Öffentliche Read-only API. Kein API-Key erforderlich. Rate-Limit: 60 Anfragen/Minute.
Basis-URL
https://api.melde.monsterKategorien
potholetrashlightingfurnituredrainageotherGET
/api/monstersAlle Monster (paginiert). Filterbar nach Stadt, Kategorie, Status und Standort.
Parameter
| city | Stadtname (z.B. Leipzig) |
| category | pothole | trash | lighting | furniture | drainage | other |
| status | open | in_progress | resolved |
| lat + lng + radius | Koordinaten + Radius in Metern für Umkreissuche |
| sort | age | votes | created_at (Standard: created_at) |
| limit | Anzahl Ergebnisse (Standard: 20, Max: 100) |
| offset | Versatz für Paginierung (Standard: 0) |
Beispiel
GET https://api.melde.monster/api/monsters?city=Leipzig&category=pothole&limit=5
Beispiel-Response
{
"total": 142,
"limit": 5,
"offset": 0,
"data": [
{
"id": "abc12345",
"name": "Rumpelfried der Zähe",
"category": "pothole",
"status": "open",
"city": "Leipzig",
"lat": 51.3397,
"lng": 12.3731,
"votes": 17,
"created_at": "2026-05-12T08:23:00Z",
"age_days": 14
}
]
}GET
/api/monsters/:idEin einzelnes Monster mit allen Details.
Beispiel
GET https://api.melde.monster/api/monsters/abc12345
Beispiel-Response
{
"id": "abc12345",
"name": "Rumpelfried der Zähe",
"category": "pothole",
"status": "open",
"city": "Leipzig",
"lat": 51.3397,
"lng": 12.3731,
"description": "Riesiges Schlagloch vor dem Supermarkt. Schon drei Fahrräder kaputt.",
"photo_url": "https://cdn.melde.monster/photos/abc12345.webp",
"votes": 17,
"created_at": "2026-05-12T08:23:00Z",
"age_days": 14,
"weather": {
"temp_c": 18,
"condition": "cloudy"
},
"ai_excluded": false
}GET
/api/citiesTop-10 Städte sortiert nach Anzahl offener Monster.
Beispiel
GET https://api.melde.monster/api/cities
Beispiel-Response
[
{
"city": "Leipzig",
"open_monsters": 312,
"total_monsters": 890
},
{
"city": "Berlin",
"open_monsters": 278,
"total_monsters": 1204
},
{
"city": "Köln",
"open_monsters": 215,
"total_monsters": 643
}
]GET
/api/cities/:city/monstersAlle Monster einer Stadt. Unterstützt dieselben Filterparameter wie /api/monsters.
Parameter
| sort | age | votes | created_at |
| status | open | in_progress | resolved |
| category | Kategorie-Filter |
| limit / offset | Paginierung |
Beispiel
GET https://api.melde.monster/api/cities/Leipzig/monsters?sort=age
Beispiel-Response
{
"city": "Leipzig",
"total": 312,
"limit": 20,
"offset": 0,
"data": [
{
"id": "xyz99001",
"name": "Glibbert der Beharrliche",
"category": "trash",
"status": "open",
"lat": 51.3452,
"lng": 12.3801,
"votes": 9,
"created_at": "2026-01-04T14:00:00Z",
"age_days": 141
}
]
}Nutzungsbedingungen
Die API darf für nicht-kommerzielle Zwecke frei genutzt werden. Bei kommerzieller Nutzung oder hohem Volumen bitte kurze Mail an kontakt@melde.monster.