303,525 datasets indexed1,419 publishers
Open Data IndexThe index of open data about the Netherlands
Sources›Traffic and transport

Gelderland Province geoportal (ArcGIS REST)

The ArcGIS Enterprise server of the province of Gelderland, with 23 open folders by theme (Infra, Natuur, Milieu_Stikstof, Omgevingsverordening …). On 16 October 2026 our index held 1,027 map layers, from trees along provincial roads and road accidents (BRON, 2017 to 2024) to nitrogen deposition per hexagon. The accompanying Portal (geoportaal.gelderland.nl/portaal) searches 1,011 public services with readable titles and a modification date; the newest item was from 13 October 2026.

Traffic and transportClimate and environmentHousing and landOpenAPIMap layerNetherlands · feature (province of Gelderland)
Up to date · updated 3 days ago · checked 17:23
geoportaal.gelderland.nl
Screenshot of geoportaal.gelderland.nl

Everything that's in it1,033

All services and layers on this ArcGIS server, fetched every night. Every layer has its own page with fields, geometry and a query call.

1,033in total
1,021map layers
7tables
13.6 mfeatures in total

Registered road accidents in Gelderland (BRON, provincial layer): 15,200 accidents in 2024, 5% less than in 2017

Registered road accidents in Gelderland (BRON, provincial layer), 2017 – 2024, in accidents. The highest point was 2019 (16,512).

Source: Provincie Gelderland, ArcGIS-dienst Infra (laag Ongevallen registratie, bron BRON) · opgehaald 25 oktober 2026 · selection: som van ong_tot per jaar, alle wegbeheerders; volgens de laag zijn er door de AVG de laatste jaren steeds minder gegevens: vergelijk jaren voorzichtigOpen the table Single block

Map layers on the Gelderland ArcGIS server by folder: most Hosted (321 layers), then Infra and Overig

Map layers on the Gelderland ArcGIS server by folder, oktober 2026, in layers. Total: 1,023; the largest 12 of 23 categories are shown. Hosted is 31% of the total. Counted in the server's own services directory: 1,023 leaf layers in 261 services with layers, across 23 folders. Group layers, tables, tile services and system folders are not counted. The Hosted folder holds the layers published through Gelderland's own Portal.

Source: Provincie Gelderland, ArcGIS REST-server (services-directory) · opgehaald 25 oktober 2026 · selection: groep: mapOpen the table Single block

What can you do with it?4 ideas

Getting started

Accidents on your road

The layer Ongevallen registratie (folder Infra) has 119,275 accidents from BRON, 2017 to 2024, with street name, town and road authority. Filter on a street or road number and map them.

Getting started

Search the Portal, fetch from the server

Layer names on the server are technical; the Portal has titles such as 'Recreatie- Fietspad langs provinciale wegen' with a link to the layer. Search there, then query the REST server for the data.

Advanced

Oak processionary moth along the roads

Bestrijding eikenprocessierups nesten 2020 - 2024 (folder Infra) tracks per oak along provincial roads whether nests were found. In 2020 10,648 oaks were marked 'EPR aanwezig', in 2023 2,204. Note: in 2024 the layer only says 'inspection carried out'.

Advanced

Nitrogen per hexagon

The Milieu_Stikstof folder has deposition, critical deposition value and exceedance per hexagon (100,771 cells). Combine with the Natura 2000 areas to see where exceedance is largest.

How to process it4 steps

  1. Find a layer in the Portal

    The Portal search API returns title, tags, modification date (modified, in milliseconds) and the layer url.

    https://geoportaal.gelderland.nl/portaal/sharing/rest/search?q=ongevallen&f=json
  2. Fetch GeoJSON

    With f=geojson and outSR=4326 you get a file that fits a web map directly. maxRecordCount differs per layer (usually 2,000, for this layer 20,000).

    https://geoportaal.gelderland.nl/gisserver/rest/services/Infra/Infra/MapServer/229/query?where=jaar%3D%272024%27&outFields=jaar,ong_tot,ong_let,stt_naam,wpsnaamnen&outSR=4326&resultOffset=0&resultRecordCount=5&f=geojson
  3. Let the server count

    outStatistics with groupByFieldsForStatistics counts or sums per category in a single call. Here: accidents per year.

    https://geoportaal.gelderland.nl/gisserver/rest/services/Infra/Infra/MapServer/229/query?where=1%3D1&outStatistics=%5B%7B%22statisticType%22%3A%22sum%22%2C%22onStatisticField%22%3A%22ong_tot%22%2C%22outStatisticFieldName%22%3A%22n%22%7D%5D&groupByFieldsForStatistics=jaar&f=json
  4. Skip the tile services

    Besides queryable layers, the Hosted folder holds tile services (capabilities TilesOnly): you cannot query those, only display map tiles.

    https://geoportaal.gelderland.nl/gisserver/rest/services/Hosted?f=json

