REST-API für Entwickler, Kommunen und Fachstellen – Meldungen, Statistiken und Geodaten programmatisch nutzen.
Einstieg
Die Meldefuchs-API folgt REST-Konventionen. Alle Antworten sind JSON mit UTF-8-Kodierung.
Die Basis-URL lautet:
https://meldefuchs.de/api/v1
Ein einfacher Verbindungstest:
GET https://meldefuchs.de/api/v1
Die API kann im ACP aktiviert oder deaktiviert werden. Einzelne Features (z. B. Statistik, Geocoding)
lassen sich dort separat steuern.
Authentifizierung
Je nach Konfiguration sind Lese- und Schreibzugriffe mit einem API-Schlüssel geschützt.
Schlüssel werden im ACP erstellt und mit Berechtigungen (read,
write, admin) versehen.
Header-Varianten
X-API-Key: mf_…
Authorization: Bearer mf_…
Schreibzugriff (POST /reports) erfordert in der Regel einen Key mit Scope
write. Bearbeiten und Löschen (PATCH,
DELETE) benötigen admin.
Antwortformat
Erfolgreiche Antworten:
{
"success": true,
"message": "OK",
"api_version": "1.0",
"data": { … }
}
Paginierte Listen (GET /reports) enthalten zusätzlich meta:
{
"success": true,
"data": [ … ],
"meta": {
"page": 1,
"per_page": 50,
"total": 128,
"total_pages": 3
}
}
Fehlerantworten:
{
"success": false,
"message": "Beschreibung des Fehlers",
"api_version": "1.0"
}
Typische HTTP-Statuscodes: 400 (Validierung), 401 (Key fehlt), 403 (Feature/Scope), 404, 422, 503 (Wartung/API aus).
Endpoints
GET
/config
Öffentliche App-Konfiguration: Kategorien, Nestgrößen, Karten-Defaults, API-Flags.
GET
/reports
Meldungen auflisten (paginiert).
Query-Parameter
category – z. B. eichenprozessionsspinner
page, per_page – Pagination (max. 100 pro Seite)
bounds – Kartenausschnitt als lat_min,lng_min,lat_max,lng_max
GET
/reports/{id}
Einzelne Meldung abrufen.
POST
/reports
Neue Meldung anlegen (JSON-Body).
Pflichtfelder
Optional
category (Standard: eichenprozessionsspinner)
nest_size – klein, mittel, gross, unbekannt
description, reporter_name, reporter_email
PATCH
/reports/{id}
Meldung bearbeiten (Status, Nestgröße, Beschreibung, Koordinaten). Erfordert Admin-Scope.
DELETE
/reports/{id}
Meldung löschen. Erfordert Admin-Scope.
GET
/stats
Aggregierte Statistik: Gesamtzahl, Bezirke, Nestgrößen, Zeitreihen, Heatmap-Punkte.
Parameter: category (optional)
GET
/geocode
Reverse-Geocoding für Koordinaten → Bezirk/Straße.
Parameter: lat, lng
Beispiele
Meldungen abrufen
curl -s "https://meldefuchs.de/api/v1/reports?per_page=10" \
-H "X-API-Key: mf_IHR_SCHLUESSEL"
Meldung erstellen
curl -s -X POST "https://meldefuchs.de/api/v1/reports" \
-H "Content-Type: application/json" \
-H "X-API-Key: mf_IHR_SCHLUESSEL" \
-d '{
"category": "eichenprozessionsspinner",
"latitude": 52.520008,
"longitude": 13.404954,
"nest_size": "mittel",
"description": "Nest an Eiche im Park"
}'
Statistik
curl -s "https://meldefuchs.de/api/v1/stats" \
-H "X-API-Key: mf_IHR_SCHLUESSEL"
Hinweise
- CORS: Kann im ACP für Browser-Apps freigeschaltet werden.
- Rate-Limit: Aktiv – standardmäßig 120 Anfragen pro Minute und IP (konfigurierbar im ACP). Bei Überschreitung: HTTP
429 mit Retry-After.
- Wartungsmodus: Neue Meldungen per API werden während der Wartung blockiert (HTTP 503).
- Legacy-API:
https://meldefuchs.de/api/reports bleibt für die Website bestehen; neue Integrationen sollten v1 nutzen.