CKAN API Clients

Fernando Blat edited this page Jan 24, 2018 · 10 revisions

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
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.