StadtratWatch API v1 Dokumentation

Die StadtratWatch API v1 bietet Zugang zu strukturierten Daten über Stadtratssitzungen, Abstimmungen und Redebeiträge. Alle Endpunkte geben JSON-Daten zurück und stehen unter der CC0 1.0 Lizenz.

Basis-URL

/api/v1/

Authentifizierung

Die API benötigt keine Authentifizierung. Alle Endpunkte sind öffentlich zugänglich.

Antwortformat

Alle API-Antworten folgen diesem grundlegenden Format:

{
  "meta": {
    "stadtratwatch_api": {
      "version": "1.0",
      "license": "CC0 1.0",
      "license_url": "https://creativecommons.org/publicdomain/zero/1.0/"
    }
  },
  "data": [...] // oder andere Datenfelder
}

Endpunkte

1. Legislaturperioden auflisten

GET /api/v1/parliament-periods.json

Gibt eine Liste aller verfügbaren Legislaturperioden zurück.

Antwort:

{
  "meta": { ... },
  "data": [
    {
      "id": "magdeburg-7",
      "name": "Wahlperiode VII",
      "lastUpdate": "2024-01-15T10:30:00Z"
    }
  ]
}

Felder:

2. Einzelne Legislaturperiode abrufen

GET /api/v1/parliament-periods/{parliamentPeriodId}.json

Gibt detaillierte Informationen zu einer spezifischen Legislaturperiode zurück.

Parameter:

Antwort:

{
  "meta": { ... },
  "parliamentPeriod": {
    "id": "magdeburg-7",
    "name": "Wahlperiode VII",
    "sessions": [...],
    "persons": [...],
    "factions": [...],
    "lastUpdate": "2024-01-15T10:30:00Z"
  }
}

3. Redebeiträge einer Sitzung abrufen

GET /api/v1/parliament-periods/{parliamentPeriodId}/speeches/{sessionId}.json

Gibt alle Redebeiträge einer spezifischen Stadtratssitzung zurück.

Parameter:

Antwort:

{
  "meta": { ... },
  "data": [
    {
      "personId": "max-mustermann",
      "speaker": "Max Mustermann",
      "start": "00:15:30",
      "duration": "00:03:45",
      "onBehalfOf": "Ausschuss für Stadtentwicklung, Bauen und Verkehr",
      "transcription": "Meine Damen und Herren, ich möchte zu diesem Punkt folgendes sagen..."
    }
  ]
}

Felder:

Hinweise:

4. Abstimmungen einer Sitzung abrufen

GET /api/v1/parliament-periods/{parliamentPeriodId}/votings/{sessionId}.json

Gibt alle Abstimmungen einer spezifischen Stadtratssitzung zurück.

Parameter:

Antwort:

{
  "meta": { ... },
  "data": [
    {
      "id": 1,
      "videoTimestamp": 1800,
      "votingSubject": "Antrag zur Verkehrsberuhigung in der Innenstadt",
      "votes": [
        {
          "personId": "person-123",
          "vote": "yes"
        },
        {
          "personId": "person-456",
          "vote": "no"
        }
      ]
    }
  ]
}

Felder:

Abstimmungsoptionen:

Fehlerbehandlung

404 - Nicht gefunden

Wenn eine angeforderte Ressource nicht existiert:

{
  "status": 404,
  "statusText": "Session speeches not found"
}

Beispiele

Alle Legislaturperioden abrufen

curl -X GET https://www.stadtratwatch.de/api/v1/parliament-periods.json

Redebeiträge einer Sitzung abrufen

curl -X GET https://www.stadtratwatch.de/api/v1/parliament-periods/magdeburg-7/speeches/2024-05-02.json

Abstimmungen einer Sitzung abrufen

curl -X GET https://www.stadtratwatch.de/api/v1/parliament-periods/magdeburg-7/votings/2024-05-02.json

Lizenz

Alle über diese API bereitgestellten Daten stehen unter der CC0 1.0 Lizenz (Public Domain). Sie können die Daten frei verwenden, kopieren, verändern und verbreiten.