Abgeordnetenwatch API Dokumentation

Über unsere Datenschnittstelle (API) lassen sich fast alle Daten von abgeordnetenwatch.de maschinenlesbar als JSON abrufen und nutzen. Daten, die über unsere API abgerufen werden können, sind z.B.:

  • Informationen zu bestimmten Parlamentsperioden (Legislaturen und Wahlen)
  • Daten zu Kandidierenden und Abgeordneten, wie z.B. Wahlkreise, Wahlergebnisse, Abstimmungsverhalten, Nebentätigkeiten
  • einzelne namentliche Abstimmungen und das Abstimmungsverhalten der Abgeordneten und Fraktionen

Grundsätzlicher Aufbau der API

Sämtliche Daten sind bei uns in eigenen Entitäten definiert. So ist ein Parlament eine eigene Entität mit eigenen Feldern, ebenso die Parlamentsperiode oder der Politiker. Für alle Entitäten gibt es API-Pfade, über welche alle diese Entitäten abgerufen werden können. Welche Entitäten es gibt, erläutern wir hier. Ein Sonderfall sind Kandidaturen und Mandate.

  • https://www.abgeordnetenwatch.de/api/v2/parliaments
  • https://www.abgeordnetenwatch.de/api/v2/parliament-periods
  • https://www.abgeordnetenwatch.de/api/v2/politicians
  • https://www.abgeordnetenwatch.de/api/v2/candidacies-mandates

Eine einzelne Entität abrufen

Diese Pfade geben alle Entitäten eines bestimmten Typs zurück. Um nur eine bestimmte Entität zu bekommen, kann der Pfad mit der entsprechenden Id aufgerufen werden. So hat der Bundestag z.B. die Id 5, die 19. Legislatur des Bundestags ist eine eigenständige Entität vom Typ ParliamentPeriod, sie hat die Id 111

  • https://www.abgeordnetenwatch.de/api/v2/parliaments/5
  • https://www.abgeordnetenwatch.de/api/v2/parliament-periods/5

Filtern der Listen

Die Listen der Entitäten lassen sich filtern, das Beispiel zeigt, wie man alle Wahlperioden des Bundestags abrufen kann. Der Name und der Wert des Filters wird dazu als URL-Parameter an den API-Pfad angehängt. Grundsätzlich können alle Felder einer Entität für die Filterung verwendet werden, teilweise bieten wir noch spezielle Filter an, die kompliziertere Abfragen ermöglichen. Welche Filter möglich sind, erläutern wir bei der Dokumentation der einzelnen Entitäten.

  • https://www.abgeordnetenwatch.de/api/v2/parliament-periods?parliament=5&type=election

Anzahl der Ergebnisse beschränken und Ergebnisse Seitenweise abrufen

Die Anzahl der zurückgegebene Entitäten ist standardmäßig auf 100 beschränkt. Mit dem URL-Parameter "range_end" lässt sich die Anzahl der zurückgegebenen Ergebnisse auf einen beliebigen Wert (max. 1000) festlegen. Mit "range_start" lässt sich festlegen, ab dem wie vielten Element die Ergebnisse zurückgegeben werden sollen (Standard ist 0).

Zudem erlaubt die API das Abrufen der Ergebnisse Seite für Seite: mit dem URL-Parameter "page" lässt sich eine definierte Seite der Ergebnisliste zurückgeben, mit "pager_limit" legt man fest, wie viele Ergebnisse pro Seite zurückgegeben werden sollen (Standard ist 100).

  • https://www.abgeordnetenwatch.de/api/v2/candidacies-mandates?parliament_period=111&range_end=500
  • https://www.abgeordnetenwatch.de/api/v2/candidacies-mandates?parliament_period=111&page=3&pager_limit=25