ETH Zurich – Swiss Federal Institute of Technology collections API

The collections API from ETH Zurich – Swiss Federal Institute of Technology — 3 operation(s) for collections.

Operations 3

GET /collections Retrieve a list of collections. #
GET /collections/{collection_id} Retrieve a single collection by using the internal DSpace collection identifier. #
GET /collections/{collection_id}/items Retrieve a list of items in a collection by using the internal DSpace collection identifier. #

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/eth-zurich-collections-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

eth-zurich-collections-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Discovery bitstreams Collections API
  description: "The Discovery REST API provides access to over 30 million books, images, series, journals, and other materials from the ETH Library's Discovery Portal. \n\n➜ [OAS 3 Swagger Documentation](https://eth-library.github.io/apiplatform-swagger/discovery/v1/)\n\n➜ [ETH Library @ swisscovery Application](https://eth.swisscovery.slsp.ch/)"
  version: 1.0.2
  termsOfService: https://developer.library.ethz.ch/terms
  contact:
    name: API Management ETH Library
    email: api@library.ethz.ch
    url: https://library.ethz.ch
  license:
    url: https://developer.library.ethz.ch/terms
    name: Bibliographic metadata that are not specifically marked are free for general use (Public Domain). Documents, images or other digital objects linked in metadata may be subject to other copyright restrictions. Whenever possible, the licence of the referenced digital objects is indicated in the metadata. In case of doubt, the licence can be inquired at api@library.ethz.ch.
servers:
- url: https://api.library.ethz.ch/discovery/v1/
  description: Production
security:
- ApiKeyAuth: []
tags:
- name: collections
paths:
  /collections:
    get:
      tags:
      - collections
      summary: Retrieve a list of collections.
      description: Retrieve a list of collections.
      operationId: getCollections
      parameters:
      - name: expand
        in: query
        description: Show additional data for the collection.
        style: form
        explode: true
        schema:
          type: string
          items:
            type: string
          enum:
          - all
          - items
          - parentCommunity
          - parentCommunityList
          - license
          - logo
      - name: limit
        in: query
        description: The maximum amount of collections shown.
        schema:
          type: integer
          format: int32
      - name: offset
        in: query
        description: The amount of collections to skip.
        schema:
          type: integer
          format: int32
      - name: userIP
        in: query
        schema:
          type: string
      - name: userAgent
        in: query
        schema:
          type: string
      - name: xforwardedfor
        in: query
        schema:
          type: string
      responses:
        200:
          description: successful operation
  /collections/{collection_id}:
    get:
      tags:
      - collections
      summary: Retrieve a single collection by using the internal DSpace collection identifier.
      description: Retrieve a single collection by using the internal DSpace collection identifier.
      operationId: getCollection
      parameters:
      - name: collection_id
        in: path
        description: The identifier of the collection.
        required: true
        schema:
          type: integer
          format: int32
      - name: expand
        in: query
        description: Show additional data for the collection.
        style: form
        explode: true
        schema:
          type: string
          items:
            type: string
          enum:
          - all
          - items
          - parentCommunity
          - parentCommunityList
          - license
          - logo
      - name: limit
        in: query
        description: The maximum amount of collections shown.
        schema:
          type: integer
          format: int32
      - name: offset
        in: query
        description: The amount of collections to skip.
        schema:
          type: integer
          format: int32
      - name: userIP
        in: query
        schema:
          type: string
      - name: userAgent
        in: query
        schema:
          type: string
      - name: xforwardedfor
        in: query
        schema:
          type: string
      responses:
        200:
          description: successful operation
  /collections/{collection_id}/items:
    get:
      tags:
      - collections
      summary: Retrieve a list of items in a collection by using the internal DSpace collection identifier.
      description: Retrieve a list of items in a collection by using the internal DSpace collection identifier.
      operationId: getCollectionItems
      parameters:
      - name: collection_id
        in: path
        description: The identifier of the collection.
        required: true
        schema:
          type: integer
          format: int32
      - name: expand
        in: query
        description: Show additional data for the items.
        style: form
        explode: true
        schema:
          type: string
          items:
            type: string
          enum:
          - all
          - metadata
          - parentCollection
          - parentCollectionList
          - parentCommunityList
          - bitstreams
      - name: limit
        in: query
        description: The maximum amount of items shown.
        schema:
          type: integer
          format: int32
      - name: offset
        in: query
        description: The amount of items to skip.
        schema:
          type: integer
          format: int32
      - name: userIP
        in: query
        schema:
          type: string
      - name: userAgent
        in: query
        schema:
          type: string
      - name: xforwardedfor
        in: query
        schema:
          type: string
      responses:
        200:
          description: successful operation
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: query
      name: apikey
externalDocs:
  description: OAS 3 Swagger Documentation
  url: https://apidocs.library.ethz.ch/discovery/v1/