Skip to content

CKAN-Compatible API

KUKAN provides endpoints compatible with the CKAN Action API v3. Existing CKAN client tools (such as ckanapi) and code written for CKAN can access KUKAN directly.

Base path: /api/3/action

All CKAN-compatible endpoints return responses in the following format.

{
"help": "https://docs.ckan.org/...",
"success": true,
"result": { ... }
}
{
"help": "https://docs.ckan.org/...",
"success": false,
"error": {
"__type": "Not Found Error",
"message": "Not found"
}
}

All are public (no authentication) and use the GET method.

PathDescription
/api/3/action/package_listList of dataset names
/api/3/action/package_show?id={nameOrId}Dataset details (CKAN field names)
/api/3/action/package_search?q={query}Dataset search
/api/3/action/resource_show?id={id}Resource details (CKAN field names)
/api/3/action/organization_listList of organization names
/api/3/action/organization_show?id={nameOrId}Organization details
/api/3/action/group_listList of category names
/api/3/action/group_show?id={nameOrId}Category details
/api/3/action/tag_listList of tag names
/api/3/action/tag_show?id={id}Tag details
/api/3/action/license_listList of available licenses

KUKAN uses camelCase fields internally, but the CKAN-compatible API converts them to CKAN's snake_case conventions.

KUKAN (REST)CKAN
createdmetadata_created
updatedmetadata_modified
creatorUserIdcreator_user_id
ownerOrgowner_org
licenseIdlicense_id
KUKAN (REST)CKAN
updatedmetadata_modified
lastModifiedlast_modified
packageIdpackage_id
resourceTyperesource_type
from ckanapi import RemoteCKAN
ckan = RemoteCKAN('https://your-kukan-site')
packages = ckan.action.package_search(q='population', rows=10)
for pkg in packages['results']:
print(pkg['name'], pkg['title'])
Terminal window
# Search datasets
curl "https://your-kukan-site/api/3/action/package_search?q=population&rows=10"
# Get dataset details
curl "https://your-kukan-site/api/3/action/package_show?id=population-stats-2024"
  • Read-only (GET only). CKAN write endpoints are not provided
  • Use the REST API (/api/v1/*) to create or edit datasets
  • Not all CKAN fields are reproduced. Check the actual responses for specifics