Edinburgh DataShare OAI-PMH

OAI-PMH 2.0 metadata harvesting endpoint for Edinburgh DataShare. Fully anonymous, no key, twelve metadata prefixes including the UK research formats rioxx and uketd_dc. Records carry DataCite DOIs under prefix 10.7488/ds. Earliest datestamp 2008-01-29. This is the most open machine-readable surface the institution operates.

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/datashare-oai"
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 email required.

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

OpenAPI Specification

university-of-edinburgh-datashare-oai-pmh-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Edinburgh DataShare OAI-PMH
  description: >-
    OAI-PMH 2.0 metadata harvesting endpoint operated by the University of
    Edinburgh for Edinburgh DataShare. Probed live on 2026-08-19: verb=Identify returned
    200 with repositoryName "Datashare", protocolVersion 2.0, adminEmail
    data-library-team@mlist.is.ed.ac.uk and earliestDatestamp 2008-01-29T13:47:07Z. verb=ListMetadataFormats
    returned twelve prefixes including oai_dc, qdc, mods, mets, rioxx and
    uketd_dc. Records carry DataCite DOIs under the University of Edinburgh
    prefix 10.7488.

    OAI-PMH is a protocol, not a REST API; this document describes the single
    HTTP entry point and its verb parameter so the endpoint is machine-callable
    from a standard client. Responses are XML.
  version: "2.0"
  contact:
    name: Datashare
    url: https://datashare.ed.ac.uk/
    email: data-library-team@mlist.is.ed.ac.uk
  x-operator: institution
  x-operator-evidence: "host datashare.ed.ac.uk is under ed.ac.uk, Domain Owner: University of Edinburgh (Nominet whois)"
  x-provenance:
    method: probed
    generated: '2026-08-19'
    source: https://datashare.ed.ac.uk/server/oai/request?verb=Identify
servers:
- url: https://datashare.ed.ac.uk/server/oai
  description: Canonical baseURL as self-reported by the Identify response (probed 200)
tags:
- name: OAI-PMH
  description: OAI-PMH 2.0 metadata harvesting for Edinburgh DataShare
paths:
  /request:
    get:
      tags: [OAI-PMH]
      operationId: oaiRequest
      summary: OAI-PMH request entry point
      description: >-
        Single OAI-PMH entry point. The verb parameter selects the operation.
        Identify, ListMetadataFormats, ListSets, ListIdentifiers, ListRecords and
        GetRecord were all reachable anonymously when probed.
      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 (observed prefixes on this endpoint)
        schema:
          type: string
          enum: [oai_dc, qdc, dim, mods, mets, ore, didl, xoai, rioxx, uketd_dc, rdf, marc]
      - name: identifier
        in: query
        required: false
        description: OAI identifier, required for GetRecord
        schema: {type: string}
      - name: set
        in: query
        required: false
        description: Set spec to restrict a harvest
        schema: {type: string}
      - name: from
        in: query
        required: false
        description: Selective-harvest lower bound (granularity YYYY-MM-DDThh:mm:ssZ)
        schema: {type: string}
      - name: until
        in: query
        required: false
        description: Selective-harvest upper bound
        schema: {type: string}
      - name: resumptionToken
        in: query
        required: false
        description: Flow-control token from a previous incomplete list response
        schema: {type: string}
      responses:
        '200':
          description: >-
            OAI-PMH XML response (observed). Protocol-level failures are also
            returned with HTTP 200 and an <error> element carrying an OAI error code.
          content:
            text/xml:
              schema:
                type: string
                description: OAI-PMH 2.0 XML document