Zu den ganz großen IT-Trends der jüngsten Vergangenheit zählt eindeutig das Thema (Web) APIs. Dabei handelt es sich um Schnittstellen, die in der Regel HTTP-basierten Zugriff auf Daten oder Funktionen eines Systems oder eines Service bieten. Solche APIs können an ganz unterschiedlichen Stellen zum Einsatz kommen.

Ein weit verbreiteter Einsatzzweck ist etwa die Integration unterschiedlicher Softwaresysteme, insbesondere innerhalb eines Unternehmens, aber immer häufiger auch über Unternehmensgrenzen hinweg. So können mithilfe einer API beispielsweise Partnerunternehmen an eigene Systeme und Prozesse angebunden werden. Auch eine einheitliche Schnittstelle, die sich mehrere Unternehmen innerhalb einer Branche gegenseitig zur Verfügung stellen, ist denkbar. 

Ein ganz anderer Einsatzzweck von APIs liegt in der Kommunikation zwischen den unterschiedlichen Komponenten einer einzigen Anwendung. Dies ist beispielsweise in Microservice-Architekturen der Fall oder für die Anbindung einer SPA (Single-Page-Anwendung) an ein Backend, das Daten liefert. 

Das vielleicht spannendste Einsatzgebiet von APIs sind aber die sogenannten Public APIs. Dabei handelt es sich um APIs, die öffentlich zur Verfügung stehen und von jedermann genutzt werden können, um die hierdurch zugänglichen Daten oder Funktionen in eigene Anwendungen zu integrieren. Für solche Public APIs hat sich inzwischen ein gewaltiger Markt entwickelt. Ein umfassender Überblick ist kaum möglich, es bieten sich ausgesprochen vielfältige Möglichkeiten. Software-Entwickler finden hier quasi einen Bausteinkasten vor, der fertige Komponenten für alle nur denkbaren Anwendungsfälle bietet. Die APIs sind in der Regel leicht einzubinden und ihre Nutzung mit verhältnismäßig geringen Kosten verbunden, so dass es in vielen Fällen kostengünstiger sein wird, bei der Entwicklung eigener Anwendungen zumindest punktuell auf solche Public APIs zuzugreifen und diese zu integrieren, anstelle die gleiche Funktionalität selbst zu entwickeln.

Der vorliegende Artikel stellt einige interessante Public APIs vor und gibt Anregungen, wofür diese in der Praxis eingesetzt werden könnten. Die vorgestellten APIs sollen dabei exemplarisch für ihre jeweilige Gattung stehen, eine Werbung oder Empfehlung für einen konkreten Anbieter ist nicht beabsichtigt. In der Regel gibt es jeweils eine Handvoll von Wettbewerbern, die APIs mit ähnlicher Funktionalität anbieten. Es obliegt den Entwicklern, die solche APIs in eigene Anwendungen integrieren möchten, den am besten passenden Anbieter bzw. die passende API auszuwählen. 

Google Maps

Google Maps ist jedermann als Web-Angebot oder Mobile App bekannt. Dahinter verbirgt sich ein großer Datenschatz, auf den alternativ auch mithilfe der Google Maps API zugegriffen werden kann. So lassen sich über die Schnittstelle etwa Adressen in geographische Koordinaten umwandeln, Distanzen berechnen, Routen planen oder Standortinformationen abfragen. 

Hierfür gibt es zahlreiche Anwendungsfälle, die in der Praxis immer wieder vorkommen. Beispielsweise könnten Adressen aus Datenbank oder aus Benutzereingaben an die Google Maps API gesandt werden, um sie validieren und korrigieren zu lassen, anzureichern oder schlicht in eine einheitliche Schreibweise zu bringen. Bei dieser Gelegenheit erhält man auch gleich die Koordinaten der Adresse, die sich somit bei Bedarf in einer Karte anzeigen lässt oder als Startpunkt für Distanzberechnungen dienen kann. 

