Wageningen University & Research Return API

The Return API from AgroDataCube v2, operated by Wageningen Environmental Research — 9 operations returning meteo stations, regions, soil types and source information.

Operations 9

GET /meteostations Return a list of all meteostations for which data is available. #
GET /meteostations/{meteostation} Return the data for the given meteostation. #
GET /regions/municipalities Return all municipalities (gemeentes), based on the boundaries for 2015. #
GET /regions/postalcodes Return the dutch 6-positions postalcode areas. #
GET /regions/provences Return the provinces. These are the boundaries from 2015. #
GET /soilparams/{soilparamid} Return all the information for the given soilparamid. #
GET /soiltypes Return the intersections of the supplied geometry and soilmap. If no epsg is provided epsg = 28992 (RD) is assumed. Curr #
GET /soiltypes/{entityid} Return all the information for the given soilmap entityid. #
GET /sources Documentation pointer for the available data sources #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/wageningen-university-research-return-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

wageningen-university-research-return-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AgroDataCube API v2 Return API
  version: '2.1'
  description: 'Faithful OpenAPI 3.0 conversion of the public AgroDataCube Postman collection. AgroDataCube provides open and derived data for agri-food applications over the Netherlands, returning GeoJSON for vector resources and GeoTIFF for raster (_image) resources. Access requires a free token supplied via the ''token'' HTTP header. Source: Wageningen Environmental Research (WUR).'
  license:
    name: CC BY-NC-SA 4.0
    url: https://creativecommons.org/licenses/by-nc-sa/4.0/
  contact:
    name: AgroDataCube
    url: https://agrodatacube.wur.nl/
servers:
- url: https://agrodatacube.wur.nl/api/v2/rest
x-provenance:
  generated: '2026-08-30'
  method: derived
  source: openapi/_original/wageningen-university-research-agrodatacube-v2.yaml
  x-operator: institution
  operator_evidence: >-
    agrodatacube.wur.nl is a host under Wageningen University & Research's own registrable domain
    (wur.nl); AgroDataCube is operated by Wageningen Environmental Research. The contract is the
    institution's own, not a vendor's running under its name.
  repair: >-
    Re-based on 2026-08-30. refine-openapis welded this per-tag split onto the wrong parent: it wore
    "AgroDataCube API v1 (legacy) Altitude Return API" and base https://agrodatacube.wur.nl/api/v1/rest while the
    operations come from AgroDataCube API v2. The v1 base is retired — GET /api/v1/rest/fields and
    /api/v1/rest/sources both answered HTTP 404 (Tomcat "HTTP Status 404 - Not Found") on 2026-08-30 —
    so every operation here was documented against a dead server. Title, version and servers[] are now
    taken from the true parent. This is our defect, not the provider's.
    Dropped /sources/{resource_name}: GET /api/v2/rest/sources/fields answered HTTP 404 on 2026-08-30,
    so the route does not exist on the v2 base. It survives in openapi/_original/...-agrodatacube-v1.yaml.
    Rewrote GET /sources to the response v2 actually returns (probed HTTP 200, a documentation pointer).
  live_probe:
  - url: https://agrodatacube.wur.nl/api/v2/rest/fields
    status: 403
    note: 'route exists; body: {"status": "No token supplied, see https://agrodatacube.wur.nl/api/register.jsp"}'
  - url: https://agrodatacube.wur.nl/api/v1/rest/fields
    status: 404
    note: v1 base retired
