CentAUR OAI-PMH Metadata API

OAI-PMH 2.0 metadata harvesting interface for CentAUR, the Central Archive at the University of Reading — the institutional repository of the university's research outputs. Operated by the university on its own host; the software underneath is EPrints 3.4.6, which the Identify response names itself. Verified live 2026-09-01 with no credentials: repositoryName "CentAUR", protocolVersion 2.0, adminEmail centaur@reading.ac.uk, earliestDatestamp 2021-07-09, deletedRecord persistent. ListMetadataFormats advertises seven prefixes including rioxx (the UK research-outputs profile used for REF open-access reporting) and uketd_dc; ListRecords with oai_dc returned 100 records per page and a resumptionToken reporting completeListSize 64458. Fully open — no key, no registration, no advertised rate limit.

Operations 1

GET /cgi/oai2 Issue an 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/centaur-oai-pmh"
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

university-of-reading-centaur-oai-pmh-openapi.yml Raw ↑
# x-method: derived
openapi: 3.1.0
info:
  title: CentAUR OAI-PMH Metadata Interface
  version: '2.0'
  summary: OAI-PMH 2.0 harvesting interface for CentAUR, the University of Reading institutional repository.
  description: >-
    Machine-readable description of the OAI-PMH 2.0 endpoint operated by the University of Reading
    for CentAUR (Central Archive at the University of Reading), the institutional repository of the
    university's research outputs. The endpoint is operated by the university on its own host,
    centaur.reading.ac.uk; the repository software underneath is EPrints 3.4.6 (open source,
    originally from the University of Southampton), which the Identify response states in its
    eprints description block.


    This document was NOT published by the University of Reading. It was derived by API Evangelist
    from live, unauthenticated probes of the endpoint on 2026-09-01 — Identify, ListMetadataFormats,
    ListSets and ListRecords were each fetched and their responses read. Every parameter, verb and
    metadata prefix named here was observed in one of those responses. No behaviour is asserted that
    was not observed.


    Observed at probe time: repositoryName "CentAUR", protocolVersion 2.0, adminEmail
    centaur@reading.ac.uk, earliestDatestamp 2021-07-09T06:57:26Z, deletedRecord "persistent",
    granularity YYYY-MM-DDThh:mm:ssZ, repositoryIdentifier centaur.reading.ac.uk, sample identifier
    oai:centaur.reading.ac.uk:5. ListRecords with metadataPrefix=oai_dc reported
    completeListSize="64458" and returned 100 records per page with a resumptionToken.


    Access is open: no API key, no registration, no authentication of any kind is required, and no
    rate limit is advertised in the response headers or in the repository's own information page.
  termsOfService: https://centaur.reading.ac.uk/information.html
  contact:
    name: CentAUR repository team, University of Reading
    email: centaur@reading.ac.uk
    url: https://centaur.reading.ac.uk/information.html
  license:
    name: OAI-PMH 2.0 protocol
    url: http://www.openarchives.org/OAI/openarchivesprotocol.html
servers:
  - url: https://centaur.reading.ac.uk
    description: CentAUR production repository, operated by the University of Reading
tags:
  - name: OAI-PMH
    description: OAI-PMH 2.0 verbs served by the repository at /cgi/oai2.
paths:
  /cgi/oai2:
    get:
      tags: [ OAI-PMH ]
      operationId: oaiPmhRequest
      summary: Issue an OAI-PMH 2.0 request
      description: >-
        Single OAI-PMH request entry point. The verb parameter selects the operation. Responses are
        XML (text/xml; charset=UTF-8) in the http://www.openarchives.org/OAI/2.0/ namespace and
        always carry responseDate and a request element echoing the arguments. Errors are returned
        as HTTP 200 with an <error> element carrying an OAI-PMH error code, not as an HTTP status.
      parameters:
        - name: verb
          in: query
          required: true
          description: The OAI-PMH verb to invoke.
          schema:
            type: string
            enum: [ Identify, ListMetadataFormats, ListSets, ListIdentifiers, ListRecords, GetRecord ]
          examples:
            identify:
              value: Identify
            listRecords:
              value: ListRecords
        - name: metadataPrefix
          in: query
          required: false
          description: >-
            Metadata format for ListRecords, ListIdentifiers and GetRecord. Observed formats
            advertised by ListMetadataFormats on this endpoint.
          schema:
            type: string
            enum: [ didl, mets, oai_bibl, oai_dc, rdf, rioxx, uketd_dc ]
        - name: identifier
          in: query
          required: false
          description: 'OAI identifier of a single record, for GetRecord. Form: oai:centaur.reading.ac.uk:<eprintid>.'
          schema:
            type: string
            examples: [ 'oai:centaur.reading.ac.uk:5' ]
        - name: set
          in: query
          required: false
          description: >-
            Set to restrict a harvest to. Set specs on this endpoint are hex-encoded EPrints field
            filters (for example 7374617475733D707562 = "status=pub"); ListSets returns the
            available specs with human-readable setNames.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: Lower bound on record datestamp, in the repository's granularity (YYYY-MM-DDThh:mm:ssZ).
          schema:
            type: string
        - name: until
          in: query
          required: false
          description: Upper bound on record datestamp, in the repository's granularity (YYYY-MM-DDThh:mm:ssZ).
          schema:
            type: string
        - name: resumptionToken
          in: query
          required: false
          description: >-
            Continuation token returned by a previous incomplete list response. Observed tokens carry
            completeListSize, cursor and expirationDate attributes and expire 24 hours after issue.
          schema:
            type: string
      responses:
        '200':
          description: >-
            OAI-PMH XML response. Protocol-level failures (badVerb, badArgument, idDoesNotExist,
            noRecordsMatch, cannotDisseminateFormat) are also returned with HTTP 200 and an <error>
            element.
          content:
            text/xml:
              schema:
                type: string
                contentMediaType: text/xml
                description: OAI-PMH 2.0 response document.
              examples:
                identify:
                  summary: Identify response observed 2026-09-01
                  externalValue: ../examples/university-of-reading-centaur-oai-pmh-identify-example.yml