Auf diese Weise könnte man beispielsweise alle Bürgerämter einer Großstadt auf einer Karte einblenden, inklusive ihrer Entfernungen zur nächsten Bus- oder Bahnstation. Alternativ ließen sich verfügbare Gewerbeimmobilien anzeigen und mit Informationen zur Anzahl von naheliegenden Restaurants, Banken, Einkaufsmöglichkeiten oder Fitnessstudios anreichern.

Zahlungsabwicklung

Eine ebenfalls in vielen Anwendungen benötigte Funktionalität betrifft die Abwicklung von Zahlungen. Auch hierfür stehen diverse Public APIs bereit. Ein bekannter Vertreter ist die API von PayPal. Sie ermöglicht das Senden und Empfangen von Geldbeträgen, die Behandlung von Rechnungen, sowie Benachrichtigungen über erfolgte Zahlungen. Auch Anfechtungen, Rückforderungen oder wiederkehrende Zahlungen lassen sich mit der PayPal API umsetzen. Gerade in diesem Umfeld gibt es jedoch auch viele alternative API-Angebote. Eine beliebte und verbreitete Alternative ist etwa die API von stripe.

Social Media

Selbstredend bieten auch die unterschiedlichen Social Media Plattformen eigene APIs an, mit deren Hilfe sich ihre Angebote in eigene Anwendungen integrieren lassen. Stellvertretend für diese Gattung soll die Twitter API genannt werden, die einen sehr umfassenden Zugriff auf die Plattform bietet. 

So lassen sich Tweets durchsuchen und filtern, die Aktivität von Accounts überwachen, Direktnachrichten versenden, Werbekampagnen einrichten und durchführen und eine ganze Reihe von Metriken abfragen (Impressions, Retweets, Replies etc.). Es wäre mithilfe dieser API also beispielsweise möglich, beim Auftreten bestimmter Ereignisse im eigenen Anwendungssystem automatisch einen Tweet abzusetzen. Alternativ könnte man eigenen Benutzern die Möglichkeit geben, Tweets manuell zu erstellen und zu versenden. Doch auch aus Marketingsicht ist die Twitter API interessant. Beispielsweise ließe sich die eigene Marketing- bzw. Social Media Strategie mithilfe der API bewerten, indem eigene Tweets ausgewertet, fremde Tweets verfolgt oder Trends erfasst werden. Auch das gegenwärtige Meinungsbild bezüglich des eigenen Produktes oder Markennamens könnte so automatisiert ausgewertet werden. Hierbei helfen auch Textanalyse-APIs, die etwas später noch beschrieben werden.

Abbildung Nützliche Public APIs im Überblick - Twitter erlaubt über APIs den Zugriff auf Teile des Service
Twitter erlaubt über APIs den Zugriff auf Teile des Service

Emails, Kalender und Termine 

Eine weitere verbreitete Anforderung in der Anwendungsentwicklung ist der Versand von Emails und das Erstellen von Terminen oder Kalendereinträgen. Für letzteres ist iCalendar ein beliebtes Format, das sich jedoch nur mit größerer Mühe manuell so erzeugen lässt, dass die Termine dann auch korrekt in Outlook oder anderen Kalender-Tools angezeigt, aktualisiert und storniert werden. Steht im Unternehmen eine Microsoft 365 Plattform zur Verfügung, lassen sich solche Aufgaben sehr viel einfacher mittels der Microsoft Graph API umsetzen. Sie erlaubt den Versand von Emails, den Zugriff auf Kalender (Termine, Meetings, Raumbuchung), sowie die Verwaltung von Kontakten, Benutzern und Gruppen.

Für die Kommunikation mit Kunden und Geschäftspartnern setzen Unternehmen häufig auf Dienstleister wie mailjet. Und auch in diesem Bereich haben APIs Einzug gehalten. Die mailjet API bietet etwa Schnittstellen zum Versand von Emails und SMS an Empfängerlisten, sowie ein anschließendes Real-Time Monitoring, mit dem sich automatisiert Bounces, Fehler oder Delays beobachten und auswerten lassen. Daneben gibt es auch eine Event API für Benachrichtigungen beim Öffnen, Lesen oder Bounce einer Nachricht. Auch Templates werden von der API unterstützt. Somit steht alles bereit, was für den Versand von Newslettern oder Kampagnen mit anschließender Auswertung benötigt wird.

