UR Research OAI-PMH Interface

OAI-PMH 2.0 metadata harvesting interface for UR Research, the University of Rochester's legacy institutional repository, served from the university's own domain and running IR+ — repository software written and open-sourced under Apache 2.0 by the River Campus Libraries. Verified live on 2026-08-30: repositoryName "UR Research", earliestDatestamp 2003-07-17T19:40:11Z, three metadata formats (oai_dc, dcterms, marc21), hierarchical collection sets, and spec-correct badVerb error handling. This is one of the few genuinely institution-engineered API surfaces in this cohort.

Operations 1

GET /oai2 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/urresearch-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-rochester-urresearch-oai-pmh-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: UR Research OAI-PMH Interface
  version: '2.0'
  x-generated: '2026-08-30'
  x-method: derived
  x-source: >-
    Derived from live probes of https://urresearch.rochester.edu/oai2 on 2026-08-30
    (verbs Identify, ListMetadataFormats, ListSets, ListIdentifiers, ListRecords,
    GetRecord, and a badVerb error case), read against OAI-PMH 2.0. Not published
    by the University of Rochester; API Evangelist authored this description of
    their live endpoint.
  x-operator: institution
  description: >-
    OAI-PMH 2.0 metadata harvesting interface for UR Research, the University of
    Rochester's institutional repository. The repository runs on IR+, repository
    software the University of Rochester's River Campus Libraries wrote and
    released under Apache 2.0 (github.com/rochester-rcl/irplus), and the endpoint
    is served from the university's own domain — this is an
    institution-operated surface, not a vendor's contract running under the
    university's name.

    Identify reports repositoryName "UR Research", adminEmail
    stephen.alexander@rochester.edu, earliestDatestamp 2003-07-17T19:40:11Z,
    deletedRecord "persistent" and granularity YYYY-MM-DDThh:mm:ssZ. Three
    metadata formats are offered: oai_dc, dcterms and marc21. Records are
    organised into hierarchical sets keyed by collection (for example
    "43" Chemical Engineering Department, "38:185" Chemistry Ph.D. Theses).

    NOTE ON THE OLD POINTER: the previously catalogued base URL
    https://urresearch.rochester.edu/oai/request returns HTTP 200 with an
    "Unknown Action" HTML page — a soft 404. /oai2 is the working endpoint.
  contact:
    name: UR Research Repository Administrator
    email: stephen.alexander@rochester.edu
    url: https://urresearch.rochester.edu/
  license:
    name: Apache License 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://urresearch.rochester.edu
  description: UR Research institutional repository (University of Rochester)
tags:
- name: oai-pmh
  description: OAI-PMH 2.0 metadata harvesting verbs
paths:
  /oai2:
    get:
      tags: [oai-pmh]
      operationId: oaiPmhRequest
      summary: OAI-PMH 2.0 request
      description: >-
        Single OAI-PMH 2.0 entry point. The `verb` parameter selects the
        operation. Protocol-level failures are returned as HTTP 200 with an
        <error code="..."> element in the OAI-PMH envelope, per the
        specification — status code alone does not indicate success.
      parameters:
      - name: verb
        in: query
        required: true
        description: OAI-PMH verb.
        schema:
          type: string
          enum: [Identify, ListMetadataFormats, ListSets, ListIdentifiers, ListRecords, GetRecord]
      - name: metadataPrefix
        in: query
        required: false
        description: Metadata format. Required for ListIdentifiers, ListRecords and GetRecord.
        schema:
          type: string
          enum: [oai_dc, dcterms, marc21]
      - name: identifier
        in: query
        required: false
        description: OAI identifier of a single record, e.g. oai:urresearch.rochester.edu:1. Required for GetRecord.
        schema:
          type: string
          examples: ['oai:urresearch.rochester.edu:1']
      - name: set
        in: query
        required: false
        description: Set spec to restrict a selective harvest, e.g. "43" or "38:185".
        schema:
          type: string
      - name: from
        in: query
        required: false
        description: Lower bound of the datestamp range, granularity YYYY-MM-DDThh:mm:ssZ.
        schema:
          type: string
          format: date-time
      - name: until
        in: query
        required: false
        description: Upper bound of the datestamp range, granularity YYYY-MM-DDThh:mm:ssZ.
        schema:
          type: string
          format: date-time
      - name: resumptionToken
        in: query
        required: false
        description: Flow-control token returned by an incomplete list response. Exclusive of all other arguments except verb.
        schema:
          type: string
      responses:
        '200':
          description: >-
            OAI-PMH envelope. Carries either the verb's payload element or an
            <error> element; observed error codes include badVerb.
          content:
            text/xml:
              schema:
                type: string
                description: OAI-PMH 2.0 XML envelope, http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd