Peking University Items API

Individual repository records — articles, theses, patents — and their metadata and bitstreams.

Operations 5

GET /collections/{collectionId}/items List the items in a collection #
GET /items List items #
GET /items/{itemId}/metadata Get the Dublin Core metadata of an item #
GET /items/{itemId}/bitstreams List the files attached to an item #
GET /handle/{prefix}/{suffix} Resolve a Handle to the object it identifies #

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/peking-items-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

peking-items-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Peking University Institutional Repository REST Items API
  description: 'Read-only HTTP/JSON API for the Institutional Repository of Peking University (北京大学机构知识库), operated by the PKU Library at ir.pku.edu.cn on Peking University''s own domain. The deployment runs DSpace repository software, but the service, the host, the handle prefix (20.500.11897) and the record set are the institution''s, and the payloads carry PKU-specific extensions (claim, award4pku, taglist, deptid, deptname) that are not present in stock DSpace — this is an institution-operated deployment, not a hosted vendor tenancy.

    Every path and response shape in this document was captured from live, unauthenticated probes on 2026-08-19. Paths that did not answer are not included.'
  version: '1.0'
  contact:
    name: PKU Institutional Repository
    email: pkuir@lib.pku.edu.cn
    url: https://ir.pku.edu.cn/
  x-operator: institution
  x-operator-evidence: Host ir.pku.edu.cn is under Peking University's own registrable domain pku.edu.cn; OAI-PMH Identify names the repository "Institutional Repository of Peking University" with adminEmail pkuir@lib.pku.edu.cn.
  x-generated: '2026-08-19'
  x-method: probed
  x-source: https://ir.pku.edu.cn/rest/status
servers:
- url: https://ir.pku.edu.cn/rest
  description: Production repository REST API (no authentication required for read paths)
tags:
- name: Items
  description: Individual repository records — articles, theses, patents — and their metadata and bitstreams.
paths:
  /collections/{collectionId}/items:
    get:
      tags:
      - Items
      summary: List the items in a collection
      operationId: listCollectionItems
      parameters:
      - name: collectionId
        in: path
        required: true
        schema:
          type: integer
        example: 138
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Expand'
      responses:
        '200':
          description: Array of items
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Item'
  /items:
    get:
      tags:
      - Items
      summary: List items
      operationId: listItems
      parameters:
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Expand'
      responses:
        '200':
          description: Array of items
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Item'
              examples:
                live:
                  externalValue: ../examples/peking-ir-rest-items-response.json
  /items/{itemId}/metadata:
    get:
      tags:
      - Items
      summary: Get the Dublin Core metadata of an item
      description: Returns the item's flat Dublin Core key/value/language triples. Verified 200 on 2026-08-19 for item 3.
      operationId: getItemMetadata
      parameters:
      - name: itemId
        in: path
        required: true
        schema:
          type: integer
        example: 3
      responses:
        '200':
          description: Array of metadata entries
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MetadataEntry'
  /items/{itemId}/bitstreams:
    get:
      tags:
      - Items
      summary: List the files attached to an item
      operationId: getItemBitstreams
      parameters:
      - name: itemId
        in: path
        required: true
        schema:
          type: integer
        example: 3
      responses:
        '200':
          description: Array of bitstreams
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Bitstream'
  /handle/{prefix}/{suffix}:
    get:
      tags:
      - Items
      summary: Resolve a Handle to the object it identifies
      description: Resolves a Handle.Net identifier under the repository's own prefix 20.500.11897 to the community, collection or item it names. Verified 200 on 2026-08-19 for handle 20.500.11897/69.
      operationId: resolveHandle
      parameters:
      - name: prefix
        in: path
        required: true
        schema:
          type: string
        example: 20.500.11897
      - name: suffix
        in: path
        required: true
        schema:
          type: string
        example: '69'
      responses:
        '200':
          description: The resolved object
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/Item'
                - $ref: '#/components/schemas/Collection'
                - $ref: '#/components/schemas/Community'
components:
  parameters:
    Expand:
      name: expand
      in: query
      required: false
      description: Comma-separated list of relations to inline. Every response advertises its own legal values in the `expand` array it returns.
      schema:
        type: string
      example: metadata,bitstreams
    Offset:
      name: offset
      in: query
      required: false
      description: Number of records to skip.
      schema:
        type: integer
        default: 0
    Limit:
      name: limit
      in: query
      required: false
      description: Maximum number of records to return.
      schema:
        type: integer
        default: 100
  schemas:
    Item:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        handle:
          type: string
        type:
          type: string
          const: item
        link:
          type: string
        expand:
          type: array
          items:
            type: string
        lastModified:
          type: string
          example: '2015-09-25 09:47:29.576'
        itemID:
          type: integer
        claim:
          type:
          - string
          - 'null'
          description: PKU extension — author claim state for the record.
        award4pku:
          type:
          - string
          - 'null'
          description: PKU extension — award/recognition marker.
        claim_list:
          type:
          - array
          - 'null'
          items:
            type: object
        claim_list_size:
          type: integer
        taglist:
          type:
          - array
          - 'null'
          items:
            type: object
          description: PKU extension — local subject tags.
    Collection:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        handle:
          type: string
        type:
          type: string
          const: collection
        link:
          type: string
        expand:
          type: array
          items:
            type: string
        numberItems:
          type: integer
        license:
          type:
          - string
          - 'null'
        copyrightText:
          type: string
        introductoryText:
          type: string
        shortDescription:
          type: string
        sidebarText:
          type: string
        deptid:
          type: string
          description: PKU extension — the owning department identifier.
        deptname:
          type: string
          description: PKU extension — the owning department name.
    MetadataEntry:
      type: object
      properties:
        key:
          type: string
          example: dc.contributor.author
        value:
          type: string
        language:
          type:
          - string
          - 'null'
          example: zh_CN
    Bitstream:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        handle:
          type:
          - string
          - 'null'
        type:
          type: string
          const: bitstream
        link:
          type: string
        expand:
          type: array
          items:
            type: string
        bundleName:
          type: string
          example: ORIGINAL
        description:
          type:
          - string
          - 'null'
    Community:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        handle:
          type: string
          example: 20.500.11897/413921
        type:
          type: string
          const: community
        link:
          type: string
        expand:
          type: array
          items:
            type: string
        logo:
          type:
          - string
          - 'null'
        parentCommunity:
          type:
          - object
          - 'null'
        copyrightText:
          type: string
        introductoryText:
          type: string
        shortDescription:
          type: string
        sidebarText:
          type: string
        countItems:
          type: integer
        subcommunities:
          type: array
          items:
            type: object
        collections:
          type: array
          items:
            type: object