Je hebt een onderzoeksvraag en vermoedt dat er al datasets bestaan die je kunnen helpen. Maar hoe vind je die data snel, zonder door honderden pagina’s te scrollen?
▶Inhoudsopgave
- Wat is DANS en waarom is de API zo handig?
- Aan de slag: installatie en eerste verbinding
- Eerste zoekopdracht: datasets vinden met een trefwoord
- Filteren op specifieke velden: precisie boven kans
- Resultaten opslaan en verwerken in Python
- Tips voor efficiënt gebruik
- Conclusie: minder zoeken, meer onderzoeken
- Veelgestelde vragen
Gelukkig biedt DANS (Data Archiving and Networked Services) een krachtige API waarmee je programmatisch kunt zoeken in hun uitgebreide collectie wetenschappelijke datasets — en dat alles gewoon vanuit Python. In dit artikel leg ik je stap voor stap uit hoe je hiermee aan de slag gaat. Geen jargon, geen onnodigeсложenheid — gewoon helder en bruikbaar.
Wat is DANS en waarom is de API zo handig?
DANS is de Nederlandse organisatie die ervoor zorgt dat onderzoeksdata veilig wordt bewaard, vindbaar blijft en hergebruikt kan worden. Ze hosten duizenden datasets uit vrijwel elk wetenschapsgebied — van archeologie tot taalwetenschap. De website van DANS is al handig, maar als je veel datasets wilt doorzoeken of automatisch wilt filteren op specifieke criteria (zoals publicatiejaar, type data of onderzoeksdomein), dan is de API jouw beste vriend. Met een paar regels Python-code kun je honderds datasets tegelijk doorvragen — ideaal voor systematisch literatuuronderzoek of meta-analyses.
Aan de slag: installatie en eerste verbinding
Allereerst heb je de requests-bibliotheek nodig. Die installeer je met één commando:
pip install requests
De DANS API is gratis te gebruiken en vereist geen API-sleutel voor basiszoekopdrachten.
Je kunt direct beginnen met het stellen van vragen via HTTPS-verzoeken. De basis-URL voor de zoek-API is:
https://dans.knaw.nl/api/search
Eerste zoekopdracht: datasets vinden met een trefwoord
Laten we beginnen met een simpel voorbeeld: zoek alle datasets die gaan over "klimaatverandering". Hieronder zie je de complete code:
import requests
url = "https://dans.knaw.nl/api/search"
params = {
"q": "klimaatverandering",
"rows": 10,
"start": 0
}
response = requests.get(url, params=params)
data = response.json()
for item in data["response"]["docs"]:
print(item.get("title", "Geen titel"))
print(item.get("identifier", "Geen ID"))
print("---")
Wat gebeurt hier? Je stuurt een GET-verzoek naar de DANS-server met je zoekterm, vergelijkbaar met hoe je het Nederlandse portaal voor onderzoeksinformatie doorzoekt.
De parameter rows bepaalt hoeveel resultaten je per keer krijgt (maximaal 100), en start is handig voor paginering — bijvoorbeeld als je de volgende 10 resultaten wilt zien, zet je start op 10.
Filteren op specifieke velden: precisie boven kans
Je kunt je zoekopdracht veel scherper maken door te filteren op specifieke metadata-velden. DANS ondersteunt Solr-syntax, wat betekent dat je kunt zoeken op velden als author, year, subject, of type. Bijvoorbeeld: alle datasets uit 2020 over "onderwijs": Of alleen datasets van een bepaalde auteur: Door deze filters slim te combineren, kun je snel en gericht de juiste data vinden — of de juiste repository voor jouw discipline kiezen — zonder handmatig te hoeven klikken.
params = {
"q": "onderwijs AND year:2020",
"rows": 20
}
params = {
"q": "author:\"Jansen, M.\"",
"rows": 10
}
Resultaten opslaan en verwerken in Python
Uiteraard wil je de gevonden datasets niet alleen printen, maar ook verwerken. Je kunt de JSON-resultaten eenvoudig omzetten naar een Pandas DataFrame voor verdere analyse: Zo heb je binnen seconden een overzicht van relevante datasets, klaar voor download of verdere selectie.
import pandas as pd
df = pd.DataFrame(data["response"]["docs"])
print(df[["title", "year", "identifier"]].head())
Tips voor efficiënt gebruik
Let op je frequentie: DANS vraagt om verantwoord gebruik. Stuur niet honderden verzoeken per seconde — een paar per minuut is prima.
Gebruik ook de rows-parameter slim: als je 100 resultaten wilt, vraag dan 100 per keer op in plaats van tien keer tien.
En check altijd de licentie van een dataset voordat je deze hergebruikt. DANS geeft hier duidelijke informatie bij — soms is toestemming nodig, soms niet.
Conclusie: minder zoeken, meer onderzoeken
Met de DANS API bespaar je uren handmatig zoeken, maar wil je liever handmatig je bestanden beheren? Volg dan onze gids voor het uploaden van je dataset. Je schrijft een paar regels code, en de data komt naar jou toe.
Of je nu een student bent die aan je scriptie begint of een ervonderzoeker die op zoek is naar vergelijkbare studies — deze aanpak maakt je werk sneller, transparanterer en beter reproduceerbaar.
Dus: open je terminal, installeer requests, en begin vandaag nog met zoeken. De data wacht al op jou.
Veelgestelde vragen
Kan Python gebruikt worden voor data-analyse?
Ja, Python is een uitstekende keuze voor data-analyse. Met behulp van krachtige bibliotheken zoals Pandas en NumPy kun je datasets efficiënt opschonen, transformeren en analyseren.
Wat is een API in Python?
Het is een populaire keuze onder data-analisten, en het leren van Python kan je carrièrekansen aanzienlijk vergroten.
Hoe kan ik data ophalen via de API?
Een API (Application Programming Interface) is een manier voor verschillende softwareprogramma's om met elkaar te communiceren. In Python kun je een API gebruiken om data op te halen van externe bronnen, zoals de DANS API, en deze te verwerken in je eigen code. Het is een gestructureerde en efficiënte manier om informatie uit andere systemen te halen.
Hoe maak ik een API-koppeling?
Om data via de API op te halen, gebruik je een programmeertaal zoals Python en een bibliotheek zoals ‘requests’. Je stuurt een verzoek naar de API-server met je zoekcriteria, en de server stuurt de resultaten terug in een gestructureerd formaat, zoals JSON. Zorg ervoor dat je de juiste URL en parameters gebruikt om de gewenste data te verkrijgen. Om een API-koppeling te maken, gebruik je de ‘requests’ bibliotheek in Python.
Je definieert de URL van de API, stelt de parameters in (zoals zoektermen en filters), en stuurt een HTTP-verzoek (meestal een GET-verzoek) naar de server.
Is 2 uur per dag genoeg om Python te leren?
De server stuurt vervolgens de data terug, die je in je Python-code kunt verwerken. Twee uur per dag is een goede basis om Python te leren.
Het is belangrijk om regelmatig te oefenen, kleine projecten te maken en tutorials te volgen. Als je de tijd neemt om te experimenteren en problemen op te lossen, zul je snel vooruitgang boeken in je Python-vaardigheden.