Open Archieven
Open Archieven van Coret Genealogie bundelt de genealogische gegevens van 200 archieven en verenigingen, vooral Nederlandse, ook Belgische en Franse. Op 16 oktober 2026 telde de statistiek-API 368.475.032 records over 199 soorten bronnen: overlijdens-, geboorte- en huwelijksakten van de burgerlijke stand, bevolkingsregisters, doop-, trouw- en begraafregisters, notariële akten en meer. Een REST-API zonder sleutel, SPARQL, OAI-PMH en bestandsexports onder CC BY 4.0.

Wat er allemaal in zit1.360
Alle archieven die bij Open Archieven zijn aangesloten, per land, met per brontype (doopregisters, bevolkingsregister, bidprentjes …) het aantal records, elke nacht opgehaald. Het land volgt uit de ISIL-code of, zonder ISIL, uit het domein van de website.
Nederland1.209
België117
Suriname9
Duitsland2
Frankrijk2
Indonesië2
Verenigde Staten1
Land niet vastgesteld18
Records in Open Archieven per Nederlands archief: het meest Brabants Historisch Informatie Centrum (25.449.700 records), dan Stadsarchief Amsterdam en Stadsarchief Rotterdam
Records in Open Archieven per Nederlands archief, oktober 2026, in records. Totaal: 286.471.667; de grootste 12 van 154 categorieën staan in de grafiek. Brabants Historisch Informatie Centrum is 9% van het totaal. Alleen Nederlandse archieven en verenigingen (ISIL-code NL- of een website in het nl-domein); alle 200 deelnemers samen hebben 368.619.131 records.
Wat je ermee kunt bouwen1
Wat kun je ermee?4 ideeën
Waar komt een achternaam vandaan?
Zoek een naam en kijk per plaats: Huizinga geeft 60.905 vermeldingen, waarvan 5.891 met als plaats Groningen. Zet de plaatsen op een kaart.
Welke archieven zijn het rijkst?
Het Brabants Historisch Informatie Centrum (25,4 miljoen records), Stadsarchief Amsterdam (24,6 miljoen) en Stadsarchief Rotterdam (23,0 miljoen) leveren het meest. Vergelijk per provincie hoeveel er online staat.
Historische demografie
Tel overlijdensakten per jaar en plaats via SPARQL (PiCo-model) en zoek pieken, zoals epidemieën of oorlogsjaren. Vergelijk met het weer van die dag via related/weather.
Beroepen door de tijd
stats/professions geeft de meest genoemde beroepen voor een plaats en periode (1500 tot 1960). Vergelijk perioden om te zien welke beroepen verdwijnen en welke opkomen.
Zo verwerk je het5 stappen
Zoeken op naam
records/search.json met name=, eventplace=, sourcetype= en archive_code=; number_show tot 100 per pagina en start voor de volgende pagina (hoger dan 10.000 geeft HTTP 400). Het totaal staat in response.number_found.
https://api.openarchieven.nl/1.1/records/search.json?name=Huizinga&eventplace=Groningen&number_show=10&lang=nl
Tellen zonder zoeken
De statistiek-endpoints geven in één aanroep de aantallen per archief (stats/records), per brontype (stats/sources) en de lijst van archieven met ISIL-code en website (stats/archives).
https://api.openarchieven.nl/1.1/stats/sources.json?lang=nl
Grote vragen met SPARQL
Drie SPARQL-ingangen (QLever): oa-a2a (records), oa-pico (personen volgens het PiCo-model, 369.474.740 PersonObservations) en oa-pico-recon (gereconstrueerde personen).
https://sparql.openarchieven.nl/oa-pico
Alles in één keer
Per archief en brontype een gecomprimeerd CSV-, XML- of N-Triples-bestand onder CC BY 4.0. De laatste exports zijn van 23 en 24 augustus 2026.
https://www.openarchieven.nl/exports/csv/
Volledige API-beschrijving
De API heeft een OpenAPI 3.1-beschrijving als YAML (openapi.json bestaat niet). Er is ook een MCP-server op mcp.openarchieven.nl.
https://api.openarchieven.nl/openapi.yaml
Interessante koppelingen

