In der Analytics Academy lernen wir viel darüber, wie wir Daten ansprechend visualisieren, um so ein größeres Verständnis beim Betrachter der Visualisierung zu schaffen. Zu diesem Zweck reichen die Informationen aus einem einzelnen Datensatz oft nicht aus. Sie müssen mit Daten aus weiteren Quellen angereichert werden. Zu diesem Zweck können Daten aus dem Internet mithilfe von API’s abgerufen werden, wozu ich euch mit diesem Beitrag eine kurze Anleitung geben möchte.
API steht für „Application Programming Interface“ und sie ermöglicht es verschiedenen Systemen standardisiert miteinander zu kommunizieren und Informationen auszutauschen. Ein gutes Beispiel für die Funktion einer API ist ein Kellner im Restaurant. Er nimmt die Bestellung eines Kunden auf und gibt sie in einer Kurzform an den Koch weiter, sodass dieser sie versteht und das gewünschte Gericht zubereitet, welches vom Kellner dem Gast serviert wird. Eine API nimmt in diesem Fall eine Anfrage von einem System auf, gibt diese in veränderter Form an die mit ihr verbundene Datenquelle weiter und sendet anschließend dem Anfrager die angefragten Informationen zurück.
Es gibt sehr viele Anbieter von API‘s zu den verschiedensten Zwecken, die über das Internet anbindbar sind. Von Spotify, wo Daten zu eurem Account, allen Songs und Künstlern abgerufen werden können. Oder von öffentlichen Einrichtungen, die beispielsweise Umweltdaten zur Verfügung stellen, bis hin zu privaten Anbietern, die API’s für die Übersetzung von Englisch in Sprachen aus Fantasy-Universen anbieten. Nicht alle API’s sind auf die gleiche Art und Weise anzubinden und einige sind auch kostenpflichtig, in diesem Beitrag möchte ich euch aber die relativ einfache Anbindung einer öffentlichen API vorstellen.
Zu diesem Zweck habe ich die API von IQAir ausgewählt, die Wetterdaten zu vielen Orten auf der ganzen Welt anbietet. Zur Anbindung benötigen wir einen Account auf der Website, der aber kostenlos erstellt werden kann. Die Website habe ich HIER verlinkt.
Auf diese Weise erhalten wir einen persönlichen Key, mit dem wir uns an der API identifizieren und der für eine Abfrage zwingend notwendig ist.
Um jetzt zu wissen, wie wir eine Abfrage gestalten können, müssen wir uns ansehen, wie wir die Dokumentation der API ansehen. Dies hat jede API und hier ist dokumentiert, mit welchen Anfragen welche Information erhalten werden.
Ein Beispiel hierfür ist:
‚api.airvisual.com/v2/states?country=Germany&key={{YOUR_API_KEY}}‘
Mit der alle Bundesländer von Deutschland mit verfügbaren Wetterdaten zurückgegeben werden. Hier sehen wir auch die unterschiedlichen Bestandteile der Abfrage:
- ‚api.airvisual.com/v2: Die Adresse der API mit der sie aufgerufen wird.
- /states: Das angesprochene Verzeichnis, aus dem die Informationen kommen sollen.
- ?country=Germany: Die Einschränkung auf das Land ‚Deutschland‘, in dieser API muss eine Einschränkung erfolgen, da sie sonst nicht weiß, welche Bundesländer oder -staaten gemeint sind.
- &key={{YOUR_API_KEY}}: Die Identifizierung, damit die API weiß, wer die Anfrage stellt. (Anstelle von ={{YOUR_API_KEY}} müsst ihr euren eigenen Key einsetzen)
Wenn ihr diese Anfrage einfach in eurem Browser eingebt, bekommt ihr schon einen Überblick über die Darstellung, in der ihr die Daten erhaltet. In diesem Fall bekommt ihr sie als JSON.
Diese Abfrage ist noch recht trivial, da eine Liste der Bundesländer Deutschlands auch deutlich einfacher über Google erhältlich ist. Wenn wir die Abfrage aber noch genauer eingrenzen, können wir spannendere Daten erhalten, wie ich im Folgenden zeigen möchte.
Die Abfrage ist ähnlich wie die erste aufgebaut:
‚api.airvisual.com/v2/city?city=hannover&state=lower saxony&country=Germany&key={{YOUR_API_KEY}}‘
Hier wird anders als in der ersten Abfrage das ‚city‘-Verzeichnis angesprochen und es wird die Stadt Hannover und das Bundesland Niedersachsen definiert. Man erkennt das die Abfrage auf Englisch gestellt werden muss. Da die meisten Dienste sich an ein internationales Publikum wenden, ist dies der Regelfall. Die zu benutzende Sprache lässt sich ebenfalls in der Dokumentation herauslesen.
Das Ergebnis präsentiert uns schon deutlich interessantere Informationen:
Dank der Dokumentation wissen wir, was die einzelnen Abkürzungen bedeuten, ‚tp‘ steht beispielsweise für die Temperatur, wir wissen also, dass die Temperatur zum Zeitpunkt meiner Abfrage am 17.04.2020 um 12 Uhr 15 C° betrug. Mithilfe dieser Abfragen lassen sich kleine eigene Programme schreiben, über die man genau die Informationen bekommt, die man benötigt. Zum Beispiel habe ich damit eine automatische Abfrage gebaut, die mir die aktuellen Temperaturdaten aller verfügbaren Städte in Niedersachsen zurückgibt.
Mit diesen Daten könnte ich jetzt eine Datei mit Verkaufszahlen anreichern, um herauszufinden, ob mein Umsatz/Absatz an wärmeren Tagen höher ist als an Tagen mit geringerer Temperatur und so ein Blick über den Tellerrand der ursprünglich verfügbaren Daten werfen. Ich hoffe ich konnte euch mit diesem Blog ein wenig Lust auf API’s machen und zeigen, dass man mit ihnen viele interessante Daten gewinnen kann. Die API von IQAir kann ich nur empfehlen, um ein wenig zu üben, da sie relativ einfach abzufragen ist und eine sehr gute Dokumentation besitzt, auf die ich hier nochmal verlinken möchte. Probiert euch aus und wenn ihr euch sicher fühlt findet ihr im Internet noch viele weitere API’s, aus denen ihr spannende Informationen bekommen könnt.