Naar de inhoud
esif.nl, kennisbank security en intelligence

Technologie

API key

Bijgewerkt op · Door Maarten van den Bos

Een API key is een unieke geheime code waarmee een programma zich bij een API bekendmaakt. De API gebruikt de sleutel om te bepalen welke applicatie een verzoek doet, wat die applicatie mag en hoeveel verzoeken ze mag sturen. Een API key hoort geheim te blijven: wie hem in handen krijgt, kan de API gebruiken alsof hij die applicatie is.

Wat is een API key?

Een API key, in het Nederlands API-sleutel, is een lange reeks letters en cijfers die een aanbieder uitgeeft aan een ontwikkelaar of organisatie. Een API is het koppelvlak waarmee programma’s gegevens uitwisselen; de API key is het toegangsbewijs dat een programma bij elk verzoek meestuurt.

Met de sleutel weet de aanbieder van de API 3 dingen: welke applicatie het verzoek doet, welke rechten die applicatie heeft en hoeveel verzoeken ze al heeft gedaan. Zo kan de aanbieder gebruik meten, limieten instellen en per klant factureren. Een sleutel kan beperkt zijn tot bepaalde functies, bijvoorbeeld alleen gegevens lezen en niet wijzigen.

Een API key lijkt op een wachtwoord, maar er is een belangrijk verschil: hij hoort bij een applicatie, niet bij een persoon. Iedereen die de sleutel kent, kan hem gebruiken. Daarom is het veilig bewaren van API keys een vast onderdeel van API-security.

Hoe werkt een API key?

Een API key werkt als een toegangspas die bij elk verzoek wordt gecontroleerd:

  1. Maak een account aan bij de aanbieder van de API en vraag een sleutel aan in het ontwikkelaarsportaal.
  2. Sla de sleutel op buiten de broncode, bijvoorbeeld in een secrets manager of een omgevingsvariabele.
  3. Stuur de sleutel mee bij elk verzoek, meestal in een HTTP-header en altijd via een versleutelde verbinding.
  4. Laat de server de sleutel controleren en het verzoek toestaan of weigeren.
  5. Volg in het portaal het gebruik van de sleutel en trek hem in als hij niet meer nodig is.

Waarom is een API key niet geschikt om gebruikers te authenticeren?

Een API key bewijst welke applicatie iets vraagt, niet welke persoon. OWASP schrijft in de API Security Top 10 van 2023 dat API keys niet gebruikt moeten worden voor gebruikersauthenticatie en alleen voor het authenticeren van API-clients (bron: OWASP, API2:2023). Een sleutel verloopt vaak niet vanzelf, zit in de app bij alle gebruikers tegelijk en kan niet met MFA worden beveiligd.

Voor toegang namens een gebruiker is OAuth 2.0 de gangbare standaard. OAuth werkt met tokens die toegang geven tot “specifieke gegevens van één gebruikersaccount voor een bepaalde duur”. Voor de Nederlandse overheid is het NL GOV Assurance profile for OAuth 2.0 sinds 9 juli 2020 verplicht volgens het principe ‘pas toe of leg uit’ (bron: Forum Standaardisatie).

API keyOAuth-token
IdentificeertDe applicatieDe gebruiker en de applicatie
GeldigheidVaak onbeperkt tot intrekkingBeperkt, meestal minuten tot uren
RechtenVast per sleutelPer gebruiker en per toestemming
Geschikt voorServer-tot-serververkeer, gebruik metenToegang tot persoonlijke gegevens

Hoe bewaar je een API key veilig?

Een gelekte API key is direct bruikbaar voor een aanvaller. Volg deze stappen:

  1. Zet een API key nooit in de broncode en nooit in een repository zoals GitHub, ook niet in een privé-repository.
  2. Bewaar sleutels in een secrets manager of kluis en geef alleen de systemen toegang die ze nodig hebben.
  3. Geef elke sleutel zo min mogelijk rechten en beperk hem waar mogelijk tot vaste IP-adressen of domeinen.
  4. Gebruik aparte sleutels voor test en productie en per applicatie.
  5. Vervang sleutels volgens een vast schema (rotatie) en direct als er een vermoeden van een lek is.
  6. Laat automatische secret scanning meelopen in de ontwikkelstraat, zodat een sleutel in code wordt opgemerkt vóór publicatie.
  7. Monitor het gebruik van elke sleutel op ongewone pieken of verzoeken vanaf onbekende locaties.

Het beheer van sleutels en rechten valt binnen IAM (identity and access management).

Voorbeeld uit de praktijk

In maart 2026 kregen aanvallers een API key in handen van de clouddienst Amazon Web Services (AWS) die de Europese Commissie gebruikte. Volgens CERT-EU, het cybersecurityteam van de EU-instellingen, gebeurde dat op 19 maart via een besmette versie van de beveiligingsscanner Trivy, die de Commissie via een normale software-update had binnengekregen. De sleutel gaf beheerrechten over andere AWS-accounts van de Commissie (bron: CERT-EU, 2026).

