
govdata.de bietet mit derzeit über 10.000 Datenpackages ein für Recherchen. Man kann die Datensätze bequem auf dem Portal abfragen und herunterladen. Will man aber automatisiert Daten ziehen und auf seiner Website visualisieren, muss die Api direkt abgefragt werden. Das wiederum ist nicht ganz so einfach. Ich musste ziemlich suchen, bis ich die richtigen Endpunkte identifiziert hatte.
govdata.de macht seine Daten über eine CKAN-Api verfügbar. Endpunkte sind jedoch nicht in ausreichender Klarheit angegeben und es sind auch nirgendwo Beispiele für Api – Abfragen auf govdata.de zu finden. Deshalb hier eine knackig-kurze Liste von Beispielen.
Ich verwende dazu curl
auf der Befehlszeile / in der Shell. Die Queries können (ohne cURL) auch in der Adresszeile des Browsers abgesetzt werden. Response ist jeweils eine json – Datei.
Abfrage der Package-List
1 |
$ curl https://www.govdata.de/ckan/api/3/action/package_list -d"{}" |
Damit wird eine ziemlich lange Liste der Package-Namen als JSON-Array ausgegeben (Insgesamt 10446 Elemente, Stand: 18.12.2014, 23:15h). Im curl-Parameter -d kann man Parameter für einen Post-Request definieren, der hier zwar nötig ist, aber leer bleiben kann. Gleiche Abfrage im Browser:
1 |
https://www.govdata.de/ckan/api/3/action/package_list?q= |
Abfrage der Tag-List
1 |
$ curl https://www.govdata.de/ckan/api/3/action/tag_list -d"{}" |
Abfrage der Group-List
1 |
$ curl https://www.govdata.de/ckan/api/3/action/group_list -d"{}" |
Abfrage von Packages mit Suchbegriff
1 |
$ curl https://www.govdata.de/ckan/api/3/action/package_search?q=berlin |
Zurückgegeben werden 10 Packages, die den Begriff “Berlin” enthalten.
Abfrage von Packages mit Suchbegriff und Anzahl Packages
1 2 3 |
$ curl "https://www.govdata.de/ckan/api/3/action/package_search?q=berlin&rows=5" $ curl "https://www.govdata.de/ckan/api/3/action/package_search?q=berlin&rows=99999" |
Die erste Abfrage liefert die ersten 5 Packages, die den Begriff “Berlin” enthalten. Damit das &-Zeichen in der Parameter-Liste von curl richtig interpretiert wird, muss die Url insgesamt in Anführungszeichen gesetzt werden (im Browser können die Anführungszeichen weggelassen werden).
Die zweite Abfrage liefert alle Packages mit dem Begriff “Berlin” (insgesamt 1185).
Abfrage von Packages mit Filterkriterien
1 |
$ curl "https://www.govdata.de/ckan/api/3/action/package_search?q=berlin&fq=type:datensatz&rows=99999" |
Diese Abfrage filtert das Ergebnis der vorherigen Abfrage zusätzlich nach dem Kriterium “Type” mithilfe des Parameters fq (~ Filtered Query). Erlaubte Typen sind: dokument, app und datensatz (siehe hierzu das Metadaten-Schema von govdata.de). Das Resultset enthält 689 Datensätze.
Abfrage eines einzelnen Packages
Hier als Beispiel die Abfrage des Packages “Gesundheitsberichterstattung Berlin: Gesundheitsindikator 2.24 …”
1 |
$ curl https://www.govdata.de/ckan/api/3/action/package_show?id=gsi_gesindikator_2_24 |
Links und Referenzen:
- govdata.de – Das Datenportal für Deutschland
- Metadaten-Schema von govdata.de
- ckan.org – The Open Source Data Portal Software
- curl manpage – Anleitung für curl