Overheid.nl search service (SRU)
The search service behind overheid.nl: one SRU address for official announcements (Government Gazette, municipal gazettes, parliamentary papers …), local regulations of municipalities, provinces and water boards, the laws in force and the products and services of government bodies. On 16 October 2026 it held 6.7 million official publications, 344,109 local regulations, 148,592 law texts and 54,667 products. You get metadata in XML with a link to the document.

Official publications by gazette: most Gemeenteblad (municipal gazette) (560,560 publications), then Staatscourant (government gazette) and Waterschapsblad (water board gazette)
Official publications by gazette, 2025, in publications. Total: 695,682; the largest 12 of 13 categories are shown. Gemeenteblad (municipal gazette) is 81% of the total. By publication date (dcterms.available). The publications add up exactly to the total.
What you can build with it1
What can you do with it?4 ideas
What did your municipality announce today?
Search by dcterms.creator and publication date. Amsterdam is the creator of 51,402 official publications in 2025; between 14 and 16 October 2026 there were 302.
Municipalities publish the most
In 2025, 695,682 official publications appeared; 560,560 of them (81%) in the municipal gazette. The chart on this page counts them per gazette.
Local rules side by side
The cvdr collection holds all bylaws of municipalities, provinces and water boards. Compare for instance the dog tax or the rules for terraces.
Follow a law
The bwb collection has the laws in force with their versions. Changed since 1 October 2026: 656 regulations.
How to process it4 steps
Ask a query
x-connection picks the collection (oep, cvdr, bwb, sc), query is CQL. With maximumRecords=0 you only get the count.
https://zoekdienst.overheid.nl/sru/Search?version=1.2&operation=searchRetrieve&x-connection=oep&startRecord=1&maximumRecords=0&query=publicationname%3D%3D%22Gemeenteblad%22%20and%20dcterms.available%3E%3D2025-01-01%20and%20dcterms.available%3C%3D2025-12-31
Fetch records
Every record is a gzd block with OWMS metadata: title, identifier, type, organisation, date, and in enrichedData the url of the document. For oep at most 1,000 per request.
https://zoekdienst.overheid.nl/sru/Search?version=1.2&operation=searchRetrieve&x-connection=oep&startRecord=1&maximumRecords=10&query=dcterms.creator%3D%3D%22Amsterdam%22%20and%20dcterms.available%3E%3D2026-10-14
Local regulations of one municipality
In cvdr the municipality name is also in dcterms.creator. Tilburg had 1,105 (16 October 2026), from the building bylaw to the starter loan regulation.
https://zoekdienst.overheid.nl/sru/Search?version=1.2&operation=searchRetrieve&x-connection=cvdr&startRecord=1&maximumRecords=10&query=dcterms.creator%3D%3D%22Tilburg%22
Products and services (Samenwerkende Catalogi)
The sc collection describes what government bodies offer: permits, grants, applications. Tilburg had 89 (16 October 2026).
https://zoekdienst.overheid.nl/sru/Search?version=1.2&operation=searchRetrieve&x-connection=sc&startRecord=1&maximumRecords=1&query=authority%3D%3D%22Tilburg%22
Interesting combinations


From motion to law
Follow a file in the House's data warehouse and use the same file number to find the parliamentary papers and the final publication in the Bulletin of Acts.