Interesting combinations

Similar sources

  • data.overheid.nl

    Gelderland lists 201 datasets on data.overheid.nl, most under a public domain mark, with titles in the same 'Theme- Name' pattern as the Portal.

  • Overijssel Province geoportal (ArcGIS REST)

    Also a provincial ArcGIS server, but without a Portal, without dates and with a proxy that does not allow statistics.

What to watch out for

  • Licence not established

    Server and Portal say nothing about reuse (licenseInfo empty on 100 items checked). Gelderland itself publishes on data.overheid.nl mostly under a public domain mark.

  • Folders behind a token

    IMGEO, Intern, Klimaat and Test require a token (499). We skip those; the rest is open.

  • Dates only in the Portal

    The REST server gives no modification date per layer. The Portal does (modified per item), but not every layer has an item.

  • Accident data becomes less complete

    According to the accident layer's description, 'in recent years fewer details have been available because of the GDPR'. Compare years with care.

  • Weak descriptions

    Many services only say 'Geen metadata'. copyrightText is a 32-character code, not a name or licence.

APIArcGIS REST · read 16 Oct 2026

StandardArcGIS RESTdocs
Access no key

No key for the public folders. Five folders (IMGEO, Intern, Klimaat, Test, Utilities) return 'Token Required' (code 499). tested

Size779

leaf layers in 100 queryable services (605 unique names), plus 161 tile services in the Hosted folder tested

Formats

jsongeojsonpbfpng (export)

Base URL

https://geoportaal.gelderland.nl/gisserver/rest/services

Endpoints 7

  • GET?f=jsonDirectory: version, folders and services (name + type).
  • GET/{map}?f=jsonServices in one folder.
  • GET/{dienst}/MapServer?f=jsonService: layers and tables (id, name, group layer or not), maxRecordCount, capabilities, projection, description.
  • GET/{dienst}/MapServer/{laag}?f=jsonLayer: fields (name, type, alias, length), geometry type, maxRecordCount, supportedQueryFormats and advancedQueryCapabilities (pagination, statistics, orderBy, distinct).
  • GET/{dienst}/MapServer/{laag}/queryQuery features with a where clause or spatial filter; also count (returnCountOnly) and group (outStatistics). Response in JSON, GeoJSON or PBF.
  • GET/{dienst}/MapServer/legend?f=jsonLegend per layer: labels and symbols (PNG as base64).
  • GET/{dienst}/MapServer/export?bbox=…&bboxSR=4326&size=600,400&format=png&f=imageMap image as PNG for a rectangle; with f=json you get a link to the image. Without bbox: error 'bbox must be specified'.

The APIs of this source 1 · from the provider's documentation from the description

Portal-zoekindex (ArcGIS Enterprise)

Better entry point for titles and dates: 1,011 public Feature and Map Service items, with readable title ('Theme- Name'), description, tags, modified and the layer url.

https://geoportaal.gelderland.nl/portaal/sharing/rest
  • GET/search?q=ongevallen&f=jsonItems zoeken (q in Lucene-stijl, num, start, sortField=modified, sortOrder=desc)
  • GET/content/items/{id}?f=jsonEén item met alle metadata

Filtering platform

SQL-like where clause on the layer's fields, plus an optional spatial filter (geometry). Group and count with outStatistics.

=<>>>=<<=LIKEINIS NULLBETWEENANDORNOT

Parameters 13

