Wenn etwas schiefgeht
API-Fehler wie ein Entwickler diagnostizieren, nicht raten
⏱ ca. ~6 Min
01 · Lesen
APIs gehen kaputt. Server fallen aus. Keys laufen ab. Rate Limits werden erreicht. URLs werden vertippt.
Der Unterschied zwischen Anfängern und Entwicklern ist nicht, ob etwas schiefgeht — sondern wie schnell du diagnostizierst und fixst.
Systematischer Ansatz:
1. Status-Code lesen — welche Fehlerklasse? 2. Response-Body lesen — der Server sagt meistens klar, was falsch ist 3. Header anschauen — Retry-After, WWW-Authenticate, X-RateLimit-* sind Goldminen 4. URL prüfen — ein Tippfehler bricht alles
Kernpunkte
- Zum Debuggen immer curl -i nutzen — du brauchst die Header
- Der Fehler-Body ist oft nützlicher als der Status-Code
- 4xx = dein Problem. 5xx = ihr Problem.
- Wenn nichts mehr geht, schau auf die Status-Seite des API-Anbieters
02 · Code-Beispiel
Diagnose-Checkliste nach Status-Code-Klasse.
4xx — Client-Fehler (du hast etwas falsch gemacht)
400 Bad Request
→ Check: Is your JSON valid? Are required fields present?
→ Fix: Validate your -d body. Check the API docs for required fields.
401 Unauthorized
→ Check: Did you include the Authorization header? Is the key correct?
→ Fix: Check your API key. Make sure you're using the right header format.
403 Forbidden
→ Check: Do you have permission? Is this feature on your plan?
→ Fix: Check your account permissions or upgrade your plan.
404 Not Found
→ Check: Does the URL path exist? Did you replace all {placeholders}?
→ Fix: Double-check the URL against the docs. Check the resource ID.
429 Too Many Requests
→ Check: Look for Retry-After header — it tells you when to retry.
→ Fix: Slow down. Implement exponential backoff. Use caching.
5xx — Server-Fehler (ihr Problem)
500 Internal Server Error
→ Their code crashed. Check their status page.
→ Retry after a brief wait.
503 Service Unavailable
→ Server is overloaded or in maintenance.
→ Check their status page. Wait and retry.
504 Gateway Timeout
→ Your request took too long. The server gave up.
→ Try again. If persistent, contact the API provider.
curl-Fehler (noch keine Antwort empfangen)
curl: (6) Could not resolve host
→ DNS failure. Check the hostname for typos.
→ Verify your internet connection.
curl: (7) Failed to connect
→ Server unreachable or port blocked.
→ Check if the service is down.
curl: (35) SSL certificate problem
→ Certificate expired or invalid.
→ Check if you're using https:// correctly.
03 · Echte Übung
Sende eine Anfrage an ein nicht existierendes GitHub-Repo, um einen echten 404 auszulösen.
curl -i https://api.github.com/repos/this-user-doesnt-exist-xyz/no-such-repo
04 · Echte Übung
Sende eine unauthentifizierte Anfrage an einen Endpoint, der Auth braucht, um einen echten 401 auszulösen.
curl -i https://api.github.com/user
05 · Quiz
Du rufst eine API auf und bekommst Status-Code 429. Was tun?
- Deinen API-Key prüfen
- Die URL wechseln
- Stattdessen eine POST-Anfrage senden
- Warten und erneut versuchen — du hast das Rate Limit erreicht
06 · Ausfüllen
Ein Status-Code, der mit 4 beginnt, bedeutet, dass der Fehler auf der _____-Seite liegt (deine Anfrage war falsch).
Andere Lektionen aus diesem Kapitel
⚠ Das volle interaktive Erlebnis braucht JavaScript. Bitte aktiviere es und lade die Seite neu.
※ Diese Seite ist ein unabhängiges Bildungsprojekt — kein offizielles Anthropic-Produkt. Claude™ ist eine eingetragene Marke von Anthropic, PBC.