Power Query API data ophalen: REST API’s verbinden (2026)
Met Power Query in Excel kun je data rechtstreeks uit REST API’s importeren en automatisch transformeren. In deze handleiding leer je stap voor stap hoe je API-verbindingen opzet, JSON-data parseert en je Excel-werkmap actueel houdt met externe databronnen.
Laatst bijgewerkt: januari 2026
Wat is een REST API en waarom Power Query?
Een REST API (Representational State Transfer Application Programming Interface) is een manier om data op te vragen van externe systemen via het internet. Denk aan weergegevens, wisselkoersen, voorraadstanden of CRM-informatie.
Power Query (in Excel ook bekend als “Gegevens ophalen en transformeren”) is de ideale tool om:
- Automatisch data uit API’s te importeren zonder handmatig kopiëren
- JSON en XML responses te converteren naar Excel-tabellen
- Gegevens te vernieuwen met één klik of op schema
- Transformaties toe te passen voordat data in je werkblad komt
Dit bespaart uren handmatig werk en voorkomt fouten bij het overzetten van data.
Power Query API verbinden stap-voor-stap
Stap 1: Open Power Query Editor
- Windows: Ga naar Gegevens > Gegevens ophalen > Van andere bronnen > Van web
- Mac: Ga naar Gegevens > Nieuwe query > Van andere bronnen > Van web (Let op: Mac-ondersteuning voor API’s is beperkter)
Stap 2: Voer de API-URL in
- In het dialoogvenster “Van web” plak je de volledige API-URL
- Voorbeeld:
https://api.exchangerate-api.com/v4/latest/EUR - Selecteer Basis voor openbare API’s zonder authenticatie
- Klik OK
Tip: Test je API-URL eerst in een browser om te zien of deze werkt en welk formaat de data heeft.
Stap 3: Configureer authenticatie (indien nodig)
Voor beveiligde API’s heb je authenticatie nodig:
| Authenticatietype | Wanneer gebruiken |
|---|---|
| Anoniem | Openbare API’s zonder sleutel |
| API-sleutel | Als header of URL-parameter meegeven |
| Basisverificatie | Gebruikersnaam + wachtwoord |
| OAuth2 | Voor diensten als Microsoft, Google |
API-sleutel via URL-parameter:
https://api.example.com/data?api_key=JOUW_SLEUTEL_HIER
API-sleutel via header (geavanceerd):
let
Bron = Web.Contents(
"https://api.example.com/data",
[
Headers = [#"Authorization" = "Bearer JOUW_TOKEN_HIER"]
]
),
JsonResponse = Json.Document(Bron)
in
JsonResponse
Stap 4: Navigeer naar de juiste data
Na verbinding opent de Navigator of direct de Power Query Editor:
- Klik op Record of List om JSON-structuur te verkennen
- Gebruik Naar tabel om een list naar tabelformaat te converteren
- Klik op de expandeer-knop (twee pijltjes) om geneste objecten uit te klappen
- Selecteer alleen de kolommen die je nodig hebt
Stap 5: Transformeer de data
Veelgebruikte transformaties voor API-data:
- Kolommen verwijderen: Klik rechts op kolomkop > Verwijderen
- Gegevenstype wijzigen: Klik op het type-icoon links van kolomnaam > Kies juiste type
- Filteren: Klik op dropdown-pijl in kolomkop > Selecteer waarden
- Naam wijzigen: Dubbelklik op kolomkop > Typ nieuwe naam
Stap 6: Laad data naar Excel
- Klik Startpagina > Sluiten en laden
- Kies Sluiten en laden naar… voor meer opties:
- Tabel: Laad naar werkblad als Excel-tabel
- Alleen verbinding: Bewaar query zonder te laden
- Draaitabelrapport: Direct naar draaitabel
Stap 7: Vernieuw de data
Houd je data actueel:
- Handmatig: Klik op de tabel > Gegevens > Alles vernieuwen
- Automatisch: Rechtermuisklik op query > Eigenschappen > Stel vernieuwingsinterval in
- Sneltoets: Druk op
Ctrl + Alt + F5om alle query’s te vernieuwen
Geavanceerde API-technieken in Power Query
Paginering verwerken
Veel API’s retourneren data in pagina’s. Zo haal je alle pagina’s op:
let
BasisURL = "https://api.example.com/items",
HaalPagina = (pagina as number) =>
let
Bron = Web.Contents(BasisURL & "?page=" & Number.ToText(pagina)),
Json = Json.Document(Bron)
in
Json,
AllePaginas = List.Generate(
() => [Pagina = 1, Data = HaalPagina(1)],
each [Data] <> null and List.Count([Data]) > 0,
each [Pagina = [Pagina] + 1, Data = HaalPagina([Pagina] + 1)],
each [Data]
),
Gecombineerd = List.Combine(AllePaginas),
Tabel = Table.FromList(Gecombineerd, Splitter.SplitByNothing())
in
Tabel
Parameters gebruiken
Maak je query’s dynamisch met naamgeving van bereiken:
- Maak een benoemd bereik in Excel met je parameterwaarde
- Gebruik in Power Query:
Excel.CurrentWorkbook(){[Name="MijnParameter"]}[Content]{0}[Column1]
Foutafhandeling
Voorkom dat je query faalt bij API-problemen:
let
Bron = try Web.Contents("https://api.example.com/data") otherwise null,
Resultaat = if Bron = null then "API niet beschikbaar" else Json.Document(Bron)
in
Resultaat
Praktijkvoorbeeld: Wisselkoersen importeren
Laten we een werkend voorbeeld doorlopen met een gratis wisselkoersen-API:
Stap 1: Ga naar Gegevens > Van web
Stap 2: Voer in: https://api.exchangerate-api.com/v4/latest/EUR
Stap 3: In Power Query Editor:
1. Klik op rates (Record) om de wisselkoersen te openen
2. Klik Naar tabel converteren
3. Klik op de expand-knop bij de Value-kolom
4. Hernoem kolommen naar “Valuta” en “Koers”
Stap 4: Klik Sluiten en laden
Je hebt nu een actuele wisselkoersentabel die je met één klik kunt vernieuwen!
Veelgemaakte fouten
Fout 1: Privacy-instellingen blokkeren de verbinding
Probleem: Je krijgt de melding “Formula.Firewall: Query verwijst naar andere query’s of stappen” of de query wordt geblokkeerd door privacy-instellingen.
Oplossing:
1. Ga naar Bestand > Opties > Opties voor query’s
2. Onder Privacy selecteer Privacyniveaus negeren
3. Of stel het privacyniveau van je databron in op “Openbaar”
Fout 2: JSON-structuur wordt niet herkend
Probleem: Power Query toont “Record” of “List” in plaats van leesbare data, en je weet niet hoe je verder moet navigeren.
Oplossing:
1. Klik op het woord “Record” of “List” om de structuur te verkennen
2. Gebruik Naar tabel (rechtermuisklik > “Naar tabel”) om lists te converteren
3. Klik op de expand-knop (twee pijltjes) bij kolommen met geneste data
Fout 3: API-sleutel niet correct doorgegeven
Probleem: Je krijgt een 401 Unauthorized of 403 Forbidden foutmelding ondanks een geldige API-sleutel.
Oplossing:
– Check de API-documentatie voor het exacte formaat (header vs. URL-parameter)
– Gebruik Geavanceerde Editor om headers correct in te stellen:
Web.Contents(url, [Headers = [#"X-API-Key" = "jouw-sleutel"]])
Fout 4: Rate limiting – te veel requests
Probleem: Na enkele vernieuwingen werkt de API niet meer (status code 429).
Oplossing:
– Beperk het aantal vernieuwingen per uur/dag
– Gebruik Alleen verbinding maken en vernieuw alleen wanneer nodig
– Overweeg een betaalde API-tier met hogere limieten
– Bewaar data lokaal en vernieuw alleen de delta
Fout 5: Gegevenstypen worden verkeerd geïnterpreteerd
Probleem: Datums worden als tekst gezien, getallen hebben verkeerde decimalen, of foutmeldingen zoals #WAARDE! verschijnen.
Oplossing:
1. Stel gegevenstypen handmatig in Power Query in (klik op type-icoon)
2. Gebruik Value.FromText() functie voor conversies
3. Pas locale-instellingen aan: Bestand > Opties > Huidige werkmap > Gegevens laden > Landinstellingen
FAQ
Welke API’s kan ik verbinden met Power Query?
Power Query ondersteunt elke REST API die JSON of XML retourneert. Dit omvat openbare API’s (weer, valuta, nieuws), bedrijfs-API’s (Salesforce, HubSpot), en eigen interne API’s. Zolang je de juiste URL en authenticatie hebt, kun je verbinden.
Heb ik programmeerkennis nodig voor Power Query API’s?
Voor basis API-verbindingen niet. De visuele interface van Power Query laat je door JSON navigeren en transformeren zonder code. Voor geavanceerde scenario’s (paginering, dynamische headers) is basiskennis van de M-taal (Power Query Formula Language) handig.
Hoe beveilig ik mijn API-sleutel in Excel?
Sla API-sleutels nooit zichtbaar op in je werkmap. Gebruik in plaats daarvan:
– Windows Credential Manager (via Web.Contents met Web.CredentialType.Key)
– Environment variables op je systeem
– Een apart beveiligd Excel-bestand met beperkte toegang
Kan ik data naar een API versturen (POST requests)?
Ja, maar met beperkingen. Power Query is primair ontworpen voor data ophalen (GET). Voor POST requests gebruik je:
Web.Contents(url, [Content = Text.ToBinary(jsonBody), Headers = [#"Content-Type" = "application/json"]])
Voor complexe POST-scenario’s is VBA of Power Automate vaak geschikter.
Wat is het verschil tussen Power Query en Power BI voor API’s?
Beide gebruiken dezelfde M-taal en Power Query-engine. Het verschil:
– Excel Power Query: Data direct in je spreadsheet, ideaal voor kleinere datasets en ad-hoc analyse
– Power BI: Ontworpen voor grote datasets, geavanceerde visualisaties en dashboards met geavanceerde mogelijkheden
Hoe vaak kan ik API-data automatisch vernieuwen?
In Excel Desktop kun je vernieuwing instellen op vaste intervallen (bijvoorbeeld elke 60 minuten) via query-eigenschappen. Let op API-limieten – de meeste gratis API’s beperken het aantal requests per dag. Plan vernieuwingen slim om binnen limieten te blijven.
Waarom krijg ik een leeg resultaat ondanks werkende API?
Controleer deze punten:
1. De API retourneert mogelijk een lege array [] bij geen resultaten
2. Je filtert mogelijk te streng in Power Query
3. De API-structuur is veranderd – controleer de documentatie
4. Bekijk het “Toegepaste stappen” paneel om te zien waar data verdwijnt
Werkt Power Query API ook in Excel Online?
Beperkt. Excel Online ondersteunt Power Query voor sommige databronnen, maar directe API-verbindingen werken vaak niet vanwege beveiligingsbeperkingen. Voor cloud-gebaseerde API-integratie is Excel Online vs Desktop een belangrijke overweging, of kijk naar Power Automate als alternatief.
Gerelateerde onderwerpen
- Power Query in Excel – Basishandleiding voor Power Query
- Power Query tabellen samenvoegen – Merge en append van query’s
- Externe gegevens importeren in Excel – Alle importmethodes
- Excel tabellen maken – Gestructureerde data in Excel
Hulp nodig bij Excel?
Kom je er niet uit met Power Query API-verbindingen of andere Excel-uitdagingen? Ik help je graag verder.
Neem contact op:
– WhatsApp: Stuur een bericht
– E-mail: w.bouwmeester@bouwmeesterconsultancy.nl
– Telefoon: +31 6 28963636
Of bekijk mijn Excel hulp diensten voor professionele ondersteuning.
Bekijk ook: Excel hulp | VBA expert | Offerte op maat | Maatwerk spreadsheet





