Een API in gewone taal
Een API is de balie van een dienst. Achter die balie zit een heel systeem — een webshop, een boekhoudpakket, een weerdienst — met gegevens en functies die jij niet ziet en niet hoeft te begrijpen. Aan de balie hangt een lijst: dit zijn de vragen die je mag stellen, dit zijn de dingen die je mag laten doen, en zó moet je het vragen. Houd je je aan die lijst, dan krijg je antwoord.
Die afspraak is precies wat het woord betekent. API staat voor Application Programming Interface: de vaste manier waarop het ene programma iets kan vragen aan het andere. Niet via een scherm met knoppen, maar rechtstreeks — software tegen software.
Het belangrijkste aan die balie is dat je niet naar de keuken hoeft. Je hoeft niet te weten in welke taal de webshop geschreven is, hoe zijn database eruitziet of op welke server hij draait. Je stelt je vraag op de afgesproken manier en krijgt de gegevens terug. Dat is ook waarom API's zo lang meegaan: de dienst kan vanbinnen volledig verbouwd worden zonder dat jouw koppeling het merkt, zolang de balie hetzelfde blijft.
Waarom heeft bijna elke dienst er een?
Een website is gemaakt voor mensen: je logt in, klikt rond en leest van het scherm. Dat werkt prima voor één ding tegelijk, maar niet voor duizend. Zodra gegevens ergens anders naartoe moeten, of er dagelijks iets herhaald moet worden, is een mens de traagste schakel.
Daarom bieden diensten naast hun website ook een API aan. Dezelfde gegevens, dezelfde acties, maar dan in een vorm waar software mee overweg kan.
- Koppelen: je bestellingen automatisch in je boekhouding krijgen, zonder overtypen.
- Automatiseren: elke ochtend een overzicht in je mailbox of in een chatkanaal.
- Combineren: gegevens uit twee diensten naast elkaar zetten die elkaar zelf niet kennen.
- Bouwen: een eigen app of dashboard dat draait op de gegevens van een bestaande dienst.
- Verhuizen: alles in één keer eruit halen als je van dienst wisselt.
Je gebruikt ze allang
Ook zonder het te weten zit je de hele dag achter API's. Als je op een webshop de bezorgdatum ziet, vraagt die webshop dat op bij de vervoerder. Betaal je met iDEAL, dan praat de webshop met een betaaldienst. Zie je een kaartje op een contactpagina, dan komt dat van een kaartendienst. Zelfs de website die je nu leest, haalt onderweg gegevens op bij een ander stuk software.
En als je weleens met Make, Zapier of n8n hebt gewerkt: elke 'kant-en-klare koppeling' die je daar aanklikt, is niets anders dan een API die iemand voor je heeft ingepakt. Deze cursus haalt dat papiertje eraf — zodat je ook verder kunt als die kant-en-klare koppeling er níét is.
Hoe ziet zo'n vraag eruit?
Verrassend gewoon: als een webadres. Hieronder staat een echte vraag aan een openbare weerdienst. Je leest er, met een beetje goede wil, gewoon uit wat er gevraagd wordt: geef de huidige temperatuur op deze breedtegraad en lengtegraad — dat is ongeveer Amsterdam.
https://api.open-meteo.com/v1/forecast?latitude=52.37&longitude=4.89¤t=temperature_2m
En dit krijg je terug. Geen opgemaakte pagina met plaatjes en knoppen, maar kale gegevens in een vaste vorm die JSON heet. Lelijk voor een mens, ideaal voor software: elk stukje heeft een naam, dus een programma kan er feilloos het juiste getal uit vissen.
{
"latitude": 52.37,
"longitude": 4.89,
"timezone": "GMT",
"current": {
"time": "2026-08-03T09:00",
"temperature_2m": 19.4
},
"current_units": {
"temperature_2m": "°C"
}
}
Dat is het hele idee. De rest van deze cursus is niets anders dan dit, maar dan uitgebreider: hoe je zo'n adres leest en aanpast, hoe je het antwoord uitpluist, hoe je gegevens niet alleen ophaalt maar ook wegschrijft, en hoe je zorgt dat het blijft werken als de dienst aan de andere kant even hapert.
- Kopieer het verzoek hierboven en plak het in de adresbalk van je browser. Druk op enter.
- Bekijk wat je terugkrijgt. Zoek het getal achter temperature_2m op — dat is de temperatuur in graden Celsius.
- Verander in het adres de latitude in 40.71 en de longitude in -74.01 en laad het opnieuw. Je vraagt nu het weer in New York op.
- Denk aan één taak in je eigen werk waarbij je gegevens overtypt van het ene systeem naar het andere. Schrijf op welke twee systemen dat zijn — die koppeling is je rode draad in deze cursus.
Vastgelopen?
- Ik zie alleen een muur van tekst zonder opmaak. Dat klopt — dat is JSON, en het is voor software bedoeld. Firefox toont het netjes ingesprongen; in Chrome en Edge zie je het rauw. In les 1.3 maken we het leesbaar.
- Moet ik hiervoor kunnen programmeren? Nee. In deze hele cursus typ je adressen over en klik je in een programma. Er komt geen regel code aan te pas die je niet uitgelegd krijgt.
- Is een API hetzelfde als een website? Nee, maar ze wonen wel op hetzelfde adressysteem. Een website stuurt een pagina die een mens kan lezen; een API stuurt gegevens die software kan gebruiken. Vaak zit achter allebei hetzelfde systeem.
- Kost dit geld? De API's in deze cursus zijn gratis te gebruiken en vragen geen creditcard. Grote commerciële API's vragen vaak wél geld, meestal per aantal aanroepen.
- Wat is in eigen woorden een API, en waarom hoef je niet te weten hoe de dienst erachter werkt?
- Noem twee dingen die je met een API kunt doen en die via de website van dezelfde dienst niet of nauwelijks lukken.
- Wat is het verschil tussen wat een website terugstuurt en wat een API terugstuurt?