Eine REST API ist die Sprache, in der sich Programme im Web unterhalten – und wenn du sie einmal verstanden hast, fügt sich plötzlich das halbe Internet zu einem klaren Bild zusammen. In diesem Guide erklären wir dir REST mit einer Restaurant-Analogie, die hängen bleibt, zeigen dir die HTTP-Methoden als Tabelle und gehen ein echtes JSON-Beispiel Zeile für Zeile durch. Danach weißt du, was eine API macht, wie eine Anfrage aussieht und woran du eine richtig gute API erkennst.
- Eine API ist eine Schnittstelle, über die zwei Programme Daten austauschen – ohne dass eines das andere von innen kennen muss.
- REST ist ein verbreiteter Baustil für Web-APIs: Daten heißen Ressourcen und liegen unter klaren Adressen (Endpoints).
- Vier HTTP-Methoden reichen für fast alles: GET (lesen), POST (anlegen), PUT (ändern), DELETE (löschen).
- Der Server antwortet mit einem Statuscode (z. B.
200,404,500) und meist mit JSON.
Was ist eine API – und was bedeutet REST?
API steht für Application Programming Interface, auf Deutsch „Programmier-Schnittstelle“. Sie ist die definierte Tür, durch die ein Programm bei einem anderen etwas bestellen kann. Deine Wetter-App hat selbst keine Wetterdaten – sie fragt über eine API einen Wetterdienst und bekommt die Daten zurück. Du musst dafür nicht wissen, wie der Wetterdienst intern rechnet. Du nutzt nur seine Schnittstelle.
REST (Representational State Transfer) ist ein bestimmter Architekturstil für solche Web-Schnittstellen. Eine REST API baut konsequent auf den Mechanismen auf, die das Web sowieso schon nutzt: Adressen (URLs), HTTP-Methoden und Statuscodes. Genau das macht REST so beliebt – es braucht keine exotische Technik, sondern nutzt das HTTP-Protokoll, das jeder Browser ohnehin spricht.
Die Restaurant-Analogie
Stell dir ein Restaurant vor. Du sitzt am Tisch (das ist deine App). Die Küche kocht (das ist der Server mit der Datenbank). Dazwischen läuft der Kellner – das ist die REST API.
Du bestellst von der Speisekarte
Die Speisekarte ist die API-Dokumentation: Sie listet auf, was du überhaupt anfragen darfst. Du kannst nicht „irgendwas“ bestellen, nur was draufsteht.
Der Kellner trägt die Bestellung in die Küche
Du redest nie direkt mit der Küche. Der Kellner (die API) nimmt deine Anfrage entgegen und reicht sie strukturiert weiter – das schützt die Küche und hält die Regeln ein.
Du bekommst das Gericht – oder eine klare Rückmeldung
Entweder kommt dein Essen (die Daten, meist als JSON) oder eine ehrliche Ansage: „Ausverkauft“ (Fehlercode). Genau dieses saubere Antwortverhalten ist das Herz von REST.
HTTP-Methoden: GET, POST, PUT, DELETE
Jede Anfrage an eine REST API benutzt eine HTTP-Methode (auch „Verb“ genannt). Sie sagt dem Server, was du mit einer Ressource vorhast. Du kommst im Alltag mit vier Methoden extrem weit:
| Methode | Was sie tut | Restaurant-Bild | Beispiel-Endpoint |
|---|---|---|---|
| GET | Daten lesen / abrufen (ändert nichts) | Speisekarte ansehen | GET /kunden/42 |
| POST | Neue Ressource anlegen | Ein Gericht bestellen | POST /kunden |
| PUT | Bestehende Ressource ändern / ersetzen | Bestellung umändern | PUT /kunden/42 |
| DELETE | Ressource löschen | Bestellung stornieren | DELETE /kunden/42 |
/kunden/42“ heißt wörtlich: „Lösche den Kunden mit der ID 42.“ Du erkennst die Absicht schon an der Methode, bevor du den Inhalt anschaust.
Endpoints & Ressourcen: die Adressen der Daten
In REST dreht sich alles um Ressourcen – also Dinge, mit denen du arbeitest: Kunden, Produkte, Bestellungen, Artikel. Jede Ressource bekommt eine eindeutige Adresse, den Endpoint. Eine gute Faustregel: Ressourcen sind Substantive im Plural, einzelne Einträge bekommen eine ID dahinter.
/produkte→ alle Produkte (eine Sammlung)/produkte/7→ das eine Produkt mit der ID 7/produkte/7/bewertungen→ die Bewertungen zu diesem Produkt
Wichtig: Derselbe Endpoint verhält sich je nach Methode anders. GET /produkte liefert die Liste, POST /produkte legt ein neues Produkt an. Adresse und Verb ergeben zusammen erst die komplette Aktion. Zusätzliche Filter hängst du als Query-Parameter an, etwa GET /produkte?kategorie=schuhe&limit=20.
Statuscodes: Hat es geklappt?
Auf jede Anfrage antwortet der Server mit einem dreistelligen HTTP-Statuscode. Schon die erste Ziffer verrät die Stimmung: 2xx heißt Erfolg, 4xx heißt „Du hast einen Fehler gemacht“, 5xx heißt „Der Server hat einen Fehler“.
Alles geklappt, hier sind deine Daten.
Neue Ressource erfolgreich angelegt (nach POST).
Die gewünschte Ressource gibt es nicht.
Du bist nicht eingeloggt / nicht berechtigt.
Auf dem Server ist etwas schiefgelaufen.
404 nicht mit 500. 404 bedeutet: „Die Adresse existiert nicht“ – meist liegt es an deiner Anfrage. 500 bedeutet: „Der Server ist abgestürzt“ – da kannst du selbst nichts richten, nur der API-Betreiber.
Ein echtes Beispiel: Request und Response in JSON
Schauen wir uns an, wie es konkret aussieht, wenn du einen neuen Kunden anlegst. Du schickst per POST die Daten als JSON (JavaScript Object Notation) – ein schlankes Textformat aus Schlüssel-Wert-Paaren, das Menschen und Maschinen gleichermaßen lesen können.
Anfrage (Request)POST /kunden HTTP/1.1 Host: api.beispielshop.de Content-Type: application/json { "name": "Lena Vogt", "email": "[email protected]", "newsletter": true }Antwort (Response)
HTTP/1.1 201 Created Content-Type: application/json { "id": 42, "name": "Lena Vogt", "email": "[email protected]", "newsletter": true, "erstellt_am": "2026-06-19T10:24:00Z" }
Was ist passiert? Du hast Name und E-Mail geschickt. Der Server hat den Datensatz gespeichert, ihm eine eindeutige id vergeben und einen Zeitstempel ergänzt. Der Statuscode 201 Created bestätigt: angelegt. Ab jetzt kannst du diesen Kunden über GET /kunden/42 jederzeit wieder abrufen oder mit PUT /kunden/42 aktualisieren. Genau dieser saubere, vorhersehbare Ablauf macht REST in der Praxis so angenehm.
Was macht eine gute REST API aus?
Technisch funktionsfähig ist schnell – richtig gut ist eine API erst, wenn andere Entwickler sie ohne Frust benutzen können. Daran erkennst du Qualität:
- Klare, konsistente Endpoints: Immer Plural-Substantive, vorhersehbare Muster. Wer
/kundenkennt, errät/bestellungenrichtig. - Korrekte Statuscodes: Erfolg ist
2xx, Client-Fehler4xx, Server-Fehler5xx– nicht alles pauschal mit200beantworten. - Aussagekräftige Fehlermeldungen: Nicht nur „Fehler“, sondern was falsch war, etwa „E-Mail-Format ungültig“.
- Versionierung: z. B.
/v1/kunden, damit Änderungen bestehende Apps nicht über Nacht zerstören. - Sicherheit: Zugriff über HTTPS und Authentifizierung (z. B. API-Schlüssel oder Token).
- Gute Doku & Stateless: Eine verständliche Anleitung und der Grundsatz, dass jede Anfrage für sich vollständig ist – der Server merkt sich zwischen zwei Aufrufen nichts.
Häufige Fragen
Was ist der Unterschied zwischen einer API und einer REST API?
„API“ ist der Oberbegriff für jede Programmierschnittstelle. „REST API“ ist eine bestimmte Bauart davon, die das HTTP-Protokoll, klare Adressen (Endpoints) und Statuscodes nutzt. Jede REST API ist eine API – aber nicht jede API folgt dem REST-Stil.
Wofür steht REST genau?
REST steht für „Representational State Transfer“. Gemeint ist, dass der Client immer eine Repräsentation des aktuellen Zustands einer Ressource (z. B. einen Kunden als JSON) übertragen bekommt, ohne dass der Server sich den Verlauf merken muss.
Was bedeutet ein 404-Fehler bei einer API?
Der Statuscode 404 (Not Found) bedeutet, dass die angefragte Ressource oder Adresse nicht existiert. Meist liegt das an einem Tippfehler im Endpoint oder einer ID, die es nicht gibt. Im Gegensatz dazu zeigt 500 einen Fehler auf dem Server selbst an.
Was ist JSON und warum nutzen REST APIs es?
JSON (JavaScript Object Notation) ist ein leichtgewichtiges Textformat aus Schlüssel-Wert-Paaren. REST APIs nutzen es, weil es kompakt, für Menschen lesbar und von praktisch jeder Programmiersprache mühelos verarbeitbar ist – ideal zum Austausch von Daten zwischen Programmen.
Brauche ich Programmierkenntnisse, um eine REST API zu nutzen?
Zum produktiven Einbinden ja, aber zum Ausprobieren nicht zwingend. Mit Werkzeugen wie dem Browser (für GET-Anfragen), curl oder Programmen wie Postman kannst du Endpoints testen, Anfragen verschicken und die JSON-Antworten ansehen, ohne selbst Code zu schreiben.
Welche HTTP-Methode nehme ich wofür?
Zum Lesen GET, zum Anlegen POST, zum Ändern eines vorhandenen Eintrags PUT (oder PATCH für Teiländerungen) und zum Löschen DELETE. Die Methode signalisiert dem Server die Absicht, bevor er den eigentlichen Inhalt der Anfrage überhaupt liest.