CoinDesk Bitcoin Price Index API

CoinDesk provides a simple API to make its Bitcoin Price Index (BPI) data programmatically available to others.

You are free to use this API to include our data in any application or website as you see fit, as long as each page or app that uses it includes the text “Powered by CoinDesk”, linking to our price page.

CoinDesk data is made available through a number of HTTP resources, and data is returned in JSON format.

Please do not abuse our service.

BPI real-time data

On the CoinDesk website, we publish the BPI in USD, EUR, and GBP, calculated every minute, based on criteria as discussed on the CoinDesk BPI page.

This same data can be retrieved using the endpoint:


Sample JSON Response:


We also offer the BPI converted into in any of our supported currencies. This data can be accessed using the endpoint:


Where <CODE> should be replaced by a valid ISO 4217 currency code as per our supported currency list.

Sample Request

Sample JSON Response

{"time":{"updated":"Sep 18, 2013 17:27:00 UTC","updatedISO":"2013-09-18T17:27:00+00:00"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index. Non-USD currency data converted using hourly conversion rate from","bpi":{"USD":{"code":"USD","rate":"126.5235","description":"United States Dollar","rate_float":126.5235},"CNY":{"code":"CNY","rate":"775.0665","description":"Chinese Yuan","rate_float":"775.0665"}}}

Historical BPI data

We offer historical data from our Bitcoin Price Index through the following endpoint:


By default, this will return the previous 31 days’ worth of data.

This endpoint accepts the following optional parameters:

  • ?index=[USD/CNY]The index to return data for. Defaults to USD.
  • ?currency=<VALUE>The currency to return the data in, specified in ISO 4217 format. Defaults to USD.
  • ?start=<VALUE>&end=<VALUE>
    Allows data to be returned for a specific date range. Must be listed as a pair of start and end parameters, with dates supplied in the YYYY-MM-DD format, e.g. 2013-09-01 for September 1st, 2013.
  • ?for=yesterdaySpecifying this will return a single value for the previous day. Overrides the start/end parameter.

Sample Request:

Sample JSON Response:

{"bpi":{"2013-09-01":128.2597,"2013-09-02":127.3648,"2013-09-03":127.5915,"2013-09-04":120.5738,"2013-09-05":120.5333},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index. BPI value data returned as USD.","time":{"updated":"Sep 6, 2013 00:03:00 UTC","updatedISO":"2013-09-06T00:03:00+00:00"}}


If you have any feedback or suggestions with regards to this API, please send them to