Was ist eine API? Ein verständlicher Leitfaden für App-Bauer
Eine API (Application Programming Interface) ist eine festgelegte Art, wie eine Software-Komponente eine andere nach Daten fragen oder sie zu etwas auffordern kann. Deine App sendet eine Anfrage in einem vereinbarten Format – „Gib mir die Buchungen von morgen“, „belaste diese Karte mit 20 €“, „fasse diesen Text zusammen“ – und das andere System schickt eine strukturierte Antwort zurück. APIs sind die Art, wie die Teile einer App miteinander sprechen, und wie deine App externe Dienste wie Zahlungen, E-Mail, Karten und KI nutzt.
Warum APIs beim Bauen mit KI wichtig sind
Fast jede nützliche App besteht aus Teilen, die über APIs kommunizieren:
- Innerhalb deiner App rufen die Bildschirme im Browser die API deines eigenen Backends auf, um Daten zu laden und zu speichern.
- Außerhalb deiner App ruft dein Backend die APIs anderer Unternehmen auf: Stripe für Zahlungen, einen E-Mail-Anbieter für Quittungen, einen KI-Modellanbieter für Texterzeugung.
Wenn du deinen KI-Builder bittest, „Zahlungen anzunehmen“ oder „eine KI-Zusammenfassung hinzuzufügen“, schreibt er im Grunde Code, der eine API aufruft. Grundkenntnisse helfen dir zu verstehen, was die KI von dir braucht (meist ein Konto beim jeweiligen Dienst und einen API-Schlüssel), wo Dinge schiefgehen können und was sie kosten.
Ein Alltagsvergleich
Denk an ein Restaurant. Du gehst nicht in die Küche und kochst. Du liest die Speisekarte, sagst dem Kellner, was du willst, in einer Form, die die Küche versteht, und der Kellner bringt dein Essen – oder sagt, dass das Gericht ausverkauft ist.
- Die Speisekarte ist die API-Dokumentation: eine Liste dessen, was du anfragen kannst, und wie.
- Der Kellner ist die API: der eine vereinbarte Weg, auf dem Anfragen hinein- und Antworten herauskommen.
- Die Küche ist das andere System: Du musst nicht wissen, wie sie innen funktioniert.
- Deine Bestellung ist die Anfrage; der Teller ist die Antwort.
Die Küche kann ihre Öfen und ihr Personal ändern, ohne dich zu betreffen, solange die Speisekarte gleich bleibt. Darin liegt der eigentliche Wert einer API: Sie lässt zwei Systeme zusammenarbeiten, ohne dass eines wissen muss, wie das andere gebaut ist.
Wie eine Web-API-Anfrage funktioniert
Die meisten APIs, denen du begegnest, sind Web-APIs, die über HTTP laufen – dasselbe Protokoll, das dein Browser nutzt. Jede Anfrage hat ein paar Teile:
| Teil | Was es ist | Beispiel |
|---|---|---|
| Methode | Die Art der Aktion | GET (lesen), POST (anlegen) |
| URL / Endpunkt | Die Adresse dessen, worauf du zugreifst | https://api.example.com/bookings |
| Header | Zusatzinformationen, einschließlich wer du bist | Authorization: Bearer <dein Schlüssel> |
| Body | Die Daten, die du sendest, bei Anlegen und Aktualisieren | {"name": "Lena", "time": "14:00"} |
Und jede Antwort hat:
| Teil | Was es ist | Beispiel |
|---|---|---|
| Statuscode | Eine Zahl, die sagt, wie es gelaufen ist | 200 OK, 201 Created, 404 Not Found |
| Body | Die zurückgegebenen Daten, meist als JSON | {"id": 5001, "status": "confirmed"} |
JSON (JavaScript Object Notation) ist ein einfaches Textformat aus Namen und Werten in geschweiften Klammern. Es ist der Standard, mit dem Web-APIs Daten austauschen.
REST: der verbreitetste Stil
REST ist eine weit verbreitete Konvention für den Entwurf von Web-APIs. Jede Art von Objekt bekommt eine eigene URL, und Standardmethoden sagen, was du damit tust. So könnte eine REST-API für eine Buchungs-App aussehen:
| Methode | Endpunkt | Was sie tut |
|---|---|---|
GET | /api/bookings | Buchungen auflisten |
GET | /api/bookings/5001 | Eine Buchung abrufen |
POST | /api/bookings | Eine neue Buchung anlegen |
PATCH | /api/bookings/5001 | Einen Teil einer Buchung ändern, etwa die Uhrzeit |
DELETE | /api/bookings/5001 | Eine Buchung stornieren (löschen) |
PUT existiert ebenfalls und ersetzt konventionell einen ganzen Datensatz, während PATCH nur die Felder ändert, die du sendest.
Die Statuscodes, denen du am häufigsten begegnest:
| Code | Bedeutung |
|---|---|
200 / 201 | Erfolg / angelegt |
400 | Ungültige Anfrage – etwas in dem, was du gesendet hast, war falsch oder fehlt |
401 | Nicht authentifiziert – kein gültiger Login oder Schlüssel |
403 | Verboten – du bist bekannt, darfst das aber nicht |
404 | Nicht gefunden |
429 | Zu viele Anfragen – du hast ein Limit erreicht |
500 | Der Server hatte einen Fehler |
Wenn deine App kaputtgeht, ist der Statuscode oft der schnellste Hinweis. Ein 401 von einem Zahlungsanbieter bedeutet meist einen fehlenden oder falschen API-Schlüssel; ein 429 bedeutet, dass du zu oft anfragst.
REST ist nicht der einzige Stil – es gibt auch GraphQL und RPC-artige APIs –, aber REST ist das, was die meisten Dienste und mit KI gebauten Backends verwenden.
Ein Beispiel: eine Buchungsbestätigung
Wenn ein Kunde in einer Salon-App einen Haarschnitt bucht, können innerhalb von ein oder zwei Sekunden mehrere API-Aufrufe stattfinden:
- Die Buchungsseite im Browser sendet
POST /api/bookingsmit Leistung, Uhrzeit und Kundendaten an dein Backend. - Dein Backend prüft, ob der Termin frei ist, speichert die Buchung in der Datenbank und gibt
201 Createdzurück. - Dein Backend ruft die API eines E-Mail-Anbieters mit dessen geheimem Schlüssel auf: „Schick diese Bestätigung an lena@example.com.“
- Gibt es eine Anzahlung, bittet dein Backend die API des Zahlungsanbieters, eine Checkout-Sitzung zu erstellen, und schickt den Kunden dorthin.
- Später ruft der Zahlungsanbieter deine App an, um mitzuteilen, dass die Zahlung erfolgreich war. Dieser umgekehrte Aufruf ist ein Webhook.
Die ersten beiden Schritte sind deine eigene API zwischen Frontend und Backend. Die Schritte 3–5 sind APIs von Drittanbietern.
Häufige Begriffe erklärt
| Begriff | Bedeutung |
|---|---|
| Endpunkt | Eine bestimmte URL, auf die eine API antwortet. |
| API-Schlüssel | Eine geheime Zeichenfolge, die deine App gegenüber einem Dienst identifiziert. Behandle sie wie ein Passwort. |
| Authentifizierung | Nachweisen, wer anruft – mit Schlüssel, Token oder Login. Siehe was Authentifizierung ist. |
| Rate Limit | Eine Obergrenze, wie viele Anfragen du in einem Zeitraum stellen kannst. |
| SDK | Eine fertige Code-Bibliothek, die den Aufruf einer bestimmten API erleichtert. |
| Dokumentation | Die „Speisekarte“: welche Endpunkte es gibt, was sie annehmen und zurückgeben. |
| Sandbox / Testmodus | Eine Version eines Dienstes zum Testen ohne echtes Geld oder echte Daten. |
| Webhook | Ein Aufruf eines anderen Dienstes an deine App, wenn etwas passiert. |
Häufige Fehler und Missverständnisse
- Geheime Schlüssel ins Frontend legen. Alles, was im Browser läuft, kann jeder sehen, der die Seite besucht. Geheime Schlüssel müssen auf dem Server bleiben, in Umgebungsvariablen oder Secrets.
- Schlüssel in den Chat kopieren. Der Chatverlauf kann gespeichert werden. Nutze stattdessen die Secrets-Funktion deines Builders und tausche jeden Schlüssel aus, der offengelegt wurde.
- Annehmen, dass eine API kostenlos ist. Viele APIs berechnen pro Anfrage oder pro Nutzungseinheit – KI-Modell-APIs rechnen nach Tokens ab. Prüfe die Preise und setze Ausgabenlimits. Siehe wie du LLM-APIs nutzt.
- Fehler nicht behandeln. Externe Dienste fallen aus, laufen in Timeouts und stoßen an Limits. Bitte um sinnvolle Fehlermeldungen und Wiederholungsversuche.
- Dem Browser vertrauen. Deine eigene API muss Berechtigungen selbst prüfen. Einen Button auszublenden verhindert nicht, dass jemand den Endpunkt direkt aufruft.
- Live-Schlüssel beim Testen verwenden. Nutze Schlüssel aus dem Testmodus, bis du zum Start bereit bist.
Was du deinen KI-Builder fragen solltest
- „Welche externen APIs nutzt diese App, und was kostet jede davon?“
- „Rufe die Zahlungs-API nur vom Server aus auf. Lies den Schlüssel aus einer Umgebungsvariable.“
- „Liste jeden Endpunkt unserer API auf, was er tut und wer ihn aufrufen darf.“
- „Prüfe auf dem Server, dass der angemeldete Nutzer die Buchung besitzt, bevor du sie aktualisierst oder löschst.“
- „Wenn die E-Mail-API ausfällt, speichere die Buchung trotzdem und protokolliere den Fehler.“
- „Verwende vorerst den Testmodus des Anbieters.“
APIs in Mythex
Mythex kann deine eigene API bauen – als Teil einer Web-App oder als eigenes Backend in Node, Python (FastAPI), C# oder Java, das neben deinem Frontend läuft – und den Code schreiben, der externe Dienste aufruft. Du hinterlegst deren Schlüssel als Projekt-Secrets statt im Chat, und sie stehen deiner App in der Vorschau und nach der Veröffentlichung zur Verfügung. Die Dokumentation enthält Rezepte für die Integration beliebiger APIs und ein REST-API-Backend.
Fragen
Was ist eine API ganz einfach erklärt?
Eine API (Application Programming Interface) ist eine festgelegte Art, wie eine Software-Komponente eine andere nach Daten fragt oder sie zu etwas auffordert. Deine App sendet eine Anfrage in einem vereinbarten Format, und das andere System schickt eine Antwort zurück – etwa Wetterdaten, ein Zahlungsergebnis oder eine KI-generierte Antwort.
Was ist eine REST-API?
Eine REST-API ist ein verbreiteter Stil für Web-APIs, bei dem jede Art von Objekt (Buchungen, Kunden) eine eigene URL hat und du Standard-HTTP-Methoden verwendest: GET zum Lesen, POST zum Anlegen, PUT oder PATCH zum Aktualisieren, DELETE zum Entfernen. Die Daten kommen meist als JSON zurück.
Was ist ein API-Schlüssel, und wo sollte ich ihn aufbewahren?
Ein API-Schlüssel ist eine geheime Zeichenfolge, die deine App gegenüber einem Dienst identifiziert und die oft erlaubt, Geld auszugeben oder auf Daten zuzugreifen. Bewahre ihn in Umgebungsvariablen oder den Secrets deines Projekts auf dem Server auf, niemals in Code, der im Browser läuft, und niemals in einem öffentlichen Repository.
Was ist der Unterschied zwischen einer API und einem Webhook?
Bei einer API fragt deine App einen anderen Dienst nach etwas, wenn sie es braucht. Bei einem Webhook ruft der andere Dienst deine App auf, wenn etwas passiert – zum Beispiel meldet dir ein Zahlungsanbieter, dass eine Zahlung erfolgreich war.