Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.
openapi: 3.2.0
info:
title: CKAN API
version: '2026-10-13'
description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-13: 7 operation(s) read from 6 public documentation page(s) (each operation names its page in x-source). This is not the provider''s published contract; CKAN has published no machine-readable contract that the pipeline could find. Engine: local.'
x-evidence-tiers:
code-example: 12
documentation: -5
pages-with-code: 6
pages-read: 6
x-generated-from: documentation
x-provenance: generated
x-authored-by: API Evangelist
x-generated: '2026-10-13'
x-generator: generate-contract-from-docs.py
x-engine: local
x-sources:
- https://docs.ckan.org/en/2.12/api/index.html
- https://docs.ckan.org/en/2.12/api/legacy-api.html
- https://docs.ckan.org/en/2.12/maintaining/filestore.html
- https://docs.ckan.org/en/2.12/maintaining/datastore.html
- https://docs.ckan.org/en/2.12/extensions/remote-config-update.html
- https://docs.ckan.org/en/2.12/contributing/test.html
servers:
- url: http://demo.ckan.org
security:
- apiKey: []
tags:
- name: CKAN API
paths:
/:
get:
operationId: get
tags:
- CKAN API
summary: GET /
x-source: https://docs.ckan.org/en/2.12/api/index.html
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl https : // demo . ckan . org / api / 3 / action / group_list \n Alternatively, for Python users, we recommend using the ckanapi \nlibrary which provides a simpler and more robust way to interact with CKAN APIs.\nTo install it, run: \n pip install ckanapi \n Then you can make the same API call with just a few lines of Python code: \n from ckanapi import RemoteCKAN \n ckan = RemoteCKAN ( 'https://demo"
components:
schemas:
GetResponse:
type: object
properties:
help:
type: string
success:
type: boolean
result:
type: array
items:
type: string
securitySchemes:
apiKey:
type: apiKey
in: header
name: Authorization