Lancaster EPrints OAI-PMH 2.0 Interface

The one unambiguous, institution-operated public API Lancaster runs. A single HTTP endpoint that dispatches on the OAI-PMH `verb` parameter and returns OAI-PMH 2.0 XML envelopes for the Lancaster EPrints institutional repository. Unauthenticated, no registration, full set hierarchy, working flow control, and seven metadata formats — didl, mets, oai_bibl, oai_dc, rdf, rioxx and uketd_dc. Note the licensing gap: the repository's own Identify response says "No metadata policy defined... if in doubt assume that NO rights at all are granted to this data", so harvesting is technically open and legally undeclared.

Operations 1

GET /oai2 OAI-PMH request dispatch #

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/lancaster-oai2-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

lancaster-oai2-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Lancaster EPrints OAI-PMH 2.0 Interface Oai2 API
  description: OpenAPI 3.0 description of the live OAI-PMH 2.0 metadata harvesting interface exposed by the Lancaster EPrints institutional repository (EPrints 3.4.5). The interface is a single HTTP endpoint that dispatches on the required "verb" query parameter and returns OAI-PMH XML envelopes. This description was derived by probing the live endpoint; only verbs, parameters, metadata formats, and response objects observed in production are represented.
  version: '2.0'
  contact:
    name: Lancaster University Library (DIT)
    email: library.dit@lancaster.ac.uk
  license:
    name: OAI-PMH 2.0
    url: http://www.openarchives.org/OAI/openarchivesprotocol.html
servers:
- url: https://eprints.lancs.ac.uk/cgi
  description: Lancaster EPrints OAI-PMH base
tags:
- name: Oai2
paths:
  /oai2:
    get:
      operationId: oaiRequest
      summary: OAI-PMH request dispatch
      description: Single OAI-PMH endpoint. The "verb" parameter selects the operation. Responses are OAI-PMH XML envelopes (Content-Type text/xml). Parameter applicability depends on the verb per the OAI-PMH 2.0 specification.
      parameters:
      - name: verb
        in: query
        required: true
        description: The OAI-PMH verb to execute.
        schema:
          type: string
          enum:
          - Identify
          - ListMetadataFormats
          - ListSets
          - ListIdentifiers
          - ListRecords
          - GetRecord
      - name: metadataPrefix
        in: query
        required: false
        description: Metadata format to disseminate. Required for ListRecords, ListIdentifiers, and GetRecord (unless a resumptionToken is used). Observed supported formats on this repository.
        schema:
          type: string
          enum:
          - didl
          - mets
          - oai_bibl
          - oai_dc
          - rdf
          - rioxx
          - uketd_dc
      - name: identifier
        in: query
        required: false
        description: OAI item identifier, e.g. oai:eprints.lancs.ac.uk:10175. Required for GetRecord.
        schema:
          type: string
          example: oai:eprints.lancs.ac.uk:9
      - name: set
        in: query
        required: false
        description: Set spec to selectively harvest a subset of records.
        schema:
          type: string
      - name: from
        in: query
        required: false
        description: Lower bound (inclusive) for selective harvesting by datestamp. Granularity YYYY-MM-DDThh:mm:ssZ.
        schema:
          type: string
          format: date-time
      - name: until
        in: query
        required: false
        description: Upper bound (inclusive) for selective harvesting by datestamp. Granularity YYYY-MM-DDThh:mm:ssZ.
        schema:
          type: string
          format: date-time
      - name: resumptionToken
        in: query
        required: false
        description: Flow-control token returned in an incomplete list response; used to request the next page. Exclusive of other selective arguments.
        schema:
          type: string
      responses:
        '200':
          description: OAI-PMH XML envelope (success or OAI error element).
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/OAIPMHResponse'
      tags:
      - Oai2
components:
  schemas:
    OAIPMHResponse:
      type: object
      description: Root OAI-PMH XML envelope. Carries responseDate, the echoed request, and exactly one verb-specific payload or an error element. Modeled structurally here since the wire format is XML.
      properties:
        responseDate:
          type: string
          format: date-time
        request:
          type: string
          description: Echoed base URL with the request attributes (verb, etc.).
      required:
      - responseDate
      - request
externalDocs:
  description: OAI-PMH Identify response (live)
  url: https://eprints.lancs.ac.uk/cgi/oai2?verb=Identify