# Rijksmonumentenregister

Het register van de Rijksdienst voor het Cultureel Erfgoed: 63.098 rijksmonumenten op 15 oktober 2026, waarvan 61.637 gebouwd en 1.461 archeologisch. Met nummer, categorie, datum van inschrijving, BAG-adres en kaartpunt of contour. Ook de beschermde stads- en dorpsgezichten en het werelderfgoed. Als kaartdienst (WFS), download en linked data met SPARQL.

- Uitgever: Rijksdienst voor het Cultureel Erfgoed
- Gebied: Nederland · Laagste detail: monument
- Periode: 1965 – heden · Ververst: dagelijks
- Toegang: Open · Licentie: CC BY 4.0 (linked data RCE, tenzij anders vermeld)
- Koppelsleutels: rijksmonumentnummer, BAG-id (verblijfsobject), postcode + huisnummer, coördinaten
- Status: ok (2026-10-16) · 63.098 rijksmonumenten (linked data)
- URL: https://monumentenregister.cultureelerfgoed.nl

## Wat kun je ermee?
- **Welke gemeente heeft de meeste monumenten?.** Amsterdam staat bovenaan met 7.679 rijksmonumenten, daarna Maastricht (1.672) en Utrecht (1.586). Deel door het aantal inwoners voor een eerlijker ranglijst.
- **Nieuwe monumenten.** Er komen nog maar weinig rijksmonumenten bij: 19 met een inschrijving in 2026 (de laatste op 7 augustus), 5 in 2025. Welke zijn het?
- **Monumenten en verduurzaming.** Koppel via het BAG-adres aan bouwjaar en energielabels. Hoeveel woningen in jouw buurt zijn monument, en dus lastiger te isoleren?
- **Wat is er van de lijst gehaald?.** 4.354 objecten in de linked data hebben de status 'geen rijksmonument' en 44 zijn 'voorbeschermd'. Zoek uit wat er verdween, en waarom.

## Zo verwerk je het
1. **Snel op de kaart via de WFS.** De kaartdienst van de RCE heeft lagen voor monumentpunten, monumentcontouren, stads- en dorpsgezichten (ook ingetrokken) en werelderfgoed. Vraag GeoJSON in lengte- en breedtegraad.
   `https://services.rce.geovoorziening.nl/rce/wfs?request=GetFeature&service=WFS&version=2.0.0&typeNames=rce:NationalListedMonumentPoints&outputFormat=application/json&count=5&srsName=EPSG:4326`
2. **Of download alles in één keer.** Alle monumentpunten als shapefile in RD (zip, 3,5 MB). Op 15 oktober 2026 was het bestand van diezelfde ochtend.
   `https://services.rce.geovoorziening.nl/www/download/data/Rijksmonumentpunten_28992.zip`
3. **Adres en gemeente via SPARQL.** De WFS heeft geen adres of gemeente. Die staan in de linked data, te bevragen met SPARQL. Deze vraag telt rijksmonumenten per gemeente; zet Accept op text/csv voor een tabel.
   `https://api.linkeddata.cultureelerfgoed.nl/datasets/rce/cho/services/cho/sparql?query=PREFIX%20ceo%3A%20%3Chttps%3A%2F%2Flinkeddata.cultureelerfgoed.nl%2Fdef%2Fceo%23%3E%0APREFIX%20skos%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23%3E%0ASELECT%20%3Fgemeente%20(COUNT(DISTINCT%20%3Fm)%20AS%20%3Faantal)%20WHERE%20%7B%0A%20%20%3Fm%20a%20ceo%3ARijksmonument%20%3B%0A%20%20%20%20%20ceo%3AheeftJuridischeStatus%2Fskos%3AprefLabel%20%22rijksmonument%22%20%3B%0A%20%20%20%20%20ceo%3AheeftBasisregistratieRelatie%2Fceo%3Agemeentenaam%20%3Fgemeente%20.%0A%7D%20GROUP%20BY%20%3Fgemeente%20ORDER%20BY%20DESC(%3Faantal)%20LIMIT%205`
