
Rijksmonumenten als open data: SPARQL en PDOK API
De Rijksdienst voor het Cultureel Erfgoed (RCE) publiceert rijksmonumenten op twee manieren als open data: als linked data met een SPARQL-endpoint voor alle kenmerken, en via PDOK als OGC API met puntlocaties. Beide zijn vrij toegankelijk onder CC BY 4.0. Hieronder staan getest voorbeeld-requests, de eigenschappen en de valkuil met monumentnummers.

Waar staan de rijksmonumenten als open data?
Er zijn drie bronnen, elk voor een ander doel. Het Rijksmonumentenregister is het officiële zoekportaal voor mensen. De RCE-linked data bevat alle kenmerken en is te bevragen met SPARQL. PDOK biedt de INSPIRE-geharmoniseerde ligging als OGC API en WFS, met per monument een verwijzing naar het register.
De RCE-dataset op data.overheid.nl omschrijft de linked data zo:
Deze Linked Open Dataset omvat de gegevens die afkomstig zijn van de RCE-database, waarin de identificatie en informatie over cultureel-historische objecten (CHO's) worden vastgelegd.
Bron: data.overheid.nl, dataset Linked data RCE, gelezen op 11 oktober 2026. De dataset noemt rijksmonumenten, complexen, werelderfgoed, stads- en dorpsgezichten en archeologische sites.
| Eigenschap | RCE linked data | PDOK Beschermde gebieden cultuurhistorie |
|---|---|---|
| Eigenaar | Rijksdienst voor het Cultureel Erfgoed | RCE, aangeboden door PDOK |
| Endpoint | https://api.linkeddata.cultureelerfgoed.nl/datasets/rce/cho/services/cho/sparql | https://api.pdok.nl/rce/beschermde-gebieden-cultuurhistorie/ogc/v1 |
| Protocol | SPARQL 1.1 over HTTP | OGC API Features |
| Inhoud | Alle kenmerken: nummers, omschrijving, functie, gemeente, geometrie | Punten en vlakken van rijksmonumenten, stads- en dorpsgezichten en werelderfgoed (collecties rce_inspire_points en rce_inspire_polygons) |
| Licentie | CC BY 4.0 (data.overheid.nl) | CC BY 4.0 (landingspagina) |
| Coördinaten | RD als WKT (asWKT-RD) en andere vormen | CRS84 (lengtegraad, breedtegraad) |
| Sleutel nodig | Nee | Nee |
Hoe haal ik rijksmonumenten op met SPARQL?
SPARQL is de querytaal voor linked data. U schrijft een patroon met variabelen en de server geeft de gevonden combinaties. De RCE gebruikt een eigen vocabulaire met het voorvoegsel ceo: (https://linkeddata.cultureelerfgoed.nl/def/ceo#). Een rijksmonument is van het type ceo:Rijksmonument en heeft eigenschappen zoals ceo:rijksmonumentnummer en ceo:datumInschrijvingInMonumentenregister. De gemeente staat niet direct op het monument, maar op een bijbehorende basisregistratierelatie.
De volgende query geeft de drie rijksmonumenten in Maastricht met de oudste inschrijfdatum:
curl -s -G "https://api.linkeddata.cultureelerfgoed.nl/datasets/rce/cho/services/cho/sparql" \
-H "Accept: application/sparql-results+json" \
--data-urlencode 'query=PREFIX ceo: <https://linkeddata.cultureelerfgoed.nl/def/ceo#>
SELECT DISTINCT ?nummer ?datum WHERE {
?m a ceo:Rijksmonument ;
ceo:rijksmonumentnummer ?nummer ;
ceo:datumInschrijvingInMonumentenregister ?datum ;
ceo:heeftBasisregistratieRelatie/ceo:gemeentenaam "Maastricht" .
}
ORDER BY ?datum ?nummer
LIMIT 3'
Het antwoord op 11 oktober 2026 bevatte de nummers 28045, 28046 en 28047, alle met inschrijfdatum 1966-05-10. Zonder DISTINCT kwam hetzelfde monument meerdere keren terug, omdat een monument meer dan één relatie kan hebben. Dezelfde query in Python:
import json, urllib.parse, urllib.request
ENDPOINT = "https://api.linkeddata.cultureelerfgoed.nl/datasets/rce/cho/services/cho/sparql"
QUERY = """
PREFIX ceo: <https://linkeddata.cultureelerfgoed.nl/def/ceo#>
SELECT DISTINCT ?nummer ?datum WHERE {
?m a ceo:Rijksmonument ;
ceo:rijksmonumentnummer ?nummer ;
ceo:datumInschrijvingInMonumentenregister ?datum ;
ceo:heeftBasisregistratieRelatie/ceo:gemeentenaam "Maastricht" .
}
ORDER BY ?datum ?nummer
LIMIT 3
"""
req = urllib.request.Request(
ENDPOINT + "?" + urllib.parse.urlencode({"query": QUERY}),
headers={"Accept": "application/sparql-results+json"},
)
with urllib.request.urlopen(req) as r:
rows = json.load(r)["results"]["bindings"]
for row in rows:
nr = row["nummer"]["value"]
print(nr, row["datum"]["value"],
"https://monumentenregister.cultureelerfgoed.nl/monumenten/" + nr)
De uitvoer was drie regels met nummer, datum en registerlink; de link naar monument 28045 gaf bij de test status 200. Aantallen: een telling van verschillende ceo:rijksmonumentnummer-waarden bij monumenten van het type ceo:Rijksmonument gaf op 11 oktober 2026 het getal 67.497, en in Maastricht 1.672. Gebruik zulke tellingen als meting van die dag; het register zelf blijft de officiële bron. De endpoint stuurt Access-Control-Allow-Origin: * mee.
Welke kenmerken heeft een rijksmonument in de linked data?
Een monument is in de linked data een knooppunt met verwijzingen naar andere knooppunten: een omschrijving, een functie, een geometrie en een relatie met adres- en perceelgegevens. Wie een monument ophaalt, ziet dus eerst verwijzingen en moet die volgen.
| Eigenschap | Betekenis |
|---|---|
ceo:rijksmonumentnummer | Het nummer dat het publiek kent en dat in de URL van het register staat |
ceo:cultuurhistorischObjectnummer | Intern objectnummer van de RCE-database; dit zit ook in de IRI van het monument |
ceo:datumInschrijvingInMonumentenregister | Datum van inschrijving |
ceo:heeftBasisregistratieRelatie | Koppeling naar gemeentenaam en BAG-relaties |
ceo:heeftGeometrie | Verwijzing naar een geometrieknoop, met onder meer ceo:asWKT-RD |
ceo:heeftOmschrijving | Verwijzing naar de beschrijvende tekst |
ceo:kadasterdeel, ceo:kadasterdeelnummer | Kadastrale aanduiding van het deel |
De gemeentenaam en de koppeling met de BAG zijn handig om monumenten aan adressen te verbinden. De adresgegevens zelf haalt u uit de BAG; de kadastrale aanduiding past bij de kadastrale kaart. Een koppeling op naam van straat of op vrije tekst is onbetrouwbaar, koppel op de identificatie.
Hoe haal ik rijksmonumenten op via de PDOK OGC API?
Voor kaartgebruik is de PDOK-API makkelijker dan SPARQL. De API is INSPIRE-geharmoniseerd. Dat betekent dat de kenmerken uit het Europese datamodel ProtectedSite komen en dus minder zijn dan in de linked data. Elk punt heeft een ci_citation met de link naar het register.
curl -s -G "https://api.pdok.nl/rce/beschermde-gebieden-cultuurhistorie/ogc/v1/collections/rce_inspire_points/items" \
-d f=json -d limit=100 \
--data-urlencode "bbox=5.68,50.84,5.71,50.86"
Dit gaf op 11 oktober 2026 een volle pagina van 100 puntfeatures in Maastricht. Elk feature heeft onder meer localid, legalfoundationdate (datum van de aanwijzing), ci_citation en siteprotectionclassification. Voor het eerste monument was localid gelijk aan 10001.00, de legalfoundationdate was 1966-06-30 en ci_citation was https://monumentenregister.cultureelerfgoed.nl/monumenten/26722.
Een enkel object vraagt u op via localid, het enige attribuut naast de geometrie dat de API als queryable aanbiedt:
curl -s -G "https://api.pdok.nl/rce/beschermde-gebieden-cultuurhistorie/ogc/v1/collections/rce_inspire_points/items" \
-d f=json --data-urlencode "localid=10001.00"
De collectie rce_inspire_polygons bevat vlakken, ook voor stads- en dorpsgezichten. Het veld siteprotectionclassification kan bij één object meerdere waarden bevatten, gescheiden door een puntkomma (bijvoorbeeld cultureel en archeologisch). De antwoorden hebben Access-Control-Allow-Origin: *. Hoe u zo'n laag in een kaartviewer zet, staat bij OpenLayers en MapLibre.
Welke licentie en bronvermelding gelden?
Zowel de linked data (volgens data.overheid.nl) als de PDOK-API (volgens de landingspagina) vermelden de licentie CC BY 4.0. Hergebruik, ook commercieel, is toegestaan; vermeld de RCE als bron, de datum van ophalen en zo nodig dat u de gegevens hebt bewerkt.
Een gepubliceerde limiet op het aantal verzoeken is voor beide bronnen niet gevonden. Cache daarom resultaten en vraag geen volledige dataset per paginaweergave op. Wat een gemeente moet regelen als ze data van derden gebruikt, staat op open data-licenties.
Een licentie voor de gegevens betekent niet dat het Rijksmonumentenregister als website vrij te kopiëren is. Gebruik de API's in plaats van scraping van de registerpagina's.
Valkuilen bij rijksmonumentdata
- Drie nummers voor één monument. Het monument met
localid10001.00 in PDOK en objectnummer 10001 in de linked data heeft rijksmonumentnummer 26722. De IRI van een monument bevat het objectnummer, de URL van het register het monumentnummer. Verwar ze niet. - Dubbele rijen in SPARQL. Een pad over meerdere relaties kan hetzelfde monument meer dan eens geven. Gebruik
SELECT DISTINCT. - Complex versus monument. Een complex bundelt meerdere monumenten en heeft een eigen nummer. Tel complexen niet mee als monumenten.
- Puntlocatie is geen contour. De puntlaag van PDOK toont een ligging, geen perceel of gebouwgrens. Voor de contour gebruikt u de vlaklaag of de geometrie uit de linked data.
- Verschillende peildatums. De PDOK-laag meldde op 11 oktober 2026 een update van die dag; de data.overheid.nl-beschrijving van de linked data noemde 26 november 2024 als laatste wijziging van de beschrijving. Controleer de datum per bron en neem die op in uw bronvermelding.
- Gemeentenaam is een tekst. Gemeenten fuseren en veranderen van naam. Controleer bij een filter op
ceo:gemeentenaamof de naam in de data overeenkomt met de naam die u verwacht.
Wanneer zijn deze bronnen niet de goede keuze?
- Gemeentelijke en provinciale monumenten. Deze datasets gaan over rijksmonumenten, stads- en dorpsgezichten, werelderfgoed en archeologie. Gemeentelijke en provinciale monumenten staan in eigen registers.
- Vergunningsbesluiten. Of een ingreep vergunningplichtig is, hangt af van het besluit en het omgevingsplan. Zie Omgevingswet en DSO.
- Exacte perceelgrens. Gebruik de kadastrale kaart voor het perceel.
- Elke dag alle gegevens synchroniseren. Laad de data periodiek in een eigen database en gebruik de API's voor de wijzigingen.
Een kaart die monumenten combineert met adressen en panden bouwt u zo: haal de punten of vlakken uit PDOK, koppel op nummer aan de linked data en toon ze in een viewer. De uitgewerkte aanpak voor een gemeente staat bij de toepassing monumentenkaart, de viewer zelf bij GIS-viewer voor gemeenten, en de landelijke basisdiensten onder PDOK.
Veelgestelde vragen
Zijn rijksmonumenten open data?
Ja. De RCE publiceert rijksmonumenten als linked data met een SPARQL-endpoint, en PDOK biedt ze als OGC API met puntlocaties. Beide noemen de licentie CC BY 4.0, dus hergebruik, ook commercieel, is toegestaan met bronvermelding van de RCE. Er is geen sleutel of account nodig. Volgens data.overheid.nl bevat de linked data ook de high value datasets rijksmonumenten, werelderfgoed en gezichten.
Welke API gebruik ik voor rijksmonumenten op een kaart?
Gebruik de PDOK-API beschermde-gebieden-cultuurhistorie: punten in rce_inspire_points en vlakken in rce_inspire_polygons, met een bbox-filter. Voor aanvullende kenmerken zoals de gemeente of de omschrijving vraagt u de linked data via SPARQL.
Wat is het verschil tussen het rijksmonumentnummer en het objectnummer?
Het rijksmonumentnummer staat in de URL van het register, bijvoorbeeld 26722. Het objectnummer 10001 is het interne nummer van de RCE-database en zit in de IRI van de linked data en in het localid van PDOK. Gebruik ci_citation of ceo:rijksmonumentnummer om te koppelen, en nooit het ene nummer als het andere.
Kan ik gemeentelijke monumenten ook via deze bronnen ophalen?
Nee. De RCE-data gaat over rijksmonumenten, stads- en dorpsgezichten, werelderfgoed en archeologische sites. Gemeentelijke monumenten staan in registers van de gemeente zelf, en wat daarvan als open data beschikbaar is, verschilt per gemeente. Zoek in dat geval op data.overheid.nl of op de site van de gemeente, en controleer de licentie per dataset.
Is er een limiet op het aantal verzoeken?
Op de gelezen pagina's van PDOK en de RCE is geen limiet gepubliceerd. Behandel de services niet als onbeperkt: gebruik limit en bbox, cache antwoorden en haal de volledige set liever periodiek op dan bij elke paginaweergave.
Bronnen
- data.overheid.nl — Linked data RCE (gelezen op )
- RCE — SPARQL-endpoint cho (linked data) (gelezen op )
- RCE — Rijksmonumentenregister (gelezen op )
- PDOK — Beschermde gebieden cultuurhistorie (INSPIRE) OGC API v1 (gelezen op )
- PDOK — Beschermde gebieden cultuurhistorie, collectie rce_inspire_points (gelezen op )
Meer over TechinFlow
Een nieuw bureau in Haarlem voor maatwerk software, GIS en dataplatforms op open standaarden.
Een vraag of opdracht?
Vertel kort wat er speelt en voor welke organisatie. We reageren per e-mail.
Stuur een bericht