Klopt het beeld uit de akten met de officiële cijfers?
Tel overlijdensakten per gemeente en jaar en leg ze naast de sterftecijfers van het CBS. Verschillen laten zien welke archieven (nog) niet volledig online zijn.

Waar vind ik meer over deze persoon?
Vind iemand in Open Archieven en zoek daarna in de inventarissen van het Nationaal Archief, bijvoorbeeld in militaire of koloniale archieven.
Vergelijkbare bronnen
Nationaal Archief, archiefinventarissen en scansBeschrijft hele archieven van de rijksoverheid (inventarissen en scans), niet de personen erin.
- WWieWasWie nog niet uitgelegd
Ook een zoekdienst voor persoonsgegevens uit Nederlandse archieven, deels uit dezelfde bronnen. Vergelijk de dekking voor jouw plaats.
CBS StatLineOfficiële bevolkingscijfers (geboorte, sterfte, huwelijken) vanaf ongeveer 1900, maar geen namen.
Waar je op moet letten
- Niet alleen Nederland
Van de 368,5 miljoen records komen er 286,5 miljoen van Nederlandse archieven (ISIL-code NL- of website in het nl-domein). De grootste deelnemer is INSEE (Frankrijk, 27,0 miljoen), ook Reclaim The Records (VS) en Belgische rijksarchieven doen mee.
- Afgeschermde namen
Sommige vermeldingen tonen een voornaam als ####, bijvoorbeeld in een patiëntenregister. Reken er niet op dat elke naam volledig is.
- Records zijn geen personen
Eén persoon komt in veel akten voor (geboorte, huwelijk, overlijden, bevolkingsregister). Tellingen van records zeggen dus niets over het aantal mensen; gebruik daarvoor oa-pico-recon, en ook dat is een reconstructie.
- Ongelijke dekking
Wat erin staat hangt af van wat elk archief heeft ingevoerd en aangeleverd. Een plaats met weinig records kan gewoon een archief zijn dat (nog) niet meedoet.
- Statistiek soms leeg
stats/events.json gaf op 16 oktober 2026 een lege lijst. Later die dag (rond 10:00) gaven ook stats/sources.json en stats/breakdown.json niets terug; stats/records.json per archief werkte wel en kwam samen op 367.231.659 records in 209 archieven.
APIREST (JSON), SPARQL 1.1, OAI-PMH 2.0 · gelezen 16 okt 2026
Geen sleutel. De API vraagt om een beschrijvende User-Agent en beperkt per IP-adres tot 4 verzoeken per seconde. uit de beschrijving
records in 200 archieven volgens stats/records.json (16 okt 2026) getest
jsonjsonpxmlgedcomturtlen-triplescsv
Basisadres
https://api.openarchieven.nl/1.1
Endpoints 14
- GET
/records/search.jsonZoeken op naam (ook twee namen met & en een jaar of periode); filters op archief, brontype, plaats, geboorteplaats, rol en land. Totaal in response.number_found. - GET
/records/show.jsonEén record volgens het A2A-model (archive + identifier). Ook als .xml, .gedcom, .ttl en .nt door de extensie te veranderen. - GET
/records/match.jsonEen persoon (naam + geboortejaar) koppelen aan geboorte- en overlijdensakten. - GET
/records/getBirths.json, /getDeaths.json, /getMarriages.jsonGeboorte-, overlijdens- en huwelijksakten op naam, jaar en plaats. - GET
/stats/archives.jsonAlle archieven met archive_code, ISIL-code, naam en website. - GET
/stats/records.jsonAantal records per archief en per brontype binnen dat archief (archive_code= voor één archief). - GET
/stats/sources.json, /stats/events.json, /stats/comments.jsonAantallen per brontype, per gebeurtenis en opmerkingen. Gaven op 16 okt 2026 een lege lijst. - GET
/stats/breakdown.jsonKruistabel: tellen per archief, brontype, gebeurtenis, plaats of jaar (1500 tot 1960) met filters. Gaf op 16 okt 2026 HTTP 503 (error_code 52). - GET
/stats/familynames.json, /stats/firstnames.json, /stats/professions.jsonMeest voorkomende achternamen, voornamen en beroepen voor een plaats en periode. - GET
/related/weather.jsonHistorisch KNMI-weer op een datum en plek (waarden in tienden, met uitleg per veld). - GET
/related/census.jsonNederlandse volkstellingsgegevens voor een plaats en jaar. - GET
/transcriptions/search.json, /browse.json, /show.jsonVolledige tekst van getranscribeerde pagina's doorzoeken, bladeren per archief en inventaris, één transcriptie ophalen. - GET
https://sparql.openarchieven.nl/{oa-a2a|oa-pico|oa-pico-recon}Drie SPARQL-endpoints (QLever): records (A2A), persoonsvermeldingen volgens PiCo, en gereconstrueerde personen. - GET
https://api.openarchieven.nl/oai-pmh/?verb=…OAI-PMH 2.0, formaat oai_a2a, 115 sets (één per archief), datums als YYYY-MM-DD.
Filteren uit de beschrijving
Losse queryparameters per endpoint (name, archive_code, sourcetype, eventplace …). Voor vragen over verbanden en tellingen over alles: SPARQL op sparql.openarchieven.nl.
Parameters 13
name | Zoekvraag: naam, ook twee namen met & en een jaar of periode. | uit de beschrijving |
archive_code | Archiefcode uit stats/archives (saa, gra, bhi …). Bij breakdown met ! ervoor = uitsluiten. | uit de beschrijving |
sourcetype | Brontype (bv. 'BS Overlijden', 'DTB Dopen'). | uit de beschrijving |
eventplace / birthplace | Plaats van de gebeurtenis of geboorteplaats. | uit de beschrijving |
relationtype | Rol in de akte (Bride, Groom, Registered …). | uit de beschrijving |
country_code | Land: nl, be, fr, sr … | uit de beschrijving |
number_show | Resultaten per pagina, max 100 (breakdown: max 500 groepen). | uit de beschrijving |
start | Offset, max 10.000; daarboven HTTP 400 met error_code 50. | getest |
sort | 1=naam, 2=rol, 3=gebeurtenis, 4=datum, 5=plaats, 6=bron; negatief = aflopend. | uit de beschrijving |
group_by | Alleen breakdown: archive, sourcetype, eventtype, place of year. | uit de beschrijving |
year_start / year_end | Alleen breakdown en statistiek: 1500 tot 1960. | uit de beschrijving |
lang | nl of en: taal van archiefnamen en labels. | uit de beschrijving |
callback | JSONP-functienaam. | uit de beschrijving |
Velden in de antwoorden (selectie) 11
| Naam | Type | Betekenis |
|---|---|---|
response.number_found | getal | Totaal aantal treffers |
response.docs[].personname | tekst | Naam zoals in de akte |
response.docs[].identifier | uuid | Record-id, samen met archive_code nodig voor show.json |
response.docs[].archive_code / archive | tekst | Archiefcode en naam |
response.docs[].eventtype / relationtype | tekst | Soort gebeurtenis en rol (labels in lang=) |
response.docs[].eventdate | object | Datum als {day, month, year} |
response.docs[].eventplace | lijst | Plaats(en) van de gebeurtenis |
response.docs[].sourcetype | tekst | Brontype |
response.docs[].url | url | Recordpagina op openarchieven.nl |
Source.SourceReference (show.json) | object | Archief, toegang, inventarisnummer en folio van de akte |
pico:PersonObservation (SPARQL) | klasse | Persoon zoals genoemd in één bron, met schema:name, givenName, familyName, birthPlace, deathPlace, hasOccupation, pico:hasRole, prov:hadPrimarySource |
Limieten en valkuilen
- 4 verzoeken per seconde per IP-adres (OpenAPI-beschrijving); meer kan in overleg. uit de beschrijving
- Zoeken: max 100 per pagina en offset tot 10.000 (daarboven HTTP 400, error_code 50). Voor alles: OAI-PMH of de bestandsexports. getest
- SPARQL: zware vragen (GROUP BY over alle triples van oa-a2a of oa-pico) gaven na 30 seconden HTTP 502 (proxy). Een LIMIT-vraag of een vraag op één onderwerp antwoordt binnen een seconde. getest
- stats/sources.json gaf op 16 okt 2026 na 10 seconden een lege lijst, stats/breakdown.json HTTP 503 met error_code 52 ('Service temporarily unavailable'). stats/records.json werkte en telt per archief én per brontype. getest
- Fouten komen als JSON met error_code en error_description; de HTTP-status klopt (400, 503). getest
- API-versie 1.1 gebruikt archive_code; oudere voorbeelden met archive= werken niet voor search.json. uit de beschrijving
- Records zijn geen personen: één persoon staat in veel akten. Gereconstrueerde personen staan in oa-pico-recon (schema:spouse, parent, children, sibling). getest
- Er is ook een MCP-server (mcp.openarchieven.nl) en OpenSearch-beschrijvingen per taal. uit de beschrijving
Probeer het HTTP 200 · 397 ms · 16 okt
https://api.openarchieven.nl/1.1/records/search.json?name=Huizinga&eventplace=Groningen&number_show=3&lang=nl
{
"query": {
"eventplace": "Groningen",
"name": "Huizinga",
"only_results_with_scans": false,
"start": 0,
"number_show": 3,
"sort": 1,
"language": "nl"
},
"response": {
"number_found": 5891,
"docs": [
{
"pid": "Person1",
"identifier": "182dc2c2-3c73-4103-a6bf-1eedb05dc8b1",
"archive_code": "gra",
"archive_org": "AlleGroningers",
"archive": "AlleGroningers",
"personname": "A. Huizinga",
"relationtype": "Geregistreerde",
"_relationtype": "Geregistreerde",
"eventtype": "Registratie",
"_eventtype": "Registratie",
"eventplace": [
"Groningen"
],
"sourcetype": "Inschrijving gevangene",
"url": "https://www.openarchieven.nl/gra:182dc2c2-3c73-4103-a6bf-1eedb05dc8b1"
},
{
"pid": "Person1",
"identifier": "AA10953C-AAB1-41D9-9365-C608085BD972",
"archive_code": "gra",
"archive_org": "AlleGroningers",
"archive": "AlleGroningers",
"personname": "A. Huizinga",
"relationtype": "Geregistreerde",
"_relationtype": "Geregistreerde",
"eventtype": "Registratie",Ingekort antwoord, opgeslagen bij het oogsten. Klik op het adres voor het echte, actuele antwoord.
Gelezen uit OpenAPI 3.1-beschrijving (alleen YAML; openapi.json bestaat niet), 21 GET-endpoints · Ontwikkelaarspagina: REST-API, OpenSearch, exports, SPARQL, MCP · OAI-PMH-dataprovider (A2A-model). Labels: uit de beschrijving staat in wat de api zelf publiceert. getest uit onze eigen kleine aanroep. platform geldt voor elk api van dit platform, volgens de documentatie. ervaring zelf ondervonden bij het bouwen van open data index.
Zo haal je het op
curl -A "mijnproject/1.0 (mailto:jij@voorbeeld.nl)" "https://api.openarchieven.nl/1.1/records/search.json?name=Huizinga&number_show=5&lang=nl"
Meer van Open Archieven in onze index
306 datasets in NDE Datasetregister. Dit zijn de laatst gewijzigde.
- Open Archieven Persoonsreconstructies2026-10-10
- Dataset genealogische metadata Erfgoed Leiden en omstreken via Open Archieven2026-09-29
- Dataset genealogische metadata Noord-Veluws Archief via Open Archieven2026-08-24
- Dataset genealogische metadata AlleFriezen via Open Archieven2026-08-24
- Dataset genealogische metadata Stadsarchief Deventer via Open Archieven2026-08-24
- Dataset genealogische metadata Stadsarchief Amsterdam via Open Archieven2026-08-24
Meer in dit thema
Bekijk hoe deze pagina is opgebouwd
bron: open-archieven
blokken: []
secties:
- ideeen
- verwerken
- koppelingen
- vergelijkbaar
- beperkingen
- code
cache:
tag: bron:open-archieven
ververs: na statuscheck, als de bron nieuwer is
statuscheck:
methode: "Exportpagina (CSV): nieuwste aanmaakdatum van de exports; plus het
totaal aantal records uit stats/sources"
verwacht: elk kwartaal
Bron: content/bronnen/open-archieven.yaml · Markdown
