Wie ein Graphical User Interface (GUI) das Kom­mu­ni­zie­ren zwischen Mensch und Maschine er­mög­licht, so erlaubt die API das Kom­mu­ni­zie­ren zwischen ver­schie­de­nen Software-Ap­pli­ka­tio­nen. Daten können dank der Pro­gram­mier­schnitt­stel­le hin und her trans­fe­riert werden – und zwar in ge­ord­ne­ten Bahnen. Das funk­tio­niert selbst dann, wenn die Ap­pli­ka­tio­nen in ver­schie­de­nen Pro­gram­mier­spra­chen verfasst wurden.

IONOS Ent­wick­ler API
Verwalten Sie Ihre IONOS Hosting-Produkte über unsere leis­tungs­star­ken APIs
  • DNS-Ma­nage­ment
  • SSL-Ver­wal­tung
  • API-Do­ku­men­ta­ti­on

Was ist eine API?

API steht für Ap­pli­ca­ti­on Pro­gramming Interface und lässt sich als Pro­gram­mier­schnitt­stel­le über­set­zen. Wie der deutsche Name andeutet, erlaubt eine API fremden Pro­gram­mie­rern den Zugriff auf aus­ge­wähl­te Funk­tio­nen. Die Schnitt­stel­len dienen quasi als Zu­gangs­punkt für eine andere Software. Über die API können die beiden Programme mit­ein­an­der kom­mu­ni­zie­ren, Daten aus­tau­schen und Befehle übergeben. Das funk­tio­niert bei Desktop-Software genauso wie bei mobilen Apps oder Web­an­wen­dun­gen. Auch ein einzelnes Programm kann so aufgebaut sein, dass ver­schie­de­ne Module un­ter­ein­an­der per Schnitt­stel­len mit­ein­an­der kom­mu­ni­zie­ren.

De­fi­ni­ti­on: API

Ein Ap­pli­ca­ti­on Pro­gramming Interface (API) ist eine Schnitt­stel­le, die ver­schie­de­ne Programme mit­ein­an­der verbindet, um die Da­ten­über­tra­gung und den Austausch von An­wei­sun­gen zwischen Pro­gramm­tei­len zu stan­dar­di­sie­ren.

Wozu braucht man APIs?

Heut­zu­ta­ge werden APIs von ver­schie­de­nen Software-Her­stel­lern be­reit­ge­stellt, um es Pro­gram­mie­rern leichter zu machen, auf Software-Kom­po­nen­ten zu­zu­grei­fen. SAP, Amazon und Google bei­spiels­wei­se bieten APIs für ver­schie­de­ne An­wen­dungs­be­rei­che. Über diese Schnitt­stel­len können Developer un­ter­schied­li­che Aufgaben ausführen:

  • Eine Anweisung des Pro­gram­mie­rers an eine Software wei­ter­lei­ten und dessen Reaktion empfangen
  • Content in Web­diens­te einfügen
  • App-Codes wie­der­ver­wen­den dank Ver­net­zung von Pro­gram­men
  • Zugriff durch andere Pro­gram­mie­rer kon­trol­lie­ren

Im täglichen Gebrauch kommen APIs bei­spiels­wei­se bei Web­diens­ten zum Einsatz. Wer einen Flug bucht, der kann eine ent­spre­chen­de Such­ma­schi­ne be­auf­tra­gen, alle Flüge und Flug­prei­se zu einem be­stimm­ten Ziel und Datum zu finden. Sobald man auf „Suchen“ klickt, fängt die Website an, mit den APIs der einzelnen Flug­li­ni­en zu kom­mu­ni­zie­ren, um die Preise zum Ziel ab­zu­fra­gen. Dies geschieht innerhalb weniger Sekunden, und der Kunde hat schnell eine Übersicht von buchbaren Flügen. Aber wie genau funk­tio­niert das?

Tipp

Lust, eine mobile App zu pro­gram­mie­ren? Unser Ein­stiegs­rat­ge­ber zum Thema Mobile App-Ent­wick­lung hat alle wichtigen Infos.

Wie funk­tio­nie­ren APIs?

