Was ist eine API?
API steht für "Application Programming Interface". Hinter dem sperrigen Namen steckt ein einfaches Konzept: ein klar definierter Satz von Regeln, wie ein Programm mit einem anderen kommunizieren kann. Was darfst du fragen, wie musst du fragen, was bekommst du zurück.
Vergleich aus dem Alltag: Im Restaurant sprichst du nicht direkt mit dem Koch, sondern mit dem Kellner. Er nimmt deine Bestellung in einer definierten Form auf, gibt sie weiter, bringt das Gericht. Der Kellner ist die API zwischen dir und der Küche — mit Speisekarte (Dokumentation), festem Bestellformat und klaren Regeln.
Praktisches Beispiel: Eine Wetter-App auf deinem Handy hat keine eigenen Daten. Sie ruft die API eines Wetterdienstes auf, schickt "Welches Wetter in Berlin?" und bekommt einen JSON-Datensatz mit Temperatur, Luftfeuchtigkeit und Wind zurück. Die App rendert daraus die Anzeige. Niemand trägt Daten manuell ein — die API liefert sie.
Wie funktioniert eine moderne Web-API?
99 Prozent aller Web-APIs nutzen dasselbe Grundprinzip: REST über HTTP, Antworten als JSON. Der Ablauf:
- Client schickt Anfrage — z.B.
GET https://api.example.com/produkte/42. - Server antwortet mit JSON:
{ "id": 42, "name": "Espresso-Maschine", "preis": 299 }. - Client verarbeitet die Daten für sein eigenes Interface.
Die HTTP-Methoden definieren die Aktion: GET holt Daten, POST legt neue an, PUT ersetzt, PATCH ändert teilweise, DELETE löscht. Die URL beschreibt die Ressource, die Methode die Aktion. Diese Struktur nennt man REST — nicht die einzige Art, eine API zu bauen, aber die mit Abstand verbreitetste.
GraphQL — die flexible Alternative zu REST
Wo REST jede Ressource unter einer eigenen URL anbietet und dir das liefert, was der Server vorgesehen hat, dreht GraphQL den Spieß um: Es gibt genau einen Endpunkt (z.B. /graphql), und der Client fragt in einer präzisen Query exakt das ab, was er wirklich braucht. Eine einzige Anfrage kann Produkt, Preis, Bewertungen und Bilder gebündelt holen — statt vier REST-Aufrufe hintereinander. Beispiel: { produkt(id: 42) { name preis bewertungen { stern text } } }. Das spart Roundtrips und Frontend-Komplexität. Nachteil: Caching ist komplizierter, und ein schlecht geschützter GraphQL-Endpunkt kann dem Backend mit tiefen verschachtelten Abfragen echten Stress machen. Für klassische KMU-Websites ist REST fast immer die richtige Wahl — GraphQL glänzt bei komplexen Apps mit vielen Datenbeziehungen.
Webhooks — wenn die API dich aktiv informiert
Eine normale API funktioniert im Pull-Prinzip: Der Client fragt, der Server antwortet. Webhooks drehen das um. Statt ständig nachzufragen "Ist schon was passiert?", hinterlegst du beim Dienst eine URL — und sobald ein Ereignis eintritt, schickt der Dienst dir eine HTTP-Anfrage (meistens POST mit JSON) an genau diese URL. Push statt Pull.
Typische Anwendungen: Stripe meldet per Webhook, dass eine Zahlung eingegangen ist. GitHub ruft deine URL auf, wenn jemand ins Repo pusht. Ein Mailservice benachrichtigt dich, wenn eine Mail als Spam gemeldet wurde. Im Shop kann ein Webhook vom Zahlungsanbieter die Bestellung automatisch auf "bezahlt" setzen, ohne dass dein Server jede Minute nachfragen muss. Webhooks sparen Traffic, sind reaktionsschneller und skalieren besser. Wichtig: Die Empfänger-URL braucht eine Signaturprüfung, damit niemand Fake-Webhooks einschleust.
JSON, Rate Limiting und CORS
JSON. Das Datenformat, in dem praktisch jede moderne API antwortet — schlank, menschenlesbar, für jede Programmiersprache nativ verarbeitbar. Es sieht so aus:
{
"kunde": "Max Mustermann",
"bestellungen": [
{ "id": 1, "produkt": "Espresso-Maschine", "preis": 299 }
],
"vip": true
}
JSON hat XML im Web fast komplett abgelöst. Mit ein paar Zeilen Code in PHP, Python oder JavaScript liest du eine JSON-Antwort aus und nutzt die Daten weiter.
Rate Limiting. Jede seriöse öffentliche API begrenzt, wie viele Anfragen ein Client in einer bestimmten Zeit stellen darf — etwa 60 pro Minute. Wer das Limit reißt, bekommt den Statuscode 429 Too Many Requests. Response-Header wie X-RateLimit-Remaining sagen deinem Code, wann er wieder darf. Wer die Limits ignoriert, riskiert gesperrte API-Keys — das Projekt steht.
CORS (Cross-Origin Resource Sharing). Browser erlauben aus Sicherheitsgründen nicht einfach, dass JavaScript auf deinedomain.de eine API auf fremde-domain.de aufruft. Die "Same-Origin-Policy" verhindert, dass eine bösartige Seite im Hintergrund bei deiner Bank nachfragt. CORS ist der Mechanismus, mit dem der API-Server aktiv erlaubt: "Anfragen von deinedomain.de sind okay" — per Access-Control-Allow-Origin-Header. Wenn eine externe API nur rote Fehler in der Konsole produziert, ist es zu 90 Prozent ein CORS-Problem. Lösung: Anbieter muss deine Domain freigeben, oder du routest die Anfrage über dein eigenes Backend, weil Server-zu-Server-Aufrufe keine CORS-Einschränkung kennen.
Was bedeutet eine API für deine Website?
Eine API ist die Brücke zu allem, was außerhalb deiner Website passiert:
- Buchungssysteme wie Calendly hängen per API am Kalender und legen Termine an.
- Zahlungsanbieter wie Stripe oder PayPal wickeln Zahlungen über ihre API ab.
- Newsletter-Tools wie Mailchimp empfangen Anmeldungen direkt aus dem Formular.
- Lager- und ERP-Systeme synchronisieren Bestände mit dem Online-Shop.
- Google Maps liefert Karten und Routen direkt in die Seite.
- Bewertungs-Plattformen holen Sterne und Reviews in die Website.
Beispiel: Ein Friseursalon will Online-Terminbuchung. Statt selbst zu programmieren, bindet er Calendly per API ein. Verfügbarkeiten kommen live aus Google Calendar, gebuchte Termine fließen automatisch zurück. Aufwand: ein paar Stunden statt wochenlange Eigenentwicklung.
API-Authentifizierung — wer darf was
Nicht jede API ist öffentlich. Damit nicht jeder auf dein Stripe-Konto zugreift, arbeiten APIs mit Authentifizierung. Die drei gängigen Verfahren:
API-Keys. Eine geheime Zeichenfolge, die du bei jeder Anfrage mitschickst. Einfach, verbreitet, gut für Server-zu-Server. OAuth. Ein Nutzer erteilt einer Anwendung gezielt Zugriff, ohne das Passwort weiterzugeben — Standard für "Login mit Google". JWT (JSON Web Tokens). Signierte Tokens, die der Server nach dem Login ausstellt und die der Client bei jeder Anfrage mitschickt.
Wer API-Keys schlecht behandelt — etwa öffentlich auf GitHub committet — erlebt böse Überraschungen. Bots scannen das Netz nach offenen Keys und nutzen sie in Minuten.