Slack

Für alle Teams oder Unternehmen, die Slack zur internen Kommunikation einsetzen, kann die Slack API einen großen Mehrwert bieten. Sie bietet eine umfangreiche Funktionsvielfalt rund um Nachrichten, Konversationen, Dateien und Channels. Daneben werden auch Slack Apps und Bots (z.B. für automatische Erinnerungen) unterstützt, sowie der Zugriff auf Benutzer und Teams. 

Ein möglicher Einsatzzweck dieser API könnte es sein, beim Auftreten bestimmter Ereignisse automatisch eine Nachricht auf Slack zu erzeugen, also beispielsweise einen Administrator darauf hinzuweisen, dass eine bestimmte Fehlersituation eingetreten ist, oder einen Mitarbeiter darüber zu informieren, dass ein Prozess abgeschlossen oder ein Termin storniert wurde. Ebenso könnten automatisiert ganze Workflows über Slack gestaltet werden, etwa durch das automatisierte Erstellen einer Nachricht mit Buttons (“Deine Freigabe ist erforderlich für…. <Erteilen> <Ablehnen>”). Als drittes Beispiel könnten über die API bestimmte Aktionen oder Slash-Kommandos ausgeführt werden, wie etwa das automatische Erzeugen eines Helpdesk-Tickets.

Bild-, Text- und Tonanalyse

Eine ebenfalls sehr spannende Kategorie von Public APIs ermöglicht den Zugriff auf Tools zur Bild-, Text- und Tonanalyse. Da diese einen teils erheblichen Rechenaufwand erfordern, gleichzeitig aber natürlich möglichst schnell Ergebnisse liefern sollen, werden sie insbesondere von größeren Cloud-Anbietern, wie Microsoft oder Google bereitgestellt. All diesen Angeboten ist gemein, dass man offensichtlich eigenes Bildmaterial oder Dokumente an den Cloud-Anbieter senden muss, um die gewünschte Analyse durchführen zu lassen. Selbstverständlich sollte dies zuvor immer unter dem Gesichtspunkt des Datenschutzes und des Schutzes unternehmerischer Geheimnisse bewertet werden.

Mit Hilfe der Microsoft Computer Vision API oder der Google Cloud Vision API lassen sich etwa eigene Bilder oder Fotos analysieren. Die APIs finden Objekte, erkennen Personen und Marken, und liefern zum Bildinhalt passende Schlagworte. Texte können dagegen mit der Microsoft Text Analytics API analysiert werden, die Schlüsselwörter extrahiert, die jeweilige Sprache erkennt, und sogar eine Einschätzung zur Gefühlslage gibt, die im untersuchten Text zum Ausdruck kommt. Durch Kombination mit den zuvor erwähnten Social Media APIs könnte beispielsweise automatisiert ermittelt werden, ob das Meinungsbild zu einer Person, einer Marke oder einem Produkt auf der Social Media Plattform aktuell eher positiv oder negativ ausfällt, oder wie sich das Meinungsbild über die Zeit verändert. Weitere interessante APIs in dieser Kategorie sind die Microsoft Spell Check API (alternativ Deepl API), die AudD Music Recognition API (ermöglicht ein eigenes Shazam) oder die Licence Plate Recognition API (zum Beispiel für Ein- und Ausfahrtskontrolle im Parkhaus).

Abbildung Nützliche Public APIs im Überblick - Die Microsoft Computer Vision API
Die Microsoft Computer Vision API ermöglicht es, Ihre eigenen Apps mit Technologie auszustatten, die Inhalte in Bildern analysiert.

Konvertierungen

