API conventions

Outdated Content Warning: This content refers to an older version of OpenSpending. See here for information about the next version of OpenSpending and ways to contribute.


Some actions in OpenSpending require authentication, particularly those that write to the system or aim to access protected data (e.g. pre-publication datasets). For this purpose, each user is provided an API key. The key is displayed in the settings (go to the dashboard and click on Change next to the Information header). You can use it to perform authentication by adding the following into the HTTP headers (change to the API key you find in your settings):

Authorization: ApiKey <your-api-key>

JSON-P Callbacks

All API calls that return JSON support JSON-P (JSON with padding). You can add a ?callback=foo parameter to any query to wrap the output in a function call. This is used to include JSON data in other sites that do not support CORS:

$ curl

    "description": "Data published by HM Treasury.",
    "name": "cra",
    "label": "Country Regional Analysis v2009",
    "currency": "GBP"

This can be used in remote web pages to include data as a simple script tag:

  function foo(data) {
<script src=""></script>

Up: OpenSpending API