4. **Filter op de status.** In de linked data staan ook afgevoerde objecten. Neem alleen ceo:heeftJuridischeStatus met label 'rijksmonument'. Tel altijd met COUNT(DISTINCT): veel gegevens staan er dubbel in.
5. **Lees de beschrijving per monument.** Elk punt in de WFS heeft een link (rijksmonumenturl) naar de pagina in het monumentenregister, met de omschrijving.
   `https://monumentenregister.cultureelerfgoed.nl/monumenten/341971`

## Interessante koppelingen
- Hoe oud en hoe groot zijn de monumentale woningen? → [pdok-bag](https://www.opendataindex.nl/bron/pdok-bag.md) via BAG-id (verblijfsobject). De linked data geeft per monument de verblijfsobject-ID's uit de BAG (bijvoorbeeld 0014010011071583), plus postcode en huisnummer. Haal bouwjaar en oppervlakte op uit de BAG.
- Waar staan de meeste monumenten per inwoner? → [cbs-kwb](https://www.opendataindex.nl/bron/cbs-kwb.md) via gemeente. De linked data geeft de gemeentenaam en een gemeente-URI (zoals …/Uitgeest_(gemeente)), geen CBS-code. Koppel op naam en controleer de gemeenten die na herindelingen anders heten.

## Vergelijkbare bronnen
- [pdok-bag](https://www.opendataindex.nl/bron/pdok-bag.md): Alle gebouwen met bouwjaar, ook de niet-beschermde. Zegt niets over monumentstatus.
- [openstreetmap](https://www.opendataindex.nl/bron/openstreetmap.md): Vrijwilligers zetten het monumentnummer op objecten met de tag ref:rce (10.067 keer op 15 oktober 2026, volgens taginfo). Handig voor kaarten, niet volledig.

## Waar je op moet letten
- **Kaartdienst zonder adres.** De WFS-punten hebben nummer, categorie en status, maar geen naam, adres of gemeente. Daarvoor heb je de linked data of het register nodig.
- **Punt of contour.** Er zijn 63.083 monumentpunten en 4.217 contouren. Een complex (bijvoorbeeld een buitenplaats) bestaat uit meerdere monumenten met een gezamenlijk complexnummer.
- **Aantallen verschillen per ingang.** Op 15 oktober 2026 telde de linked data 63.098 rijksmonumenten en de WFS 63.083 punten. Noem altijd welke ingang en welke dag je gebruikte.
- **De Atom-feed loopt achter.** De INSPIRE-downloadfeed noemt 20 mei 2025 als bijwerkdatum, terwijl de zip-bestanden zelf van vandaag zijn. Kijk naar de Last-Modified van het bestand.
- **SPARQL heeft een tijdslimiet.** Een zoekvraag mag 58 seconden duren. Zoek niet in alle 59 miljoen gegevens tegelijk, maar begin bij ceo:Rijksmonument.

## API (OGC WFS 2.0.0)

- Basis: https://services.rce.geovoorziening.nl/rce/wfs
- Toegang: Geen sleutel. Kosten: ?; gebruiksvoorwaarden: ?. (uit de beschrijving)
- Formaten: application/gml+xml; version=3.2, DXF, DXF-ZIP, GML2, KML, SHAPE-ZIP, application/json, application/vnd.google-earth.kml xml, application/vnd.google-earth.kml+xml, csv, gml3, gml32, json, text/csv, text/xml; subtype=gml/2.1.2, text/xml; subtype=gml/3.1.1, text/xml; subtype=gml/3.2
- Omvang: 63083 objecten in rce:NationalListedMonumentPoints (getest)
- Filteren: OGC Filter Encoding (FES 2.0); PropertyIsLessThan, PropertyIsGreaterThan, PropertyIsLessThanOrEqualTo, PropertyIsGreaterThanOrEqualTo, PropertyIsEqualTo, PropertyIsNotEqualTo, PropertyIsLike, PropertyIsBetween, PropertyIsNull, PropertyIsNil, Disjoint, Equals, DWithin, Beyond, Intersects, Touches, Crosses, Within, Contains, Overlaps, BBOX, After, Before, Begins, BegunBy, TContains, During, TEquals, TOverlaps, Meets, OverlappedBy, MetBy, EndedBy

### Endpoints
- `GET ?request=GetCapabilities`: beschrijving van de dienst
- `GET ?request=DescribeFeatureType`: velden van een laag (XSD)
- `GET ?request=GetFeature`: de objecten zelf, met geometrie
- `GET ?request=GetPropertyValue`: alleen de waarden van één veld
- `GET ?request=ListStoredQueries`: opgeslagen zoekvragen
- `GET ?request=DescribeStoredQueries`: uitleg bij opgeslagen zoekvragen
- `GET ?request=CreateStoredQuery`: CreateStoredQuery
- `GET ?request=DropStoredQuery`: DropStoredQuery

### Parameters
- `typeNames`: welke laag: rce:NationalListedMonumentPolygons, rce:NationalListedMonumentPoints, rce:Townscapes, rce:WorldHeritage, rce:ingetrokken_stadsendorpsgezichten (uit de beschrijving)
- `outputFormat`: bv. application/json voor GeoJSON (uit de beschrijving)
- `srsName`: projectie, bv. EPSG:4326 voor webkaarten (standaard EPSG:28992, RD) (uit de beschrijving)
- `count / startIndex`: pagineren (uit de beschrijving)
- `filter`: FES-XML-filter op velden of geometrie (uit de beschrijving)
- `bbox`: rechthoek in de gekozen projectie (platform)

### Velden (11)
`id` long, `geom` geometrie, `rijksmonument_nummer` int, `complex_nummer` int, `juridische_status` string, `aard_monument` string, `herkomst` string, `kwaliteit_geometrie` string, `hoofdcategorie` string, `subcategorie` string, `rijksmonumenturl` string

### Limieten en valkuilen
- Maximaal 2.147.483.647 objecten per verzoek (CountDefault). (uit de beschrijving)
- Pagineren kan: count en startIndex (ImplementsResultPaging). (uit de beschrijving)
- Zonder count krijg je de hele laag (63.083 punten). Geef altijd count mee als je alleen wilt kijken. (getest)
- Lagen (resultType=hits, 15 okt 2026): NationalListedMonumentPoints 63.083, NationalListedMonumentPolygons 4.217, Townscapes 472, WorldHeritage 19. (getest)
- GeoServer kent ook cql_filter, bijvoorbeeld cql_filter=aard_monument='archeologisch' (1.461 punten). (getest)
- Voor adres, gemeente en BAG-koppeling: SPARQL op https://api.linkeddata.cultureelerfgoed.nl/datasets/rce/cho/services/cho/sparql (TriplyDB, dataset rce/cho, elke dag opnieuw geladen). Met Accept application/json krijg je een platte lijst, met application/sparql-results+json het standaardformaat. (getest)
- Het INSPIRE-geharmoniseerde model staat ook bij PDOK: https://service.pdok.nl/rce/beschermde-gebieden-cultuurhistorie/wfs/v1_0 (uit de beschrijving)
- Dezelfde INSPIRE-gegevens staan ook als OGC API Features: https://api.pdok.nl/rce/beschermde-gebieden-cultuurhistorie/ogc/v1 (collecties rce_inspire_points en rce_inspire_polygons, CC BY 4.0, bijgewerkt 15 oktober 2026). Per object staat de link naar het monumentenregister in ci_citation en de datum van inschrijving in legalfoundationdate. Let op: localid is niet het monumentnummer (localid 10001.00 hoort bij monument 26722); het nummer staat aan het eind van ci_citation. Filteren kan alleen op localid. (getest)

### Voorbeeld
```
https://services.rce.geovoorziening.nl/rce/wfs?request=GetFeature&service=WFS&version=2.0.0&typeNames=rce:NationalListedMonumentPoints&outputFormat=application/json&count=1&srsName=EPSG:4326
```

## Zo haal je het op

### curl
```bash
curl "https://services.rce.geovoorziening.nl/rce/wfs?request=GetFeature&service=WFS&version=2.0.0&typeNames=rce:NationalListedMonumentPoints&outputFormat=application/json&count=5&srsName=EPSG:4326"
```

### python
```python
import requests

vraag = """
PREFIX ceo: <https://linkeddata.cultureelerfgoed.nl/def/ceo#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?gemeente (COUNT(DISTINCT ?m) AS ?aantal) WHERE {
  ?m a ceo:Rijksmonument ;
     ceo:heeftJuridischeStatus/skos:prefLabel "rijksmonument" ;
     ceo:heeftBasisregistratieRelatie/ceo:gemeentenaam ?gemeente .
} GROUP BY ?gemeente ORDER BY DESC(?aantal) LIMIT 10"""
r = requests.post("https://api.linkeddata.cultureelerfgoed.nl/datasets/rce/cho/services/cho/sparql",
                  data={"query": vraag}, headers={"Accept": "application/json"})
for rij in r.json():
    print(rij["gemeente"], rij["aantal"])
```

## Wat je ermee kunt bouwen
- [Monumentenwandeling door je eigen buurt](https://www.opendataindex.nl/bouwen/monumentenwandeling.md): Een app die rond elk startpunt een wandeling langs tien rijksmonumenten maakt, met adres, beschrijving, foto, een oud beeld uit het Rijksmuseum en een café onderweg.


## Voorbeelden met echte cijfers (2)

Per voorbeeld de bevinding, de peildatum en de aanroep die precies deze cijfers ophaalt.

- **Rijksmonumenten per gemeente: het meest Amsterdam (7.679 rijksmonumenten), dan Maastricht en Utrecht** (oktober 2026). Tabel rce/cho. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/rijksmonumenten-gemeenten)
  - `https://api.linkeddata.cultureelerfgoed.nl/datasets/rce/cho/services/cho/sparql?query=PREFIX%20ceo%3A%20%3Chttps%3A%2F%2Flinkeddata.cultureelerfgoed.nl%2Fdef%2Fceo%23%3E%0APREFIX%20skos%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23%3E%0ASELECT%20%3Fgemeente%20(COUNT(DISTINCT%20%3Fm)%20AS%20%3Fn)%20WHERE%20%7B%0A%20%20%3Fm%20a%20ceo%3ARijksmonument%20%3B%20ceo%3AheeftJuridischeStatus%2Fskos%3AprefLabel%20%22rijksmonument%22%20%3B%0A%20%20%20%20%20ceo%3AheeftBasisregistratieRelatie%2Fceo%3Agemeentenaam%20%3Fgemeente%20.%0A%7D%20GROUP%20BY%20%3Fgemeente%20ORDER%20BY%20DESC(%3Fn)`
- **Rijksmonumenten: het hoogst in Noord-Holland (14.052 rijksmonumenten), het laagst in Flevoland (110 rijksmonumenten)** (oktober 2026). Tabel rce/cho. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/rijksmonumenten-provincies)
  - `https://api.linkeddata.cultureelerfgoed.nl/datasets/rce/cho/services/cho/sparql?query=PREFIX%20ceo%3A%20%3Chttps%3A%2F%2Flinkeddata.cultureelerfgoed.nl%2Fdef%2Fceo%23%3E%0APREFIX%20skos%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2004%2F02%2Fskos%2Fcore%23%3E%0ASELECT%20%3Fprov%20(COUNT(DISTINCT%20%3Fm)%20AS%20%3Fn)%20WHERE%20%7B%0A%20%20%3Fm%20a%20ceo%3ARijksmonument%20%3B%20ceo%3AheeftJuridischeStatus%2Fskos%3AprefLabel%20%22rijksmonument%22%20%3B%0A%20%20%20%20%20ceo%3AheeftBasisregistratieRelatie%2Fceo%3AheeftProvincie%20%3Fprov%20.%0A%7D%20GROUP%20BY%20%3Fprov`
