CKAN API Clients

Scott Chamberlain edited this page May 11, 2015 · 9 revisions
Clone this wiki locally

A list of tools and libraries for the CKAN API:


  • ckanapi: Official client for CKAN core. Simple Python wrapper around the CKAN action API. Raises exceptions on errors and works locally (from a plugin) or remote in a very similar way. Also supports use with paste.fixture.TestApp for simplified tests (e.g. ckanext-canada tests)

  • A Python function for posting to CKAN's Action API, call a function to post a Python dict to an Action API function, get the response back also as a Python dict.

  • A ckan-api-client: an improved client for the Ckan API, providing a a low-level client, a high-level client, a synchronization client and it attempts to get work around some common issues with that API

  • ckanclient: CKAN Python Client - deprecated in favour of ckanapi. Supports CKAN's legacy RESTful Model and Search APIs (v1 & v2), the legacy elasticsearch DataStore API, basic support for the v3 Action API, and code for uploading files to CKAN using the FileStore API.

Javascript (Node and Browser)

  • ckan.js: Javascript client library for CKAN with support for Node and the browser. The library provides full support for accessing both the CKAN Catalog and CKAN DataStore API.



  • Ckan_client-PHP
  • PHP CKAN client - from Silex. Uses Guzzle for the HTTP. Packaged using Composer; also on Github. Covers a number of action functions for reading/writing packages, resources, etc. Comes with tests.


  • Ckan_client-J (Java client)
  • Jackan Java client with api v3 support and Apache 2.0 license. Comes with integration tests.



  • dpm: data package manager command-line client and Python library.

OpenRefine (Google Refine)


  • ckanr: R client for the CKAN API