Zum Hauptinhalt springen

Benutzerhandbuch API

Programmatischer Zugriff auf alle Daten von autobahn-baustellen.de per Token-authentifizierter REST-API. Excel-Downloads, Baustellen- und Unfall-Daten als JSON, historische Auswertungen mit Stichtag.

1. Authentifizierung

Alle Endpoints benötigen einen Bearer-Token. Den Token finden Sie nach dem Login in Ihrem Kundenbereich unter „API-Token“.

Übergabe entweder per HTTP-Header (empfohlen):

Authorization: Bearer DEIN_TOKEN

oder per Query-Parameter (für schnelle Browser-Tests, nicht für produktive Skripte empfohlen):

https://www.autobahn-baustellen.de/wp-json/autobahn/v1/files?token=DEIN_TOKEN
Sicherheit: Tokens nicht in öffentlichen Repos, Frontend-JavaScript oder URLs in Logs verewigen. Bei Verdacht auf Kompromittierung im Kundenbereich neuen Token generieren – der alte wird sofort ungültig.

2. Endpoint-Übersicht

Base-URL: https://www.autobahn-baustellen.de/wp-json/autobahn/v1/

Methode Pfad Beschreibung
GET /verify Token prüfen, Kundenstammdaten
GET /files Verfügbare Excel-Dateien auflisten
GET /download/{key} Excel-Datei (aktuell)
GET /download/{key}?date=YYYY-MM-DD Excel-Datei (historisch)
GET /archive-dates Liste verfügbarer Archiv-Tage
GET /baustellen NEU Alle Baustellen als JSON, filterbar
GET /baustellen/{id}/unfaelle NEU Unfälle einer Baustelle
GET /unfaelle/active NEU Aktuell in der API stehende Unfälle
GET /unfaelle/top NEU Top-Baustellen-Ranking
GET /unfaelle/stats NEU Aggregierte Statistik

3. Token prüfen

GET /verify

Verifiziert den Token und liefert die hinterlegten Kundenstammdaten. Idealer „Health-Check“ für Integrationen.

Beispiel

curl -H "Authorization: Bearer DEIN_TOKEN" \
  https://www.autobahn-baustellen.de/wp-json/autobahn/v1/verify

Antwort

{
  "valid": true,
  "customer": {
    "email": "info@beispiel-firma.de",
    "company": "Beispiel GmbH",
    "valid_until": "2026-12-31"
  }
}

4. Verfügbare Excel-Dateien

GET /files

Liefert eine Liste aller aktuell ausgelieferten Excel-Dateien mit Pfad-Key, Dateigröße, Datum und Download-URL.

Beispiel

curl -H "Authorization: Bearer DEIN_TOKEN" \
  https://www.autobahn-baustellen.de/wp-json/autobahn/v1/files

Antwort

{
  "customer": { "email": "...", "company": "..." },
  "files": [
    {
      "key": "baustellen",
      "filename": "baustellen.xlsx",
      "size_bytes": 1845720,
      "size_human": "1.76 MB",
      "modified": "2026-06-21 03:12:04",
      "download_url": "https://www.autobahn-baustellen.de/wp-json/autobahn/v1/download/baustellen"
    },
    { "key": "wochen", "...": "..." },
    { "key": "warnungen", "...": "..." }
  ]
}

5. Excel-Download

GET /download/{key}

Streamt die angeforderte Excel-Datei als .xlsx-Binary.

Pfad-Parameter

Parameter Werte Beschreibung
key baustellen Alle Baustellen-Daten – inkl. Unfall-Spalten falls verfügbar
wochen Wochenübersicht
warnungen Verkehrsmeldungen (DWD-Wetterwarnungen)

Query-Parameter

Parameter Beschreibung
date NEU Optional. Format YYYY-MM-DD. Liefert historische Excel mit dem Stand dieses Tages. Bei baustellen sind die Unfall-Spalten dann auf den Stichtag bezogen („Unfälle (30T) bis YYYY-MM-DD“ usw.).

Beispiele

# Aktuelle Baustellen-Excel
curl -H "Authorization: Bearer DEIN_TOKEN" \
  -o baustellen.xlsx \
  https://www.autobahn-baustellen.de/wp-json/autobahn/v1/download/baustellen

# Historische Baustellen-Excel vom 1.6.2025
curl -H "Authorization: Bearer DEIN_TOKEN" \
  -o baustellen-2025-06-01.xlsx \
  "https://www.autobahn-baustellen.de/wp-json/autobahn/v1/download/baustellen?date=2025-06-01"
Datenstand: Die Excel wird täglich um 03:00 neu erzeugt. Historische Daten reichen so weit zurück wie unser Archiv – die Liste der verfügbaren Tage gibt es unter /archive-dates.

