
National Archives of the Netherlands, finding aids and scans
The National Archives publish their finding aids as open data (CC0) via OAI-PMH, in EAD XML. On 16 October 2026 there were 7,411 finding aids (7,442 sets), each with the description of the archive and its inventory numbers. Where scans exist, each inventory number has a METS file linking to the images (public domain or CC0). Finding aids made by third parties (2.8 percent) are not open data.

National Archives finding aids by year of last change: 2024 is the largest part, 58% in October 2026
Breakdown in October 2026: 2024 58%, 2025 31%, 2026 11%. Total: 7,411 finding aids.
What you can build with it1
What can you do with it?4 ideas
What is in an archive?
Fetch one finding aid with GetRecord and the access number, for example 2.21.205.69 (W.D. Walkate collection, 1945-1985). You get the description, the period and all inventory numbers.
Scans from the colonial archives
The finding aid of the Batavia aldermen's court (1.04.18.03) links 68 inventory numbers to METS files with scans. Use them to build a gallery of original documents.
What changed this month?
ListIdentifiers with from= returns the finding aids updated since a date: 269 since 1 October 2026. Follow which archives are being extended or revised.
A map of the national archives
Harvest all finding aids (7,411 records, 50 per page) and count by main group of the access number and by period. That is heavy work; do it once and keep the result.
How to process it4 steps
Fetch one finding aid
The access number is the identifier. Note: the address contains an exclamation mark; put it in single quotes in the shell.
https://service.archief.nl/gaf/oai/!open_oai.OAIHandler?verb=GetRecord&metadataPrefix=oai_ead&identifier=2.21.205.69
What is new?
ListIdentifiers with from and until returns identifiers and datestamps, 50 per page. The total is in completeListSize of the resumptionToken.
https://service.archief.nl/gaf/oai/!open_oai.OAIHandler?verb=ListIdentifiers&metadataPrefix=oai_ead&from=2026-10-01T00:00:00Z
From inventory number to scan
In the EAD an inventory number with scans links to a METS file (service.archief.nl/gaf/api/mets/v1/…). It lists the addresses of the individual images as JPEG.
https://service.archief.nl/gaf/api/mets/v1/48f1f22f-1228-4b00-9720-5816a07b4003
Which finding aids are not open?
The National Archives keep a list of finding aids whose copyright lies with third parties, also as CSV. Check it before you reuse a finding aid.
https://www.nationaalarchief.nl/onderzoeken/open-data/archiefinventarissen-digitale-objecten-en-scans-van-archieven
Interesting combinations


What was printed while this archive was created?
Put an archive's period next to the STCN titles from the same years, for example pamphlets from 1672 next to the States General records.

