MyAgric — Malaysian Agricultural Repository OAI-PMH 2.0

OAI-PMH 2.0 metadata harvesting for MyAgric, the Malaysian Agricultural Repository, a national-scope agricultural collection UPM hosts and operates on a second EPrints 3.3.16 deployment. Identify, ListIdentifiers and GetRecord verified live on 2026-09-01. Earliest datestamp 2017-07-04. An EPrints REST interface is present on this host as well.

Operations 1

GET /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/myagric-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

upm-myagric-oai-pmh-openapi.yml Raw ↑
# DERIVED CONTRACT — Universiti Putra Malaysia does not publish an OpenAPI definition.
# Written by API Evangelist from live, unauthenticated probes on 2026-09-01 and from the
# OAI-PMH 2.0 specification the endpoint declares. `method: derived`. Not authored by UPM.
openapi: 3.1.0
info:
  title: UPM MyAgric (Malaysian Agricultural Repository) — OAI-PMH 2.0
  version: '2.0'
  summary: Metadata harvesting interface for MyAgric, the Malaysian Agricultural Repository operated by UPM.
  description: >-
    OAI-PMH 2.0 metadata-harvesting interface for MyAgric, the Malaysian Agricultural Repository,
    running EPrints 3.3.16 on Universiti Putra Malaysia's own campus network
    (myagric.upm.edu.my resolves to 119.40.117.127 in UPMNET, "Universiti Putra Malaysia Campus
    Network"). The repository declares repositoryName "Malaysian Agricultural Repository",
    repositoryIdentifier myagric.upm.edu.my, adminEmail muizzudin@upm.edu.my — the same
    administrator as PSASIR — and an earliestDatestamp of 2017-07-04. This is a national-scope
    agricultural collection that UPM hosts and operates; it is a second, distinct
    institution-operated harvesting surface, not a duplicate of PSASIR.
  contact:
    name: MyAgric repository administrator
    email: muizzudin@upm.edu.my
    url: http://myagric.upm.edu.my/
  x-operator: institution
  x-operator-basis: >-
    Host is under upm.edu.my and resolves into UPMNET (org-name UNIVERSITI PUTRA MALAYSIA). EPrints
    is open-source software UPM self-hosts, not a vendor tenancy; no vendor identity appears in
    servers[], info.title or info.contact.
  x-provenance:
    generated: '2026-09-01'
    method: derived
    source: >-
      Live probes of http://myagric.upm.edu.my/cgi/oai2 (Identify 200, ListIdentifiers 200,
      GetRecord 200) and http://myagric.upm.edu.my/rest/eprint/1.xml (200) on 2026-09-01,
      read against https://www.openarchives.org/OAI/openarchivesprotocol.html
servers:
  - url: http://myagric.upm.edu.my/cgi
    description: MyAgric EPrints CGI root (HTTP only — the host does not serve HTTPS)
tags:
  - name: OAI-PMH
    description: OAI-PMH 2.0 harvesting verbs.
paths:
  /oai2:
    get:
      tags: [OAI-PMH]
      operationId: oaiRequest
      summary: Issue an OAI-PMH 2.0 request
      description: >-
        Single-endpoint OAI-PMH interface. All responses are `text/xml` with HTTP 200; protocol
        failures are carried as an `<error code="...">` element inside the envelope.
      parameters:
        - name: verb
          in: query
          required: true
          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, examples: [oai_dc] }
        - name: identifier
          in: query
          required: false
          description: OAI identifier of a single item. Required for GetRecord.
          schema: { type: string, examples: ['oai:myagric.upm.edu.my:1'] }
        - name: from
          in: query
          required: false
          schema: { type: string, format: date-time }
        - name: until
          in: query
          required: false
          schema: { type: string, format: date-time }
        - name: set
          in: query
          required: false
          schema: { type: string }
        - name: resumptionToken
          in: query
          required: false
          description: Flow-control token; observed page size is 100 records.
          schema: { type: string }
      responses:
        '200':
          description: OAI-PMH envelope, success or protocol error.
          content:
            text/xml:
              schema:
                type: string
                contentMediaType: text/xml
              examples:
                identify:
                  summary: Identify (observed 2026-09-01)
                  externalValue: ../examples/upm-myagric-oai-identify.xml
                getRecord:
                  summary: GetRecord oai:myagric.upm.edu.my:1 (observed 2026-09-01)
                  externalValue: ../examples/upm-myagric-oai-getrecord.xml