6. Verfügbare Archiv-Tage

GET /archive-dates

Liste aller Tage, für die historische Excel-Dateien erzeugt werden können.

Antwort

{
  "count": 542,
  "dates": [
    {
      "date": "2026-06-21",
      "download_url_baustellen": "https://www.autobahn-baustellen.de/wp-json/autobahn/v1/download/baustellen?date=2026-06-21",
      "download_url_warnungen": "https://www.autobahn-baustellen.de/wp-json/autobahn/v1/download/warnungen?date=2026-06-21"
    },
    { "date": "2026-06-20", "...": "..." }
  ]
}

7. Baustellen als JSON NEU

GET /baustellen

Liefert dieselben Felder wie die Browser-Tabelle (/kunden-bereich/baustellen-tabelle/) als JSON, inkl. der drei Unfall-Spalten (unfaelle_30d, unfaelle_90d, unfaelle_gesamt).

Query-Parameter

Parameter Beschreibung
autobahn Filter auf Autobahn-Kürzel (z.B. A8)
bundesland Filter auf Bundesland (z.B. Bayern)
mit_unfall 1 = nur Baustellen mit mindestens einem Unfall in der Historie

Beispiel

# Alle Baustellen in Bayern mit mindestens einem Unfall
curl -H "Authorization: Bearer DEIN_TOKEN" \
  "https://www.autobahn-baustellen.de/wp-json/autobahn/v1/baustellen?bundesland=Bayern&mit_unfall=1"

Antwort (gekürzt)

{
  "generated_at": "2026-06-21 03:12:04",
  "count": 287,
  "count_total": 8945,
  "filters": { "bundesland": "Bayern", "mit_unfall": 1 },
  "data": [
    {
      "autobahn": "A8",
      "titel": "Karlsruhe → Stuttgart, Pforzheim-Ost",
      "abschnitt": "AS Pforzheim-Ost - AS Pforzheim-Süd",
      "start": "2024-09-13",
      "ende": "2027-12-31",
      "gesperrt": "Nein",
      "koordinaten": "48.8745, 8.7212",
      "bundesland": "Bayern",
      "laenge_km": 1.9,
      "breite_m": 3.25,
      "hoehe_m": null,
      "kmh": 80,
      "subphasen": 3,
      "noch_aktiv": "Ja",
      "letzter_nachweis": "2026-06-20",
      "dauer_tage": 647,
      "wetter": "trocken",
      "temp_min": 14.2,
      "temp_max": 23.8,
      "warnung": "",
      "unfaelle_30d": 4,
      "unfaelle_90d": 11,
      "unfaelle_gesamt": 28
    }
  ]
}

8. Unfälle einer Baustelle NEU

GET /baustellen/{identifier}/unfaelle

Alle erfassten Unfälle einer bestimmten Baustelle (identifier ist die ID aus der Autobahn-GmbH-API).

Query-Parameter

Parameter Beschreibung
days Auf die letzten X Tage einschränken (Default: alle)

Beispiel

curl -H "Authorization: Bearer DEIN_TOKEN" \
  "https://www.autobahn-baustellen.de/wp-json/autobahn/v1/baustellen/Um9hZHdvcms.../unfaelle?days=90"

Antwort

{
  "baustelle": {
    "identifier": "Um9hZHdvcmtfX21kbS52aXpfX0xNUy1OVy9yX0xNUy1OVy81MDAxMzlfRC...",
    "autobahn": "A8",
    "subtitle": "Karlsruhe → Stuttgart, Pforzheim-Ost",
    "extent": "8.71,48.87,8.73,48.88",
    "is_active": true
  },
  "count": 4,
  "days": 90,
  "data": [
    {
      "warning_identifier": "V0FSTklOR19fbWRtLnZpel9fTE1TLU5XL3JfTE1TLU5XLzM...",
      "autobahn": "A8",
      "subtitle": "Auffahrunfall, Höhe AS Pforzheim-Ost",
      "accident_type": "auffahrunfall",
      "lat": 48.875,
      "lon": 8.722,
      "first_seen": "2026-06-15 14:23:11",
      "last_seen": "2026-06-15 17:42:08",
      "cleared_at": "2026-06-15 17:42:08",
      "is_active": false,
      "match_method": "bbox",
      "match_distance_m": 45
    }
  ]
}

9. Aktuelle Unfälle NEU

GET /unfaelle/active

Liefert alle Unfälle, die aktuell noch in der Autobahn-API stehen (Live-Daten, aktualisiert alle 10 Minuten).

Query-Parameter

Parameter Beschreibung
autobahn Filter auf Autobahn-Kürzel

Beispiel

curl -H "Authorization: Bearer DEIN_TOKEN" \
  "https://www.autobahn-baustellen.de/wp-json/autobahn/v1/unfaelle/active?autobahn=A8"