Eine weitere große Gruppe von APIs ist bei allen möglichen Arten von Konvertierungen behilflich. So wandelt beispielsweise die ConvertAPI zwischen unterschiedlichen Dateiformaten um. Sie beherrscht unter anderem eine Vielzahl von Bildformaten, aber auch Office-Dokumente und Ebook-Formate. Zudem stehen Client-Bibliotheken in verschiedenen gängigen Programmiersprachen zur Verfügung. Auch hier gilt es wieder zu bedenken, dass eigene Daten an fremde Server gesendet werden, wo die Konvertierung dann erfolgt. Es ist also ein gewisses Maß an Vertrauen zum Anbieter notwendig. 

Eine ganz andere Art der Konvertierung bietet die Fixer API, die Echtzeit-Wechselkurse für 170 Währungen konvertiert. Zudem bietet die API den Zugriff auf die historische Entwicklung von Wechselkursen oder die Fluktuation von Währungen zwischen zwei beliebigen Tagen. Darüber hinaus existieren im Finanzbereich natürlich zahlreiche weitere APIs, die beispielsweise Daten und Informationen zu Wertpapieren liefern. 

Reisen

Für Anwendungen, die in der Reisebranche entstehen, können die Skyscanner Travel APIs eine große Datenmenge liefern. Hier kann beispielsweise eine Preissuche für Flüge, Hotels und Mietwagen gestartet werden. Zudem bieten die APIs umfangreiche Informationen und Daten über Länder, Städte und Flughäfen. Ein weiterer API-Endpunkt schlägt anhand von Suchbegriffen oder Buchstabenfolgen mögliche Ort vor, die zu den Eingaben passen könnte. Hiermit kann eine automatische Vervollständigung von Eingabefeldern implementiert werden. 

Auch diverse Fluglinien haben APIs im Angebot (z.B. Lufthansa oder British Airways), über die Informationen zu Flugverbindungen und Flughäfen, Preise und zum Teil sogar Sitzplatzanordnungen auf den jeweiligen Routen abgefragt werden können. Die Deutsche Bahn bietet mehrere APIs an, die vergleichbare Informationen für den Bahnverkehr liefern. Und falls die aktuellen Wetteraussichten eine Rolle spielen, ist die OpenWeather API ein geeigneter Anlaufpunkt. Sie bietet aktuelle Wetterdaten, Vorhersagen, historische Wetterdaten und Statistiken, Informationen zu UV-Index oder Luftqualität und sogar Wetterkarten. Als dies eignet sich beispielsweise für die Anzeigen in Portalen oder Infopoints, etwa am Bahnhof, am Flughafen oder im Einkaufszentrum.

Abbildung Nützliche Public APIs im Überblick - Die OpenWeather API
Die OpenWeather API gibt Ihnen Zugriff auf freie Wetterdaten, Wettervorhersagen, sowie Wetterkarten mit Informationen über Wolken, Windgeschwindigkeiten und Luftdruck.

Nützliche Public APIs im Überblick – Fazit

Diese kleine Rundreise durch die Welt der APIs wäre beliebig lange fortsetzbar. Begibt man sich erst einmal auf die Suche, gewinnt man schnell den Eindruck, als gäbe es für jeden nur denkbaren Einsatzzweck bereits eine API. Nicht zuletzt bieten auch Behörden zunehmend Schnittstellen, über die sehr interessante Daten abgefragt werden können. 

Für einen ersten Einstieg sind API-Verzeichnisse wie RapidAPI, APIs.guru oder auch ProgrammableWeb zu empfehlen, wo ausgewählte APIs nach Kategorien sortiert vorgestellt werden. Durch Kombination solcher APIs lassen sich mit verhältnismäßig geringem eigenen Programmieraufwand sehr interessante Anwendungen bauen. Man muss quasi “nur” den Code schreiben, der die unterschiedlichen APIs miteinander verbindet. Viel Spaß dabei, und gute Weiterreise!

Thilo Frotscher
Letzte Artikel von Thilo Frotscher (Alle anzeigen)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Die von Ihnen hier erhobenen Daten werden von der Host Europe GmbH zur Veröffentlichung Ihres Beitrags in diesem Blog verarbeitet. Weitere Informationen entnehmen Sie bitte folgendem Link: www.hosteurope.de/AGB/Datenschutzerklaerung/