Obwohl sie dem Endnutzer zu­gu­te­kom­men, dienen APIs in erster Linie Pro­gram­mie­rern. Das Ap­pli­ca­ti­on Pro­gramming Interface wird in der Regel von den Ent­wick­lern einer Software be­reit­ge­stellt, damit die Pro­gram­mie­rer anderer An­wen­dun­gen die Schnitt­stel­le benutzen können. Die Pro­gram­mier­schnitt­stel­le legt fest, wie In­for­ma­tio­nen und Daten zwischen Modulen ent­ge­gen­ge­nom­men und zu­rück­ge­sen­det werden. Google etwa ver­öf­fent­licht die API, um es anderen Pro­gram­mie­rern zu er­mög­li­chen, ihre eigenen Ap­pli­ka­tio­nen an die Google-Dienste andocken zu lassen. Dafür verwendet man dann einen eigenen Standard, an den sich die externe Software halten muss.

Sehr beliebt für die Kom­mu­ni­ka­ti­on zwischen An­wen­dun­gen – besonders innerhalb des Webs – ist das Protokoll REST. Eine REST-API verwendet die Befehle, die auch bei HTTP ein­ge­setzt werden. Die An­wei­sun­gen sind nicht komplex und machen den Austausch von In­for­ma­tio­nen daher sehr einfach. Zu­sätz­lich fällt es Pro­gram­mie­rern durch das simple Protokoll leicht, die Anbindung an die API her­zu­stel­len.

Wichtig, um die Pro­gram­mier­schnitt­stel­le be­reit­stel­len zu können, ist also die Stan­dar­di­sie­rung – egal welches Protokoll man für den Austausch verwendet. Zu­sätz­lich sollte man anderen Pro­gram­mie­rern auch den richtigen Umgang mit der Schnitt­stel­le nä­her­brin­gen. Deshalb wird eine API oft mit aus­führ­li­chen Do­ku­men­ta­tio­nen zu Syntax und Funktion be­reit­ge­stellt.

Welche Arten von APIs gibt es?

Es gibt grund­sätz­lich vier ver­schie­de­ne Klassen von Pro­gram­mier­schnitt­stel­len:

  • Funk­ti­ons­ori­en­tier­te APIs
  • Da­tei­ori­en­tier­te APIs
  • Pro­to­koll­ori­en­tier­te APIs
  • Ob­jekt­ori­en­tier­te APIs

Bei der Wahl der Klasse kommt es auf den An­wen­dungs­be­reich an. Funk­ti­ons­ori­en­tier­te Pro­gram­mier­schnitt­stel­len sind relativ komplexe Schnitt­stel­len. Sie er­mög­li­chen es De­ve­l­o­pern bei­spiels­wei­se, auf Hardware-Kom­po­nen­ten zu­zu­grei­fen. Dabei werden immer nur Funk­tio­nen auf­ge­ru­fen. Da­tei­ori­en­tier­te APIs er­mög­li­chen die Ver­bin­dung auf Da­tei­ebe­ne. Daten können somit abgefragt und ge­schrie­ben werden. Die pro­to­koll­ori­en­tier­te Schnitt­stel­le dient der stan­dar­di­sier­ten Kom­mu­ni­ka­ti­on zwischen Pro­gram­men, ist dabei aber un­ab­hän­gig von Be­triebs­sys­te­men oder Hardware. Die ob­jekt­ori­en­tier­ten APIs sind flexibel ein­setz­bar.

Bei der Un­ter­schei­dung von APIs lassen sich außerdem die internen Schnitt­stel­len von den öf­fent­li­chen abgrenzen. Private Schnitt­stel­len stehen nur innerhalb eines Betriebs zur Verfügung. Sie kommen oft zum Einsatz, um fir­men­ei­ge­ne Funk­tio­na­li­tä­ten zu verbinden, sodass Mit­ar­bei­ter oder Kunden über private Netzwerke Zugriff erlangen. Öf­fent­li­che Schnitt­stel­len stehen jedem zur Verfügung und können oft bequem von Software-De­ve­l­o­pern ein­ge­setzt werden. Google, Amazon, eBay, Facebook, Twitter und PayPal sind gute Beispiele für öf­fent­li­che APIs. Viele Her­stel­ler (z. B. Google) laden außerdem Developer aktiv ein, an ihrer API-Ent­wick­lung teil­zu­neh­men.

Welche Vorteile haben APIs?

APIs bringen einige Vorteile mit sich, und zwar für un­ter­schied­li­che Gruppen: Nutzer pro­fi­tie­ren ebenso von den Pro­gram­mier­schnitt­stel­len wie interne oder externe Ent­wick­ler.