Mögliche accident_type-Werte

  • unfall – allgemeiner Unfall
  • auffahrunfall
  • lkw_unfall
  • motorrad_unfall
  • massenunfall – Massenkarambolage
  • wildunfall
  • fahrzeugbrand
  • falschfahrer – Falsch-/Geisterfahrer
  • sonstiges – aus benutzerdefinierten Trigger-Wörtern

10. Top-Baustellen NEU

GET /unfaelle/top

Ranking der Baustellen nach Anzahl der zugeordneten Unfälle.

Query-Parameter

Parameter Default Beschreibung
limit 20 Wie viele Plätze (1-500)
days Auf Zeitraum einschränken (z.B. 30)
autobahn Nur eine Autobahn berücksichtigen

Beispiel

curl -H "Authorization: Bearer DEIN_TOKEN" \
  "https://www.autobahn-baustellen.de/wp-json/autobahn/v1/unfaelle/top?limit=10&days=30"

Antwort

{
  "count": 10,
  "limit": 10,
  "days": 30,
  "data": [
    {
      "roadwork_identifier": "Um9hZHdvcmt...",
      "autobahn": "A8",
      "unfall_count": 12,
      "first_accident": "2026-05-24 08:14:23",
      "last_accident": "2026-06-20 19:55:01",
      "baustelle": {
        "subtitle": "Karlsruhe → Stuttgart, Pforzheim-Ost",
        "is_active": true,
        "autobahn": "A8"
      }
    }
  ]
}

11. Statistik NEU

GET /unfaelle/stats

Aggregierte Kennzahlen für Dashboards.

Query-Parameter

Parameter Beschreibung
days Optional. Beschränkt total_events und matched_to_baustelle auf die letzten X Tage.

Antwort

{
  "total_events": 1284,
  "currently_active": 17,
  "matched_to_baustelle": 312,
  "period_days": 30
}

12. Fehler-Codes

Status Code Bedeutung
200 OK
401 autobahn_no_token Kein Token mitgegeben
401 autobahn_invalid_token Token ungültig oder Kunde gesperrt
403 autobahn_expired Kunden-Zugang abgelaufen (siehe valid_until)
404 autobahn_unknown_file Datei-Key existiert nicht
404 autobahn_history_error Kein Datensatz für angefragten Stichtag
503 autobahn_file_missing Excel noch nicht erzeugt – täglichen Cronjob (03:00) abwarten
503 unfall_tracker_missing Unfall-Tracker-Plugin auf dem Server nicht aktiv

Fehler-Antworten haben das Standard-WordPress-REST-Format:

{
  "code": "autobahn_invalid_token",
  "message": "Ungültiger API-Token",
  "data": { "status": 401 }
}

13. Hinweise & Best Practices

ETag und Caching

JSON-Endpoints liefern einen ETag-Header. Senden Sie diesen bei der nächsten Anfrage im If-None-Match-Header zurück – ist der Datenstand identisch, antwortet der Server mit 304 Not Modified und ohne Body. Das spart Bandbreite und Latenz.

Polling-Frequenz

  • Excel-Dateien werden täglich um 03:00 neu erzeugt – tägliches Polling reicht.
  • Unfall-Daten werden alle 10 Minuten aktualisiert – Polling häufiger als alle 5 Minuten bringt keinen Mehrwert.
  • Baustellen-Stammdaten ändern sich täglich – stündliches Polling ist mehr als ausreichend.

Was sind „Unfälle“?

Ein Unfall in dieser API = eine Warnmeldung der Autobahn GmbH des Bundes, deren Freitext einen Unfall-Begriff enthält (Unfall, Auffahrunfall, LKW-Unfall, Wildunfall, Falschfahrer, Fahrzeugbrand, etc.). Reine Sachschäden ohne Verkehrsbehinderung tauchen in der API der Autobahn GmbH meist nicht auf – die Zahlen sind also „Unfälle mit Verkehrsbehinderung“, nicht die polizeiliche Gesamt-Unfallzahl.

Räumliche Zuordnung

Ein Unfall wird einer Baustelle zugeordnet, wenn seine Koordinate innerhalb der Baustellen-Bounding-Box (plus konfigurierbarem Puffer, Standard 500 m) liegt. Mehrfachzuordnungen sind möglich, wenn sich Baustellen-Bereiche überlappen.

Datenquelle und Lizenz

Quelldaten: Autobahn GmbH des Bundes (verkehr.autobahn.de), Deutscher Wetterdienst (DWD), Statistische Ämter des Bundes und der Länder. Bei Weiterverwendung in eigenen Diensten bitte die Quellen angeben.

Support

Bei Fragen zur API, Token-Verwaltung oder Datenformaten: info@autobahn-baustellen.de.