University of Cape Town collections API

Public collections

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/university-of-cape-town-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 email required.

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

OpenAPI Specification

university-of-cape-town-collections-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: DataFirst Microdata Catalog API (NADA) articles collections API
  description: DataFirst is a University of Cape Town research unit and data service providing online access to survey and administrative microdata from South Africa and other African countries. Its open data portal is built on the NADA (National Data Archive) cataloging tool, which exposes a public, unauthenticated REST/JSON API for browsing the catalog of studies. This OpenAPI description was reverse-engineered from confirmed live responses of the public catalog endpoint (verified returning survey metadata in JSON). Only paths and response fields actually observed in live responses are documented here.
  version: '1.0'
  contact:
    name: DataFirst
    url: https://www.datafirst.uct.ac.za/
servers:
- url: https://www.datafirst.uct.ac.za/dataportal/index.php/api
  description: DataFirst NADA public catalog API
tags:
- name: collections
  description: Public collections
paths:
  /collections:
    get:
      tags:
      - collections
      summary: List public collections
      operationId: listCollections
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/pageSize'
      - name: institution
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: A list of public collections.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Collection'
  /collections/{collection_id}:
    get:
      tags:
      - collections
      summary: Get a public collection
      operationId: getCollection
      parameters:
      - name: collection_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: The requested collection.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    Collection:
      type: object
      required:
      - id
      - title
      - doi
      - handle
      - url
      - timeline
      properties:
        id:
          type: integer
          example: 123
        title:
          type: string
          example: Sample collection
        doi:
          type: string
          example: 10.6084/m9.figshare.123
        handle:
          type: string
        url:
          type: string
          format: uri
          example: https://api.figshare.com/v2/collections/123
        timeline:
          $ref: '#/components/schemas/Timeline'
    Timeline:
      type: object
      description: Publishing timeline for an item.
      properties:
        posted:
          type: string
          description: Date the item was posted.
          example: '2026-06-04T02:59:32'
        firstOnline:
          type: string
          description: Date the item first went online.
        revision:
          type: string
          description: Date of the last revision.
    ErrorMessage:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code.
        message:
          type: string
          description: Human-readable error message.
  responses:
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
  parameters:
    pageSize:
      name: page_size
      in: query
      description: Number of results per page.
      schema:
        type: integer
        minimum: 1
        maximum: 1000
    page:
      name: page
      in: query
      description: Page number for pagination.
      schema:
        type: integer
        minimum: 1