Wageningen University & Research OAI PMH API

The six OAI-PMH 2.0 verbs, all served from the single /oai route.

Operations 1

GET /oai OAI-PMH 2.0 request #

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-oai-pmh-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-oai-pmh-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: WUR Library OAI PMH API
  version: '2.0'
  summary: The OAI-PMH 2.0 harvesting interface over Wageningen University & Research Publications.
  description: OAI-PMH 2.0 interface to the "Wageningen University & Research Publications" repository, operated by WUR's own library on WUR's own host (library.wur.nl, software generator WURLIB6).
  contact:
    name: WUR Library / Facilities Service Desk
    email: servicedesk.facilities@wur.nl
    url: https://www.wur.nl/en/library
  license:
    name: CC BY-NC-SA 4.0
    url: https://creativecommons.org/licenses/by-nc-sa/4.0/
servers:
- url: https://library.wur.nl
  description: Production. GET /oai answered HTTP 200 application/xml for every verb probed on 2026-08-30.
tags:
- name: oai pmh
  description: The six OAI-PMH 2.0 verbs, all served from the single /oai route.
paths:
  /oai:
    get:
      summary: OAI-PMH 2.0 request
      description: Single-route OAI-PMH endpoint. The `verb` query parameter selects the operation; the other parameters are conditional on the verb, exactly as OAI-PMH 2.0 defines. Errors are returned inside a 200 OAI-PMH envelope as an `` element rather than as an HTTP status — verb=Bogus returned HTTP 200 with code `badVerb`, and an unknown metadataPrefix returned HTTP 200 with code `cannotDisseminateFormat`.
      operationId: oai_request
      tags:
      - oai pmh
      parameters:
      - name: verb
        in: query
        required: true
        description: The OAI-PMH verb. Omitting it returns the badVerb error envelope.
        schema:
          type: string
          enum:
          - Identify
          - ListMetadataFormats
          - ListSets
          - ListIdentifiers
          - ListRecords
          - GetRecord
      - name: metadataPrefix
        in: query
        required: false
        description: Required for ListIdentifiers, ListRecords and GetRecord. The four values below are the formats this repository actually advertises; oai_openaire is the OpenAIRE guidelines profile.
        schema:
          type: string
          enum:
          - oai_dc
          - mods
          - nl_didl
          - oai_openaire
      - name: identifier
        in: query
        required: false
        description: 'Required for GetRecord. Form: oai:library.wur.nl:wurpubs/<uuid or number>.'
        schema:
          type: string
          examples:
          - oai:library.wur.nl:wurpubs/334118
      - name: set
        in: query
        required: false
        description: Optional set restriction for ListIdentifiers and ListRecords.
        schema:
          type: string
          enum:
          - public
          - publickb
          - openaire
          - DARC
          - dataset
          - thesis
          - worldcat
          - edurep
      - name: from
        in: query
        required: false
        description: Lower bound on datestamp. Granularity is YYYY-MM-DD (declared in Identify).
        schema:
          type: string
          format: date
      - name: until
        in: query
        required: false
        description: Upper bound on datestamp. Granularity is YYYY-MM-DD.
        schema:
          type: string
          format: date
      - name: resumptionToken
        in: query
        required: false
        description: Continuation token for a paged list. Exclusive of every other parameter but verb. Observed page size 200; observed token form "200:::oai_dc::".
        schema:
          type: string
      responses:
        '200':
          description: An OAI-PMH 2.0 response envelope. Carries the requested payload element, or an <error code="..."> element for badVerb, badArgument, cannotDisseminateFormat, idDoesNotExist, noRecordsMatch, noSetHierarchy or badResumptionToken.
          content:
            application/xml:
              schema:
                type: object
                description: OAI-PMH root element in namespace http://www.openarchives.org/OAI/2.0/.
              examples:
                identify:
                  summary: verb=Identify (probed 2026-08-30)
                  externalValue: ../examples/wageningen-university-research-oai-identify-example.xml
externalDocs:
  description: OAI-PMH 2.0 protocol specification (Open Archives Initiative)
  url: https://www.openarchives.org/OAI/openarchivesprotocol.html
x-provenance:
  generated: '2026-08-30'
  method: probed
  source: Live keyless probes of https://library.wur.nl/oai on 2026-08-30 — verb=Identify, verb=ListMetadataFormats, verb=ListSets, verb=ListIdentifiers&metadataPrefix=oai_dc, verb=GetRecord, plus two deliberate error probes (verb=Bogus, metadataPrefix=bogus).
  x-operator: institution
  operator_evidence: library.wur.nl is under Wageningen University & Research's own registrable domain; the Identify response names the repository "Wageningen University & Research Publications", gives repositoryIdentifier library.wur.nl and adminEmail servicedesk.facilities@wur.nl, and the HTML surface on the same host carries meta generator "WURLIB6" — WUR's own library software, not a packaged vendor repository. No vendor host, title, contact or terms appear anywhere in it.
  live_probe:
  - url: https://library.wur.nl/oai?verb=Identify
    status: 200
    note: repositoryName "Wageningen University & Research Publications", earliestDatestamp 2013-01-02
  - url: https://library.wur.nl/oai?verb=ListMetadataFormats
    status: 200
    note: oai_dc, mods, nl_didl, oai_openaire
  - url: https://library.wur.nl/oai?verb=ListSets
    status: 200
    note: 8 sets
  - url: https://library.wur.nl/oai?verb=ListIdentifiers&metadataPrefix=oai_dc
    status: 200
    note: paged, resumptionToken "200:::oai_dc::"
  - url: https://library.wur.nl/oai?verb=Bogus
    status: 200
    note: OAI-PMH error envelope, code badVerb