Who appears in this archive?
Open Archives makes people from many archives searchable by name. Use it to find someone, then look up the archive in the finding aids.
Similar sources
- Open Archives (Open Archieven)
People from records and registers of hundreds of archives, searchable by name; the National Archives describe whole archives.
- AArchieven.nl not in the index yet
Search portal across finding aids of many regional and municipal archive services, for searches beyond central government.
- NDNDE Datasetregister not in the index yet
Catalogue of heritage datasets, managed by the National Archives within the Dutch Digital Heritage Network.
What to watch out for
- Description only, not the content
The finding aids describe what the archives contain. You only see the documents themselves where scans exist. The METS file of the Batavia aldermen's court holds only images (JPEG) and JSON-LD, no text layer; the National Archives do handwriting recognition separately in their Datalab.
- No history of changes
earliestDatestamp is 26 February 2024 and each finding aid only has the date of its last change. How often it was updated before is not visible.
- Many separate files
The Walkate collection finding aid is 24 kB, the Batavia aldermen's court 68 kB; each METS file with scans comes on top (116 kB for the aldermen's court example). Harvest at a gentle pace, 50 identifiers per page.
- Not everything is open
2.8 percent of the finding aids are not open data because third parties made them. Archives with personal data may also be (partly) closed; the finding aid says so.
APIOAI-PMH 2.0 (EAD), METS, IIIF · read 16 Oct 2026
No key or account needed tested
finding aids (EAD records) in OAI-PMH, plus 1,199,153 records in oai_dc (16 Oct 2026) tested
xmlEAD 2002RDF/XML (EDM)METSJPEGIIIF info.json
Base URL
https://service.archief.nl/gaf/oai/!open_oai.OAIHandler
Endpoints 8
- GET
?verb=IdentifyAbout the service: earliestDatestamp 2024-02-26, granularity YYYY-MM-DDThh:mm:ssZ, deleted records transient. - GET
?verb=ListMetadataFormatsoai_ead (finding aids) and oai_dc (single objects, mostly photographs, as RDF with EDM classes). - GET
?verb=ListSetsSets: one per access number (7,442) plus EAD_ALL; 50 per page. - GET
?verb=ListIdentifiers&metadataPrefix=oai_ead&from=…&until=…Access numbers and datestamps changed in a period; total in completeListSize. - GET
?verb=GetRecord&metadataPrefix=oai_ead&identifier={toegangsnummer}One complete finding aid in EAD (e.g. 2.21.205.69, 24 kB; 1.04.18.03 Batavia aldermen's court, 68 kB). - GET
?verb=ListRecords&metadataPrefix=oai_dc&set={set}Single objects (photo records) with creator, rights and image addresses; identifier as NL-HaNA_<set>_<uuid>. - GET
https://service.archief.nl/gaf/api/mets/v1/{uuid}METS file of one inventory number with scans: the addresses of the individual images (/api/file/v1/default/{uuid}). - GET
https://service.archief.nl/iip/…/{file-uuid}.jp2/info.jsonIIIF Image API 3.0 for an image (dimensions, tiles); the address is given as nao:webserviceIIIF in the oai_dc record.
Filtering tested
Only the OAI-PMH filters: metadataPrefix, set and a from/until date window. No content search; do that after harvesting.
Parameters 6
verb | Identify, ListMetadataFormats, ListSets, ListIdentifiers, ListRecords, GetRecord (case-sensitive). | platform |
metadataPrefix | oai_ead or oai_dc. | tested |
identifier | oai_ead: the access number (2.21.205.69). oai_dc: NL-HaNA_<set>_<uuid>. An access number with oai_dc returns idDoesNotExist. | tested |
from / until | Modification date, YYYY-MM-DDThh:mm:ssZ. Since 1 Oct 2026: 274 finding aids (oai_ead) and 662,979 records (oai_dc). | tested |
set | Access number (1.04.18.03) or EAD_ALL; for oai_dc a collection code such as 2-20-46ntfoto. | tested |
resumptionToken | Next page; valid for one hour (expirationDate). Empty element = last page. | tested |
Elements in the responses (selection) 10
| Name | Type | Meaning |
|---|---|---|
header/identifier | tekst | Toegangsnummer (oai_ead) of NL-HaNA_<set>_<uuid> (oai_dc) |
header/datestamp | datetime | Laatste wijziging van het record |
header/setSpec | tekst | Toegangsnummer en EAD_ALL |
ead/eadheader/filedesc/titlestmt/titleproper | tekst | Titel van de inventaris |
archdesc/did/unitdate | tekst | Periode van het archief |
c/did/unitid | tekst | Inventarisnummer |
c/did/unittitle | tekst | Beschrijving van het inventarisnummer |
c/dao/@href | url | Link naar het METS-bestand met scans (role=METS) |
nao:Recordaggregatie / dct:creator | uri | oai_dc: maker (fotograaf) met rechtenlabel |
edm:hasView / nao:webserviceIIIF | url | oai_dc: IIIF-adres van het beeld; ook webserviceDefault (JPEG) en thumb |
Limits and pitfalls
- 50 records or identifiers per page; the resumptionToken expires after one hour. tested
- No documented rate limit and no robots.txt on service.archief.nl (404). Harvest at a gentle pace. tested
- With the header Accept: text/xml the service returns HTTP 406, even though the response is XML. Send Accept: */* or omit the header. tested
- The address contains an exclamation mark (!open_oai.OAIHandler): put it in single quotes in the shell. tested
- oai_dc is not what the name suggests: 1.2 million single objects (mostly photographs) as RDF with EDM classes, with images via IIIF. Not the same records as the finding aids. tested
- Errors come as OAI error codes with HTTP 200 (idDoesNotExist, noRecordsMatch). Always check for an <error> element. tested
- Each record only has the date of its last change; earliestDatestamp is 26 February 2024, earlier history is not available. tested
Try it HTTP 200 · 486 ms · 16 Oct
https://service.archief.nl/gaf/oai/!open_oai.OAIHandler?verb=ListIdentifiers&metadataPrefix=oai_ead&from=2026-10-01T00:00:00Z&until=2026-10-02T00:00:00Z
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/"><responseDate>2026-10-16T21:53:02Z</responseDate><request verb="ListIdentifiers" metadataPrefix="oai_ead" from="2026-10-01T00:00:00Z" until="2026-10-02T00:00:00Z">https://service.archief.nl/gaf/oai/!open_oai.OAIHandler</request><ListIdentifiers><header><identifier>4.TOPO</identifier><datestamp>2026-10-01T05:37:11Z</datestamp><setSpec>4.TOPO</setSpec><setSpec>EAD_ALL</setSpec></header><header><identifier>2.14.103</identifier><datestamp>2026-10-01T10:51:03Z</datestamp><setSpec>2.14.103</setSpec><setSpec>EAD_ALL</setSpec></header><header><identifier>2.16.134</identifier><datestamp>2026-10-01T10:57:51Z</datestamp><setSpec>2.16.134</setSpec><setSpec>EAD_ALL</setSpec></header><header><identifier>2.12.51</identifier><datestamp>2026-10-01T11:23:02Z</datestamp><setSpec>2.12.51</setSpec><setSpec>EAD_ALL</setSpec></header><header><identifier>2.27.124</identifier><datestamp>2026-10-01T13:55:04Z</datestamp><setSpec>2.27.124</setSpec><setSpec>EAD_ALL</setSpec></header><resumptionToken/></ListIdentifiers></OAI-PMH>
Shortened response, saved at harvest time. Click the URL for the real, current response.
Read from National Archives: open data, finding aids, digital objects and scans · OAI-PMH Identify: name, granularity, earliestDatestamp · The two formats: oai_ead and oai_dc · OAI-PMH 2.0 specification. Labels: from the description stated in what the api itself publishes. tested from our own small call. platform applies to every api on this platform, per its documentation. experience learned while building open data index.
How to fetch it
curl 'https://service.archief.nl/gaf/oai/!open_oai.OAIHandler?verb=GetRecord&metadataPrefix=oai_ead&identifier=2.21.205.69'
More from Nationaal Archief in our index
101 datasets in Open Archieven, NDE Datasetregister, data.overheid.nl. These changed most recently.
- Verkaufsbücher2026-10-27
- Glasplatenarchief van Van Houten en Zoon te Weesp, c. 1910-19302026-08-27
- 2.24.01.05NTFOTO - ANEFO negatiefstroken [met vrije trefwoorden]2026-08-27
- Fotocollectie Elsevier Binnenland: Positieven, 1897-19702026-08-27
- Heidemij negatieven2026-08-27
- ANEFO negatieven z/w2026-08-27
More in this topic
See how this page is built
bron: nationaal-archief
blokken: []
secties:
- ideeen
- verwerken
- koppelingen
- vergelijkbaar
- beperkingen
- code
cache:
tag: bron:nationaal-archief
ververs: na statuscheck, als de bron nieuwer is
statuscheck:
methode: "OAI-PMH ListIdentifiers met een korte from-periode: nieuwste datestamp
en het aantal inventarissen"
verwacht: dagelijks
Source: content/bronnen/nationaal-archief.yaml · Markdown