security:
- tokenHeader: []
tags:
- name: Return
paths:
  /meteostations:
    get:
      summary: Return a list of all meteostations for which data is available.
      description: Return a list of all meteostations for which data is available.
      operationId: get_meteostations
      responses:
        '200':
          description: Successful response. AgroDataCube returns a GeoJSON FeatureCollection (vector resources) or a binary GeoTIFF image (raster *_image resources).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureCollection'
        '401':
          description: Missing or invalid access token.
        '404':
          description: Resource not found.
      security:
      - tokenHeader: []
      tags:
      - Return
      parameters:
      - name: output_epsg
        in: query
        required: false
        schema:
          type: integer
        example: '4326'
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
        example: '25'
      - name: page_offset
        in: query
        required: false
        schema:
          type: integer
        example: '0'
  /meteostations/{meteostation}:
    get:
      summary: Return the data for the given meteostation.
      description: Return the data for the given meteostation.
      operationId: get_meteostations_meteostation
      responses:
        '200':
          description: Successful response. AgroDataCube returns a GeoJSON FeatureCollection (vector resources) or a binary GeoTIFF image (raster *_image resources).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureCollection'
        '401':
          description: Missing or invalid access token.
        '404':
          description: Resource not found.
      security:
      - tokenHeader: []
      tags:
      - Return
      parameters:
      - name: meteostation
        in: path
        required: true
        schema:
          type: string
        description: Path parameter meteostation.
      - name: output_epsg
        in: query
        required: false
        schema:
          type: integer
        example: '4326'
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
        example: '25'
      - name: page_offset
        in: query
        required: false
        schema:
          type: integer
        example: '0'
  /regions/municipalities:
    get:
      summary: Return all municipalities (gemeentes), based on the boundaries for 2015.
      description: Return all municipalities (gemeentes), based on the boundaries for 2015.
      operationId: get_regions_municipalities
      responses:
        '200':
          description: Successful response. AgroDataCube returns a GeoJSON FeatureCollection (vector resources) or a binary GeoTIFF image (raster *_image resources).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureCollection'
        '401':
          description: Missing or invalid access token.
        '404':
          description: Resource not found.
      security:
      - tokenHeader: []
      tags:
      - Return
      parameters:
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
        example: '25'
      - name: page_offset
        in: query
        required: false
        schema:
          type: integer
        example: '0'
      - name: output_epsg
        in: query
        required: false
        schema:
          type: integer
        example: '4326'
  /regions/postalcodes:
    get:
      summary: Return the dutch 6-positions postalcode areas.
      description: Return the dutch 6-positions postalcode areas.
      operationId: get_regions_postalcodes
      responses:
        '200':
          description: Successful response. AgroDataCube returns a GeoJSON FeatureCollection (vector resources) or a binary GeoTIFF image (raster *_image resources).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureCollection'
        '401':
          description: Missing or invalid access token.
        '404':
          description: Resource not found.
      security:
      - tokenHeader: []
      tags:
      - Return
      parameters:
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
        example: '25'
      - name: output_epsg
        in: query
        required: false
        schema:
          type: integer
        example: '4326'
      - name: page_offset
        in: query
        required: false
        schema:
          type: integer
        example: '0'
  /regions/provences:
    get:
      summary: Return the provinces. These are the boundaries from 2015.
      description: Return the provinces. These are the boundaries from 2015.
      operationId: get_regions_provences
      responses:
        '200':
          description: Successful response. AgroDataCube returns a GeoJSON FeatureCollection (vector resources) or a binary GeoTIFF image (raster *_image resources).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureCollection'
        '401':
          description: Missing or invalid access token.
        '404':
          description: Resource not found.
      security:
      - tokenHeader: []
      tags:
      - Return
      parameters:
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
        example: '25'
      - name: output_epsg
        in: query
        required: false
        schema:
          type: integer
        example: '4326'
      - name: page_offset
        in: query
        required: false
        schema:
          type: integer
        example: '0'
  /soilparams/{soilparamid}:
    get:
      summary: Return all the information for the given soilparamid.
      description: Return all the information for the given soilparamid.
      operationId: get_soilparams_soilparamid
      responses:
        '200':
          description: Successful response. AgroDataCube returns a GeoJSON FeatureCollection (vector resources) or a binary GeoTIFF image (raster *_image resources).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureCollection'
        '401':
          description: Missing or invalid access token.
        '404':
          description: Resource not found.
      security:
      - tokenHeader: []
      tags:
      - Return
      parameters:
      - name: soilparamid
        in: path
        required: true
        schema:
          type: string
        description: Path parameter soilparamid.
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
        example: '25'
      - name: page_offset
        in: query
        required: false
        schema:
          type: integer
        example: '0'
  /soiltypes:
    get:
      summary: Return the intersections of the supplied geometry and soilmap. If no epsg is provided epsg = 28992 (RD) is assumed. Curr
      description: Return the intersections of the supplied geometry and soilmap. If no epsg is provided epsg = 28992 (RD) is assumed. Currently only epsg's 28992 and 4326 (WGS 84) are supported
      operationId: get_soiltypes
      responses:
        '200':
          description: Successful response. AgroDataCube returns a GeoJSON FeatureCollection (vector resources) or a binary GeoTIFF image (raster *_image resources).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureCollection'
        '401':
          description: Missing or invalid access token.
        '404':
          description: Resource not found.
      security:
      - tokenHeader: []
      tags:
      - Return
      parameters:
      - name: output_epsg
        in: query
        required: false
        schema:
          type: integer
        example: '4326'
      - name: geometry
        in: query
        required: false
        schema:
          type: string
      - name: epsg
        in: query
        required: false
        schema:
          type: integer
        example: '4326'
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
        example: '25'
      - name: page_offset
        in: query
        required: false
        schema:
          type: integer
        example: '0'
  /soiltypes/{entityid}:
    get:
      summary: Return all the information for the given soilmap entityid.
      description: Return all the information for the given soilmap entityid.
      operationId: get_soiltypes_entityid
      responses:
        '200':
          description: Successful response. AgroDataCube returns a GeoJSON FeatureCollection (vector resources) or a binary GeoTIFF image (raster *_image resources).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureCollection'
        '401':
          description: Missing or invalid access token.
        '404':
          description: Resource not found.
      security:
      - tokenHeader: []
      tags:
      - Return
      parameters:
      - name: entityid
        in: path
        required: true
        schema:
          type: string
        description: Path parameter entityid.
      - name: output_epsg
        in: query
        required: false
        schema:
          type: integer
        example: '4326'
      - name: page_size
        in: query
        required: false
        schema:
          type: integer
        example: '25'
      - name: page_offset
        in: query
        required: false
        schema:
          type: integer
        example: '0'
  /sources:
    get:
      summary: Documentation pointer for the available data sources
      description: >-
        In AgroDataCube v2 this route no longer returns a GeoJSON FeatureCollection of sources.
        Probed keyless on 2026-08-30 it answered HTTP 200 with a small JSON object pointing at the
        v2.1 Postman documentation, and it is the only v2 route that answers without a token.
      operationId: get_sources
      responses:
        '200':
          description: >-
            A JSON object whose single key is the sentence "Please see the information at " and whose
            value is the URL of the AgroDataCube v2.1 Postman documentation.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
              example:
                'Please see the information at ': https://documenter.getpostman.com/view/5525378/S1EQSdKN
        '404':
          description: Resource not found.
      tags:
      - Return
components:
  schemas:
    FeatureCollection:
      type: object
      description: GeoJSON FeatureCollection returned by vector resources.
      required:
      - type
      - features
      properties:
        type:
          type: string
          enum:
          - FeatureCollection
        features:
          type: array
          items:
            $ref: '#/components/schemas/Feature'
    Geometry:
      type: object
      description: GeoJSON geometry (Point, Polygon, MultiPolygon, etc.).
      required:
      - type
      - coordinates
      properties:
        type:
          type: string
          enum:
          - Point
          - LineString
          - Polygon
          - MultiPoint
          - MultiLineString
          - MultiPolygon
        coordinates:
          type: array
          items: {}
    Feature:
      type: object
      description: GeoJSON Feature with a geometry and a free-form properties map whose keys depend on the queried resource.
      required:
      - type
      - geometry
      - properties
      properties:
        type:
          type: string
          enum:
          - Feature
        geometry:
          $ref: '#/components/schemas/Geometry'
        properties:
          type: object
          additionalProperties: true
  securitySchemes:
    tokenHeader:
      type: apiKey
      in: header
      name: token
      description: Access token obtained via https://agrodatacube.wur.nl/api/register.jsp