Het securityteam van de Commissie zag op 24 maart meldingen over misbruik. In totaal werd ongeveer 340 GB aan ongecomprimeerde data buitgemaakt, van maximaal 71 klanten van de webhostingdienst achter europa.eu, onder wie minstens 29 andere EU-organisaties. Dit is een supply-chain-aanval: de sleutel lekte via een vertrouwd hulpmiddel. CERT-EU adviseert onder meer om blootgestelde sleutels te roteren.

API key in de praktijk van een security-professional

Security-professionals zien API keys vooral als geheimen die beheerd moeten worden. Een security architect legt vast waar sleutels worden bewaard, wie ze mag aanmaken en hoe vaak ze worden vervangen. Een ethical hacker zoekt in apps, websites en openbare repositories naar sleutels die daar niet horen. Een SOC-analist let op ongewoon gebruik van sleutels, zoals verzoeken vanaf nieuwe locaties.

NIST noemt API keys in zijn richtlijnen voor API-bescherming in cloudomgevingen (NIST SP 800-228). Een WAAP kan verzoeken met ongeldige of misbruikte sleutels blokkeren, maar vervangt goed sleutelbeheer niet.

Veelgestelde vragen

Hoe kom je aan een API key?

Je vraagt een API key aan bij de aanbieder van de API. Meestal maak je een account aan op het ontwikkelaarsportaal, accepteer je de gebruiksvoorwaarden en maak je daar een sleutel aan. Sommige aanbieders vragen eerst om een beschrijving van je toepassing of om een contract voordat ze een sleutel uitgeven.

Waar kan ik mijn API key vinden?

Je vindt je API key in het account of ontwikkelaarsportaal van de aanbieder, vaak onder een kopje als ‘API’, ‘Developers’ of ‘Keys’. Veel aanbieders tonen de volledige sleutel maar 1 keer. Ben je hem kwijt, maak dan een nieuwe sleutel aan en trek de oude in.

Hoe kan ik een gratis API key aanvragen?

Veel API’s hebben een gratis variant met een limiet op het aantal verzoeken. Je maakt een account aan bij de aanbieder en genereert een sleutel in het portaal. Ook overheden bieden open data via API’s aan, soms zonder sleutel en soms met een gratis sleutel na registratie.

Wat kost een API?

Dat verschilt per aanbieder. Open data van overheden is vaak gratis. Commerciële API’s rekenen meestal per verzoek, per maand of volgens een staffel met een gratis instapniveau. Omdat de kosten aan je API key hangen, betaal jij ook als iemand anders een gelekte sleutel van jou misbruikt.

Bronnen

  1. OWASP: API2:2023 Broken Authentication
  2. Forum Standaardisatie: NL GOV Assurance profile for OAuth 2.0
  3. NIST SP 800-228: Guidelines for API Protection for Cloud-Native Systems
  4. CERT-EU: European Commission cloud breach, a supply-chain compromise (2026)

Gerelateerde begrippen

  • API

    API staat voor application programming interface: een vaste set afspraken waarmee 2 softwareprogramma's gegevens en functies uitwisselen. Een app vraagt via een API bijvoorbeeld het weer, een adres of de status van een betaling op bij een andere dienst. Omdat API's rechtstreeks toegang geven tot gegevens, zijn ze een geliefd doelwit van aanvallers.

  • API-security

    API-security is het beveiligen van API's: de koppelingen waarmee apps, websites en systemen gegevens uitwisselen. Het doel is dat alleen bevoegde gebruikers en systemen precies bij de gegevens en functies kunnen die voor hen bedoeld zijn. Belangrijke maatregelen zijn authenticatie, autorisatie per object, versleuteling, limieten op gebruik en een actueel overzicht van alle API's.

  • IAM (identity and access management)

    IAM staat voor identity and access management: het geheel van beleid, processen en systemen waarmee een organisatie bepaalt wie toegang krijgt tot welke systemen en gegevens. IAM zorgt dat elke medewerker een eigen account heeft, alleen de rechten krijgt die nodig zijn voor het werk en die rechten weer kwijtraakt bij een andere functie of vertrek.

  • Supply-chain-aanval

    Een supply-chain-aanval is een cyberaanval waarbij de aanvaller niet direct zijn doelwit aanvalt, maar eerst een leverancier. Via een besmette software-update, een beheertool of de toegang van die leverancier komt hij daarna bij de klanten binnen. Omdat 1 leverancier veel klanten heeft, kan 1 aanval duizenden organisaties tegelijk raken.

  • WAAP (web application and API protection)

    WAAP staat voor web application and API protection: een beveiligingsdienst die websites en API's tegen aanvallen van buitenaf beschermt. Een WAAP combineert een web application firewall, botdetectie, DDoS-mitigatie en API-bescherming in 1 product. Meestal draait een WAAP als clouddienst tussen het internet en de applicaties van een organisatie.