Applicaties 6 min

Wat is een REST API?

Kort antwoord

Een REST API is een interface waarmee twee applicaties via HTTP-verzoeken gegevens uitwisselen. De ene applicatie stuurt een verzoek naar een endpoint (een URL), en de andere stuurt een gestructureerd antwoord terug, bijna altijd in JSON-formaat. REST staat voor Representational State Transfer en is de meest gebruikte architectuurstijl voor moderne webdiensten.

Een REST API is een interface waarmee applicaties via HTTP met elkaar communiceren. Zo wisselen moderne apps gestructureerd data uit.

Wat een REST API precies is

Een REST API is een afgesproken manier waarop twee applicaties met elkaar praten via het internet. REST staat voor Representational State Transfer en beschrijft hoe verzoeken zijn opgebouwd: je stuurt een HTTP-verzoek naar een specifieke URL (het endpoint), en je ontvangt een gestructureerd antwoord terug.

Bijna altijd is dat antwoord JSON: een lichtgewicht tekstformaat dat vrijwel elke programmeertaal kan lezen. Een weersapp vraagt aan een weer-API: “Geef mij het huidige weer voor Amsterdam.” De API stuurt terug: temperatuur 18 graden, bewolkt, windkracht 3. De weersapp toont dat aan de gebruiker.

Meer over het bredere begrip API lees je in het artikel over wat een API is.

Endpoints en HTTP-methoden

Een REST API bestaat uit endpoints: URLs met een vaste structuur. Een webshop-API kan er zo uitzien:

  • GET /producten haalt alle producten op
  • GET /producten/42 haalt product met ID 42 op
  • POST /bestellingen maakt een nieuwe bestelling aan
  • PUT /bestellingen/88 werkt bestelling 88 bij
  • DELETE /bestellingen/88 verwijdert bestelling 88

De HTTP-methode (GET, POST, PUT, DELETE) geeft aan wat je wilt doen. De URL geeft aan met welke data je dat wilt doen. Samen vormen ze een begrijpelijk systeem: de URL is het zelfstandig naamwoord, de methode is het werkwoord.

Requests, responses en JSON

Een typisch REST-verzoek ziet er van binnenuit zo uit: de client stuurt een HTTP-verzoek naar een URL, met optioneel een JSON-body bij POST of PUT. De server verwerkt het verzoek en stuurt een HTTP-respons terug met een statuscode en, als er data is, een JSON-body.

Voorbeeld: je roept POST /bestellingen aan met de body:

{ "product_id": 42, "aantal": 2, "klant_id": 7 }

De API antwoordt met statuscode 201 (Created) en:

{ "bestelling_id": 1024, "status": "verwerking", "levertijd": "2026-07-16" }

Statuscodes vertellen je of het gelukt is: 200 is OK, 201 is aangemaakt, 404 is niet gevonden, 500 is een serverfout.

REST versus SOAP en GraphQL

REST is niet de enige API-stijl. SOAP is ouder en gebruikt XML in plaats van JSON. Het is strenger en complexer, maar je treft het nog aan bij bankensoftware en legacy-systemen.

GraphQL is een alternatief van Meta (Facebook) waarbij de client precies opgeeft welke velden hij wil ontvangen. In plaats van een vast endpoint per resource, is er één endpoint voor alle verzoeken. Handig als je veel verschillende data uit één API haalt, zoals in een mobiele app die bandbreedte bespaart. Voor de meeste toepassingen is REST echter voldoende en eenvoudiger te implementeren.

Waarom REST APIs overal zijn

Vrijwel elke moderne applicatie praat met andere systemen. Een webshop praat met een betaalprovider, een CRM communiceert met een e-mailplatform, een dashboard haalt data op uit meerdere bronnen. REST APIs maken al die verbindingen mogelijk, ongeacht de programmeertaal of het platform.

Als je een SaaS-applicatie laat bouwen, bouw je vrijwel zeker REST API-integraties in. Bestaande diensten als Stripe, Mollie, Google en Microsoft bieden allemaal REST APIs aan waarmee je binnen uren kunt integreren in plaats van maanden een eigen koppeling te bouwen.

Onze tip: wil je weten welke APIs beschikbaar zijn voor een dienst die je gebruikt? Zoek op de naam van de dienst plus het woord “API documentation” of “developer docs”. Vrijwel elke moderne software heeft een openbare API-documentatie met voorbeeldverzoeken die je direct kunt testen in een tool als Postman of Insomnia.

Veelgestelde vragen

Wat is het verschil tussen een REST API en een gewone API?

Een API (Application Programming Interface) is het brede concept: een afgesproken interface waarmee twee systemen met elkaar praten. REST is een specifieke architectuurstijl die bepaalt hoe die interface werkt, namelijk via HTTP, stateless verzoeken en vaste URL-structuren. Vrijwel alle APIs die je tegenkomt op het web zijn REST APIs, maar er bestaan ook andere varianten zoals SOAP (ouder, XML-gebaseerd) en GraphQL (flexibeler, één endpoint).

Wat betekent de HTTP-statuscode 200, 404 of 500?

HTTP-statuscodes geven aan wat er met een verzoek is gebeurd. Code 200 (OK) betekent dat het verzoek is gelukt en er een antwoord is teruggestuurd. Code 404 (Not Found) betekent dat het gevraagde endpoint of de gevraagde data niet bestaat. Code 500 (Internal Server Error) geeft aan dat er iets mis is gegaan op de server zelf, niet bij het verzoek. Code 401 (Unauthorized) verschijnt als je geen geldig API-token meestuurt.

Waarom gebruikt bijna elke applicatie een REST API?

REST APIs zijn eenvoudig, breed ondersteund en werken over HTTP, het protocol dat al ten grondslag ligt aan het web. Ze zijn taalonafhankelijk: het maakt niet uit of de server in Python, PHP of Node.js is geschreven en de client in JavaScript of Swift. Elk systeem dat HTTP begrijpt, kan met een REST API communiceren. Dat maakt integraties tussen losse systemen, zoals een webshop die een betaalprovider aanroept, praktisch en beheersbaar.

Wat is het verschil tussen GET, POST, PUT en DELETE?

Dit zijn HTTP-methoden die aangeven wat je wilt doen. GET vraagt gegevens op zonder iets te wijzigen. POST stuurt nieuwe data naar de server om iets aan te maken, zoals een nieuwe bestelling. PUT vervangt bestaande data volledig, bijvoorbeeld het bijwerken van een klantprofiel. DELETE verwijdert een resource. PATCH lijkt op PUT maar wijzigt alleen de opgegeven velden in plaats van alles te vervangen.

Hier over sparren?

Plan een vrijblijvend gesprek. We luisteren mee, schetsen een aanpak en geven een eerlijk beeld van wat haalbaar is, zonder verkoopdruk.