What did the council decide, and when was it announced?
Find a council decision in Open Raadsinformatie and the matching bylaw in the municipal gazette or in cvdr.
Similar sources
open.overheid.nl (FOI documents)Documents released under the Open Government Act (decisions, notes, mails), not the official announcements.
- Open Council Information
Council papers and meetings of municipal councils; decisions are made there and announced in the municipal gazette.
Dutch House of Representatives open dataEverything around the House of Representatives, with votes and people. Parliamentary papers are in both; the SRU service gives them as official publications.
What to watch out for
- SRU 1.2 is being phased out
According to the KOOP manual (June 2025), KOOP is moving to SRU 2.0. The SRU 2.0 addresses (repository.overheid.nl/sru, zoekservice.overheid.nl/sru) have a robots.txt that excludes everything; we only use the 1.2 address, which has no robots.txt.
- Metadata only
The search service returns descriptions with a link. The documents themselves (XML, PDF) live on repository.overheid.nl, whose robots.txt excludes everything.
- Field names are quirky
Search on publicationname, not w.publicatienaam (that gives "Invalid search field"), and on dcterms.modified, not dt.modified. Errors come as diagnostics XML with HTTP 200.
- At most 1,000 per request
For oep, maximumRecords above 1,000 returns "maximumRecords is 1000". Paginate with startRecord.
- Not every collection works
oep, cvdr, bwb and sc responded; op and vb returned "Cannot determine …" and tr an empty response (16 October 2026).
APISRU 1.2 (XML, CQL) · read 16 Oct 2026
No key or account. tested
official publications in collection oep (dcterms.modified >= 1900-01-01, 16 Oct 2026); cvdr 344,112 regulation versions, bwb 148,602, sc 54,671 tested
xml
Base URL
https://zoekdienst.overheid.nl/sru/Search
Endpoints 5
- GET
?operation=searchRetrieve&x-connection=oepOfficial publications: Government Gazette, Bulletin of Acts, municipal, provincial and water board gazettes, parliamentary papers, proceedings, questions, Treaty Series. - GET
?operation=searchRetrieve&x-connection=cvdrLocal and regional regulations (CVDR): bylaws of municipalities, provinces and water boards, each version a record. - GET
?operation=searchRetrieve&x-connection=bwbNational legislation database (BWB): laws and regulations with validity period and links to the XML version. - GET
?operation=searchRetrieve&x-connection=scSamenwerkende Catalogi: products and services of government bodies (permits, applications, grants). - GET
?operation=explain&x-connection=oepDescription of the service: all searchable indexes.
Filtering tested
CQL (Contextual Query Language): index operator value, combined with and/or/not; sort with sortby index/ascending|descending. Index names may omit the prefix (publicationname = overheidop.publicationname). Dates as YYYY-MM-DD.
Parameters 7
version | Always 1.2. | tested |
operation | searchRetrieve (search) or explain (description). | from the description |
x-connection | The collection: oep, cvdr, bwb or sc. op and vb returned "Cannot determine …", tr an empty response. | tested |
query | The query in CQL, e.g. publicationname=="Gemeenteblad" and dcterms.available>=2025-01-01. Sort inside the query itself: … sortby dcterms.available/descending. | tested |
startRecord | First record (starts at 1). The response gives nextRecordPosition. | tested |
maximumRecords | Number of records; 0 = only numberOfRecords. For oep at most 1,000. | tested |
sortKeys | SRU 1.2 parameter, but sortKeys=dcterms.available,,0 did not sort. Use sortby in the query. | tested |
Fields in a gzd record (selection) 14
| Name | Type | Meaning |
|---|---|---|
dcterms:identifier | string | Publicatienummer (gmb-2026-480758, CVDR102368_1, BWBR0001888) |
dcterms:title | string | Titel |
dcterms:type | string | Soort (andere vergunning, regeling, wet, productbeschrijving …) |
dcterms:creator | string | Maker als naam (Amsterdam, Tilburg, Ministerie van …); bij sc heet het overheid:authority |
dcterms:available | date | Publicatiedatum (oep); sorteerbaar |
dcterms:modified | date | Laatste wijziging van het record |
dcterms:subject | string | Onderwerpen, met | gescheiden |
overheidop:publicationname | string | Het blad (Gemeenteblad, Staatscourant, Kamerstuk …), alleen oep |
overheid:organisationtype | string | gemeente, provincie, waterschap, ministerie … |
overheidop:dossiernummer | string | Kamerstukdossier (koppelt aan de Tweede Kamer) |
overheidrg:inwerkingtredingDatum | date | cvdr: datum inwerkingtreding (en uitwerkingtredingDatum) |
overheidbwb:geldigheidsperiode_startdatum | date | bwb: begin van de geldende versie (en _einddatum) |
Show all 14
| Name | Type | Meaning |
|---|---|---|
enrichedData/url | uri | oep: link naar de publicatie op zoek.officielebekendmakingen.nl |
enrichedData/publicatieurl_xml | uri | cvdr/bwb: de XML van de tekst op repository.officiele-overheidspublicaties.nl |
Limits and pitfalls
- oep: maximumRecords at most 1,000 (above that the message "maximumRecords is 1000"). cvdr returned all 1,461 hits with 5,000. tested
- No documented rate limit. Counts with maximumRecords=0 are fast and small (about 500 bytes). tested
- Errors come as <diagnostics> with HTTP 200: always check there is a <numberOfRecords>. An unknown index gives "Unsupported Parameter", as does cql.allRecords on oep and sc. tested
- Search on publicationname, not w.publicatienaam, and on dcterms.modified, not dt.modified. In sc the creator is called authority (authority=="Tilburg"); dcterms.creator gives an error there. tested
- == and = gave the same result; exact returned 0 hits where adj found 647. Values of dcterms.type are lowercase ("andere vergunning"). tested
- In cvdr every version of a regulation is a record (CVDR102368_1, _2 …): count unique regulations on the part before the underscore. tested
- The cvdr and bwb texts are XML on repository.officiele-overheidspublicaties.nl (no robots.txt, 404). The SRU 2.0 addresses (repository.overheid.nl/sru, zoekservice.overheid.nl/sru) exclude everything in robots.txt. tested
- The explain response itself says that during 2021 only SRU 2.0 would be supported. On 16 October 2026 version 1.2 still worked; expect a migration. tested
Try it HTTP 200 · 436 ms · 16 Oct
https://zoekdienst.overheid.nl/sru/Search?version=1.2&operation=searchRetrieve&x-connection=oep&startRecord=1&maximumRecords=2&query=dcterms.creator%3D%3D"Utrecht" sortby dcterms.available%2Fdescending
<?xml version="1.0" encoding="UTF-8"?><searchRetrieveResponse xmlns="http://www.loc.gov/zing/srw/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:overheid="http://standaarden.overheid.nl/owms/terms/" xmlns:overheidproduct="http://standaarden.overheid.nl/product/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/zing/srw/ srw-types.xsd"><version>1.2</version><numberOfRecords>98572</numberOfRecords><records><record><recordSchema>http://standaarden.overheid.nl/sru/</recordSchema><recordPacking>xml</recordPacking><recordData><gzd xmlns="http://standaarden.overheid.nl/sru" xmlns:overheidop="http://standaarden.overheid.nl/product/terms/" xmlns:overheidtr="http://standaarden.overheid.nl/tr/meta/" xmlns:overheidvb="http://standaarden.overheid.nl/vb/terms" xmlns:overheidvd="http://standaarden.overheid.nl/vd/meta/" xsi:schemaLocation="http://standaarden.overheid.nl/sru gzd.xsd"><originalData><overheidop:meta><overheidop:owmskern><dcterms:title>Ontvangen aanvraag voor een omgevingsvergunning overige wegactiviteit - N201 hm 64.3, N402 hm 9.7 t/m hm 9.9, N403 hm 0.1 t/m hm 0.3 in Vreeland en Loenen aan de Vecht</dcterms:title><dcterms:identifie
Shortened response, saved at harvest time. Click the URL for the real, current response.
Read from explain: the searchable indexes (47) and which are sortable (ZeeRex XML) · Record schema gzd (gzd.xsd) and the Library of Congress SRU schemas · The SRU/CQL standard itself. 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://zoekdienst.overheid.nl/sru/Search?version=1.2&operation=searchRetrieve&x-connection=oep&startRecord=1&maximumRecords=5&query=dcterms.creator%3D%3D%22Utrecht%22%20and%20dcterms.available%3E%3D2026-10-01"
More in this topic
See how this page is built
bron: overheid-sru
blokken: []
secties:
- ideeen
- verwerken
- koppelingen
- vergelijkbaar
- beperkingen
- code
cache:
tag: bron:overheid-sru
ververs: na statuscheck, als de bron nieuwer is
statuscheck:
methode: laatste dag met officiële publicaties (collectie oep, aantal per
publicatiedatum)
verwacht: dagelijks
Source: content/bronnen/overheid-sru.yaml · Markdown