Ent­wick­ler, die ihre Programme mit guten Pro­gram­mier­schnitt­stel­len aus­stat­ten, können mit einer besseren Ver­brei­tung rechnen. Da es anderen Pro­gram­mie­rern so einfacher fällt, mit der Software zu in­ter­agie­ren, werden An­wen­dun­gen mit guter API bevorzugt. Externe Ent­wick­ler können den Funk­ti­ons­um­fang ihrer eigenen Software durch die Anbindung an andere Ap­pli­ka­tio­nen stark erweitern. Am Ende pro­fi­tie­ren vor allem die Nutzer von der Ver­bin­dung über die Schnitt­stel­le: Sie können auf diese Weise pro­blem­los ver­schie­dens­te Programme mit­ein­an­der kom­bi­nie­ren und so mehr Komfort genießen.

Beispiel: APIs und SDKs für Google Maps

Google Maps ist ein sehr bekanntes Beispiel für die In­te­gra­ti­on von APIs. Die berühmten Online-Na­vi­ga­ti­ons­kar­ten wurden im Februar 2005 vor­ge­stellt und sind seitdem für viele Endnutzer kaum noch weg­zu­den­ken – ob von Computern oder als App auf Smart­phones.

Auf der Google Maps Platform können Developer auf SDKs und APIs zugreifen, die sich in ihre eigenen Apps, Programme und Webseiten in­te­grie­ren lassen. Damit lassen sich die Funk­tio­nen von Google Maps schnell und einfach in andere An­wen­dun­gen einbinden. Mit der Maps Ja­va­Script API bei­spiels­wei­se können Besitzer von Webseiten bequem in­ter­ak­ti­ve Karten hin­zu­fü­gen. Das ist besonders attraktiv für Shops oder Re­stau­rants, deren Ge­schäfts­er­folg oft davon abhängt, dass Kunden ihre Lo­ka­li­tä­ten finden und besuchen.

Tipp

Auch die Cloud Server von IONOS lassen sich über eine Schnitt­stel­le kon­tak­tie­ren. Wie das geht, erfahren Sie in der aus­führ­li­chen Do­ku­men­ta­ti­on.

Wie kann man APIs testen?

Wer Ap­pli­ca­ti­on Pro­gramming In­ter­faces in Programme oder An­wen­dun­gen in­te­griert, sollte diese zunächst testen, um sicher zu gehen, dass alles wie erwartet funk­tio­niert, und die APIs nicht zu lange brauchen, um auf In­for­ma­ti­on zu­zu­grei­fen. Developer, die eigene APIs schreiben, sollten diese ebenfalls erst einmal prüfen. Zum Glück ist das Testen von APIs heut­zu­ta­ge relativ einfach, nicht zuletzt dank An­wen­dun­gen wie Postman oder cURL.

Mit Postman lassen sich vom User de­fi­nier­te API Aufrufe testen. Developer können so ihre API Spe­zi­fi­ka­tio­nen im­por­tie­ren und aus­pro­bie­ren. Postman bietet außerdem Schema-Support für Formate wie RAML, WADL, OpenAPI, und GraphQL. Es können APIs sowohl im An­fangs­sta­di­um als auch im End­sta­di­um der Ent­wick­lung getestet werden. Die Preis­struk­tur von Postman un­ter­schei­det sich je nach Be­darfs­grö­ße. Kleinere Teams können für 12 US-Dollar pro Nutzer im Monat APIs designen und testen, während größere Firmen mit Postman Business für 24 US-Dollar im Monat (pro Nutzer) besser bedient sind. Ein En­ter­pri­se-Paket gibt es für Firmen mit mehr als 100 Usern.

CURL ist ein Command-Line-Tool, mit dem sich APIs testen lassen. Dies erfordert ein gutes Ver­ständ­nis von Command-Line-Funk­tio­nen. Es ist nicht ganz so bequem wie Postman und bietet kein gra­fi­sches User Interface. Al­ler­dings ist CURL gratis. Die Dokumente zu ver­schie­de­nen Themen lassen sich auf der CURL Pro­jekt­sei­te einsehen.

Postman CURL
Preise fangen bei 12 US-Dollar im Monat an Gratis, Open Source
Platt­form­ba­sie­rend Command-Line-Tool
Mit Postman lassen sich APIs de­tail­liert testen CURL wird häufiger genutzt, um schnell http-Header ein­zu­se­hen
Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz inklusive
Zum Hauptmenü