APIs sind die Sprache in der Services miteinander reden. Wer APIs versteht, kann praktisch jeden externen Dienst in eigene Workflows einbinden – von Wetterdaten über Bankkonten bis hin zu KI-Modellen.
RESTJSONOAuthAPI-KeyHTTP
REST-APIs verstehen – die Grundlagen die reichen
REST (Representational State Transfer) ist das dominante Paradigma für Web-APIs. Die Kernidee: Ressourcen (Nutzer, Produkte, Nachrichten) werden über URLs adressiert, Aktionen werden über HTTP-Methoden ausgedrückt.
GET/users/42 – Nutzer lesen
POST/users – Neuen Nutzer erstellen (Daten im Body)
PUT/PATCH/users/42 – Nutzer aktualisieren
DELETE/users/42 – Nutzer löschen
Responses kommen als JSON, Status-Codes kommunizieren das Ergebnis: 200 OK, 201 Created, 400 Bad Request, 401 Unauthorized, 404 Not Found, 500 Server Error.
Für n8n-Workflows ist das die wichtigste Grundlage: Fast jeder HTTP-Node-Aufruf folgt diesem Muster.
Authentifizierung: API-Keys, OAuth und Bearer-Token
APIs ohne Auth sind selten – hier die häufigsten Methoden:
API-Key im Header: Einfachste Methode. Authorization: Bearer DEIN_KEY oder X-API-Key: DEIN_KEY. Für einfache Service-to-Service-Kommunikation in KI-Automatisierungen ideal.
OAuth 2.0: Standard wenn User-Berechtigungen delegiert werden (Login mit Google, GitHub-Zugriff). Aufwändiger zu implementieren aber der Goldstandard für User-Auth.
JWT (JSON Web Token): Self-contained Token mit Claims. Server muss keine Session speichern, kann die Gültigkeit direkt aus dem Token prüfen.
# API-Aufruf mit Python (requests)import requests
headers = {"Authorization": f"Bearer {API_KEY}"}
response = requests.get("https://api.example.com/data", headers=headers)
if response.status_code == 200:
data = response.json()
else:
print(f"Fehler: {response.status_code} – {response.text}")
APIs in eigenen Projekten und Automatisierungen einsetzen
APIs konsumieren ist eine Sache – eigene APIs bauen eine andere. Beides hat seinen Platz:
Externe APIs konsumieren: OpenWeather, Telegram Bot API, GitHub API, OpenAI API – alles in n8n oder direkt per Python via HTTP-Node oder requests-Library.
Eigene APIs bauen: Wenn verschiedene Services auf eigene Daten zugreifen sollen. Mit Bash und PHP schnell möglich, mit Python (FastAPI) professionell.
Webhooks vs. APIs: Für reaktive Szenarien Webhooks bevorzugen. Für abfragende Szenarien (Daten holen wann ich will) APIs.
Wichtig für Automatisierungen: Rate Limits beachten. Viele APIs begrenzen Anfragen (z.B. 100/Minute). Bei KI-Workflows mit hohem Volumen immer Retry-Logik und Backoff einbauen.
Häufige Fragen zu APIs
Fast alle modernen APIs haben Swagger/OpenAPI-Dokumentation – oft unter /docs oder /api-docs der API-URL. Alternativ Postman-Collections des Anbieters. Für Experimente ist Postman oder das HTTP-Request-Tool in n8n ideal zum Testen.
Pflicht-Muster: Status-Code prüfen, bei 4xx nicht wiederholen (Fehler in der Anfrage), bei 5xx mit exponentiellem Backoff wiederholen. In n8n Error-Workflows einrichten die bei fehlgeschlagenen HTTP-Aufrufen eine Telegram-Benachrichtigung senden.
GraphQL erlaubt präzise Abfragen – du definierst exakt welche Felder du brauchst, kein Over- oder Under-Fetching. Besser wenn du nur einen Teil komplexer verschachtelter Daten brauchst oder eine API viele verschiedene Clients hat. Für einfache Automatisierungen ist REST oft pragmatischer.
Niemals im Code oder Git-Repository. In n8n: Credential-Store nutzen. In eigenen Projekten: Environment-Variablen (.env-Datei, nicht ins Repo commiten). Auf Docker-Servern: Docker Secrets oder env-Variablen in der Compose-Konfiguration.