Zenodo Vocabularies API
Vocabulary and controlled terms endpoints
Vocabulary and controlled terms endpoints
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/zenodo-vocabularies-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Zenodo REST Access Vocabularies API
description: 'REST API for Zenodo, the free open research data repository operated by CERN and built on InvenioRDM. Provides programmatic access to deposits (draft records), published records, file management, communities, vocabularies, OAI-PMH sets, requests, users, groups, statistics, and audit logs. Every published record receives a DOI for persistent citation. Authenticate with a personal access token passed as a Bearer token.
'
version: 12.0.0
contact:
name: Zenodo Developer Documentation
url: https://developers.zenodo.org/
license:
name: MIT License
url: https://opensource.org/licenses/MIT
x-upstream-spec: https://github.com/inveniosoftware/invenio-openapi
servers:
- url: https://zenodo.org
description: Zenodo production instance
- url: https://sandbox.zenodo.org
description: Zenodo sandbox (testing)
security:
- BearerAuth: []
tags:
- name: Vocabularies
description: Vocabulary and controlled terms endpoints
paths:
/api/vocabularies/{vocabularies-type}:
get:
summary: Search vocabularies by type
tags:
- Vocabularies
operationId: searchVocabularies
parameters:
- name: vocabularies-type
in: path
required: true
schema:
type: string
description: Vocabulary type e.g. resourcetypes, languages, licenses, relationtypes
- name: q
in: query
required: false
schema:
type: string
- name: suggest
in: query
required: false
schema:
type: string
- name: size
in: query
required: false
schema:
type: string
- name: page
in: query
required: false
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Success'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/api/vocabularies/{vocabularies-type}/{vocabulariesId}:
get:
summary: Get vocabulary record by ID
tags:
- Vocabularies
operationId: getVocabularyRecordById
parameters:
- name: vocabularies-type
in: path
required: true
schema:
type: string
- name: vocabulariesId
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Success'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/api/funders:
get:
summary: Search funders vocabulary
tags:
- Vocabularies
operationId: searchFunders
parameters:
- name: q
in: query
required: false
schema:
type: string
- name: suggest
in: query
required: false
schema:
type: string
- name: size
in: query
required: false
schema:
type: string
- name: page
in: query
required: false
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Success'
'500':
$ref: '#/components/responses/InternalServerError'
/api/funders/{vocFundersId}:
get:
summary: Get funder by ID
tags:
- Vocabularies
operationId: getFunderById
parameters:
- name: vocFundersId
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Success'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/api/awards:
get:
summary: Search awards vocabulary
tags:
- Vocabularies
operationId: searchAwards
parameters:
- name: q
in: query
required: false
schema:
type: string
- name: suggest
in: query
required: false
schema:
type: string
- name: size
in: query
required: false
schema:
type: string
- name: page
in: query
required: false
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Success'
'500':
$ref: '#/components/responses/InternalServerError'
/api/awards/{vocAwardsId}:
get:
summary: Get award by ID
tags:
- Vocabularies
operationId: getAwardById
parameters:
- name: vocAwardsId
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Success'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/api/names:
get:
summary: Search names vocabulary
tags:
- Vocabularies
operationId: searchNames
parameters:
- name: q
in: query
required: false
schema:
type: string
- name: suggest
in: query
required: false
schema:
type: string
- name: size
in: query
required: false
schema:
type: string
- name: page
in: query
required: false
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Success'
'500':
$ref: '#/components/responses/InternalServerError'
/api/names/{vocNamesId}:
get:
summary: Get name vocabulary entry by ID
tags:
- Vocabularies
operationId: getNameById
parameters:
- name: vocNamesId
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Success'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/api/affiliations:
get:
summary: Search affiliations vocabulary
tags:
- Vocabularies
operationId: searchAffiliations
parameters: []
responses:
'200':
$ref: '#/components/responses/Success'
'500':
$ref: '#/components/responses/InternalServerError'
/api/affiliations/{vocAffiliationId}:
get:
summary: Get affiliation by ID
tags:
- Vocabularies
operationId: getAffiliationById
parameters:
- name: vocAffiliationId
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Success'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/api/subjects:
get:
summary: Search subjects vocabulary
tags:
- Vocabularies
operationId: searchSubjects
parameters:
- name: suggest
in: query
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Success'
'500':
$ref: '#/components/responses/InternalServerError'
/api/subjects/{vocSubjectsId}:
get:
summary: Get subject by ID
tags:
- Vocabularies
operationId: getSubjectById
parameters:
- name: vocSubjectsId
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Success'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
components:
responses:
NotFound:
description: Not found - resource does not exist
InternalServerError:
description: Internal server error
Success:
description: Successful response
content:
application/json:
schema:
type: object
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: Personal access token issued from the Zenodo account settings