KU Leuven Curriculum API

Academic curriculum and CV information, including ORCID identifiers.

Operations 2

GET /cv/_search Search the Dutch-language curriculum index #
GET /cv-en/_search Search the English-language curriculum index #

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/ku-leuven-curriculum-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

ku-leuven-curriculum-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: KU Leuven ICTS Data Services Curriculum API
  description: Institution-operated read API for KU Leuven's public reference data, run by KU Leuven ICTS and documented at https://admin.kuleuven.be/icts/services/dataservices. The gateway at dataservice.kuleuven.be exposes an OpenSearch/Elasticsearch query surface over eight public indices — staff directory (wie-is-wie), academic CVs, organisational chart, educational offering (programme guide), research projects, research teams, research infrastructure and job vacancies — each published in a Dutch and an English index. Reads are unauthenticated and were confirmed live on 2026-08-19; the underlying data is governed by the KU Leuven Data Service terms of use.
  version: '2026-08-19'
  contact:
    name: KU Leuven ICTS Data Services
    url: https://admin.kuleuven.be/icts/services/dataservices/data-service-vraag
  termsOfService: https://admin.kuleuven.be/icts/services/dataservices/gebruiksvoorwaarden.html
  x-operator: institution
  x-provenance:
    generated: '2026-08-19'
    method: derived
    source: Derived from KU Leuven ICTS Data Services documentation pages (admin.kuleuven.be/icts/services/dataservices/*) and confirmed against live unauthenticated responses from https://dataservice.kuleuven.be on 2026-08-19. No endpoint, parameter or field appears here that is not documented by KU Leuven or observed in a live response.
servers:
- url: https://dataservice.kuleuven.be
  description: KU Leuven ICTS Data Services production query gateway
tags:
- name: Curriculum
  description: Academic curriculum and CV information, including ORCID identifiers.
paths:
  /cv/_search:
    get:
      summary: Search the Dutch-language curriculum index
      operationId: cv_search_get
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchRequest'
      responses:
        '200':
          description: Search hits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResponse'
      tags:
      - Curriculum
      x-verified: '2026-08-19'
  /cv-en/_search:
    get:
      summary: Search the English-language curriculum index
      operationId: cv_en_search_get
      responses:
        '200':
          description: Search hits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResponse'
      tags:
      - Curriculum
components:
  schemas:
    SearchRequest:
      type: object
      description: OpenSearch query document as documented by KU Leuven ICTS.
      properties:
        query:
          type: object
          description: Query clause, e.g. `match_all` or `query_string`.
        aggs:
          type: object
          description: Aggregations, previously described by ICTS as filters or facets.
        _source:
          type: array
          description: Field list to return (ICTS documents this as returnFields).
          items:
            type: string
        from:
          type: integer
          description: Start position for pagination.
        size:
          type: integer
          description: Number of hits to return. Default 10.
          default: 10
    SearchResponse:
      type: object
      description: Standard OpenSearch search response envelope, as returned live on 2026-08-19.
      properties:
        took:
          type: integer
        timed_out:
          type: boolean
        _shards:
          type: object
          properties:
            total:
              type: integer
            successful:
              type: integer
            skipped:
              type: integer
            failed:
              type: integer
        hits:
          type: object
          properties:
            total:
              type: object
              properties:
                value:
                  type: integer
                relation:
                  type: string
                  enum:
                  - eq
                  - gte
            max_score:
              type:
              - number
              - 'null'
            hits:
              type: array
              items:
                $ref: '#/components/schemas/Hit'
        aggregations:
          type: object
          description: Present when the request supplied `aggs`.
    Hit:
      type: object
      properties:
        _index:
          type: string
          description: Physical index name. Snapshot indices carry a build timestamp, e.g. `employee_2026-07-08_12h33m04s211`, which reveals the refresh date of the data.
        _id:
          type: string
        _score:
          type:
          - number
          - 'null'
        _source:
          type: object
          description: The document. Field sets differ per index.