whereCondition in SQL-92 style: 1=1 for everything, text in single quotes (GEMEENTE='Zwolle'), LIKE with %, AND/OR, dates as DATE 'YYYY-MM-DD'. Required when there is no other filter.tested
outFieldsFields in the response, comma-separated, or * for all fields.tested
returnGeometryfalse = attributes only (much smaller response).tested
outSRProjection of the geometry in the response; 4326 = degrees (WGS84). Default is the layer's projection, here RD (28992).tested
fFormat: json (Esri JSON), geojson, pbf (protobuf), pjson (indented) or html (browse in the browser).tested
resultOffsetPagination: number of features to skip (from 0). Use together with orderByFields for a stable order.tested
resultRecordCountMaximum number of features in this response (capped at the layer's maxRecordCount).tested
orderByFieldsSort order, e.g. 'OBJECTID' or 'n DESC' (also on a statistics field).tested
returnCountOnlytrue = only the number of features matching where: {"count": …}.tested
outStatisticsServer-side statistics: list of {statisticType, onStatisticField, outStatisticFieldName}; statisticType count, sum, min, max, avg, stddev or var. URL-encode it.tested
groupByFieldsForStatisticsFields to group by with outStatistics (like GROUP BY).tested
returnDistinctValuestrue with outFields and returnGeometry=false: the unique values of those fields.tested
geometrySpatial filter: a point 'x,y' or envelope 'xmin,ymin,xmax,ymax', with geometryType (esriGeometryPoint, esriGeometryEnvelope), inSR (input projection), spatialRel (esriSpatialRelIntersects) and optionally distance + units (esriSRUnit_Meter) for a radius.platform

Fields of the example layer 14 · Infra/Infra/MapServer/229 (119.275 locaties, 2017–2024)

NameTypeMeaning
objectidOIDObjectsleutel
jaarStringJaar van het ongeval, als tekst ('2024')
ong_totIntegerTotaal aantal ongevallen op deze plek
ong_umsIntegerOngevallen met uitsluitend materiële schade
ong_letIntegerOngevallen met letsel
ong_dodIntegerOngevallen met een dodelijk slachtoffer
slaIntegerAantal slachtoffers
dodIntegerAantal doden
wegbehsrtStringSoort wegbeheerder (R = Rijk, P = provincie, G = gemeente …)
wegbehnaamStringWegbeheerder
stt_naamStringStraatnaam
wpsnaamnenStringWoonplaats
Show all 14
NameTypeMeaning
latitudeDouble · gradenBreedtegraad
longitudeDouble · gradenLengtegraad

Limits and pitfalls

  • At most 20.000 (deze laag; elders meestal 2.000, soms 1.000 of meer) features per response (the layer's maxRecordCount; varies per layer, see /{layer}?f=json). If there are more, the response has exceededTransferLimit: true: fetch the rest with resultOffset and resultRecordCount. tested
  • No key and no documented rate limit. Take it easy (a few requests per second) and prefer statistics or counts over fetching all features. experience
  • Errors come back with HTTP 200 and a JSON object {"error": {"code": 400, …}} ('Failed to execute query.' for an unknown field in where). Always check for an error field, not just the status code. tested
  • The MapServers here have no WMS extension (supportedExtensions empty; /WMSServer returns HTTP 400). Map images only via export. tested
  • 161 services in the Hosted folder are tile services (TilesOnly): no fields and no query. experience
  • The REST server gives no dates. The Gelderland Portal does: /portaal/sharing/rest/search gives per item a title ('Infra- Ongevallen registratie'), description, modified (newest 13 Oct 2026) and the layer url. tested
  • Field names are short (ong_let, wpsnaamnen), but the aliases in /{layer}?f=json are readable ('Aantal ongevallen met letsel'). tested
  • Connections to this server sometimes failed in earlier harvests with a timeout or SSL error; retry. experience
  • Group layers (with subLayerIds) have no query; query the leaf layers below them. Raster layers have no fields and no count. platform

Try it HTTP 200 · 732 ms · 16 Oct

https://geoportaal.gelderland.nl/gisserver/rest/services/Infra/Infra/MapServer/229/query?where=1%3D1&outStatistics=[{"statisticType"%3A"sum"%2C"onStatisticField"%3A"ong_tot"%2C"outStatisticFieldName"%3A"n"}]&groupByFieldsForStatistics=jaar&orderByFields=jaar&f=json
{
  "displayFieldName": "",
  "fieldAliases": {
    "jaar": "jaar",
    "n": "n"
  },
  "fields": [
    {
      "name": "jaar",
      "type": "esriFieldTypeString",
      "alias": "jaar",
      "length": 7
    },
    {
      "name": "n",
      "type": "esriFieldTypeBigInteger",
      "alias": "n"
    }
  ],
  "features": [
    {
      "attributes": {
        "jaar": "2017",
        "n": 15957
      }
    },
    {
      "attributes": {
        "jaar": "2018",
        "n": 15956
      }
    }
  ]
}

Shortened response, saved at harvest time. Click the URL for the real, current response.

Read from Directory: 28 folders, no services in the root · Layer Ongevallen registratie: fields with readable aliases · Portal search index: 1,011 public items with title and modification date · Esri: query operation (all parameters). 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://geoportaal.gelderland.nl/gisserver/rest/services/Infra/Infra/MapServer/229/query?where=wpsnaamnen%3D%27Arnhem%27&outFields=jaar,ong_tot,stt_naam&outSR=4326&resultRecordCount=100&f=geojson"

Used by

More from Gelderland in our index

1,223 datasets in Geoportaal Provincie Gelderland, data.overheid.nl. These changed most recently.

All about Gelderland

More in this topic

See how this page is built
bron: geoportaal-gelderland
blokken: []
secties:
  - ideeen
  - verwerken
  - koppelingen
  - vergelijkbaar
  - beperkingen
  - code
  - gebruiktDoor
cache:
  tag: bron:geoportaal-gelderland
  ververs: na statuscheck, als de bron nieuwer is
statuscheck:
  methode: services-directory (?f=json) bereikbaar, aantal diensten als noot;
    versheid = nieuwste wijziging in het Portal (sharing/rest/search)
  verwacht: maandelijks

Source: content/bronnen/geoportaal-gelderland.yaml · Markdown