API crypto exchanges
Appeal to the API occurs at: http://api.btcindex.io/crex/?method={method}
, where
{method}
— method API.
Methods:
method=tickers (default)
Options:
- type - type (see list in method ticker_types, поле name)
- count - number of entries (default 1000, max 1000)
- tickers - list of tickers, separated by commas, max 30
- tm - timestamp in seconds, from which to start data output, by default - the count of the last records
- api_key - access key
The tickers parameter is formed as follows: exchange:symbol
Exchange: exchange name (see list in the method exchanges)
Symbol: name of a pair of tokens (see the products method for a list of tokens), for example ethbtc, first a base token (which we sell / buy), then quote-token (in which we specify the price).
Example: binance:ethbtc - course eth to btc on the binance exchange
As the name of the stock exchange, you can specify “all” - means “aggregated rate from all exchanges ”.
If you specify the tokens in a dash, the cross-rate through btc will be calculated, for example binance:eth-usdt means “cross eth rate to usdt via btc on binance”. You can also specify a cross-token by adding it between base and quote, for example: binance: ltc-eth-usdt means “cross course ltc to usdt via eth on binance”.
Example:
http://api.btcindex.io/crex/?type=1h&count=10&tickers=binance:ethbtc,bitfinex:ethbtc&api_key=
{
"type": "1h", // requested ticker type
"tm": 1534298400, // requested tm
"dt": "2018-08-15 02:00:00", // requested tm in UTC
"count": 10, // count rows
"tickers": {
1534298400: { // start time of the period
"dt": "2018-08-15 02:00:00", // start time of period in UTC
"binance:ethbtc": { // first ticker
"average": 0.04590245, // weighted average price of trades
"buy_volume": 6179.74199828, // volume of purchases
"sell_volume": 6030.61199786, // volume of sales
"open": 0.045414, // price at the beginning of the period (first transaction)
"high": 0.046369, // maximum price for the period
"low": 0.045403, // minimum price for the period
"close": 0.045713 // end of period price (last transaction)
},
"bitfinex:ethbtc": { // second ticker
}
}
}
}
method=ticker_types
List of types of tickers. For example: 1s - one second, 15m - 15 minutes, etc. Suffix “a” (1da) means “moving average” - those. “last 24 hours”, instead of 1d (for the current day by UTC). 1w - weekly tickers begin on Monday. 1M - monthly tickers begin on the first day. 1Ma - moving average for 30 days.
Example:
http://api.btcindex.io/crex/?method=ticker_types&api_key=
{
"types": {
"1s": {
"id": 1,
"name": "1s", // name
"update_period": 1 // recurrence frequency, in seconds
},
"15s": {
"id": 2,
"name": "15s",
"update_period": 3
},
}
method=exchanges
List of exchanges.
Example:
http://api.btcindex.io/crex/?method=exchanges&api_key=
method=products
List of tokens.
Example:
API through Websocket
Appeal to the API occurs at: wss://btcindex.io/ws
To receive real-time tickers, we send json:
{
"method": "subscribe", // subscription for updates
"type": "1s", // type, see ticker_types above)
"ticker": "binance:ethbtc" // exchange+pair
}
For a description of the ticker format, see above.
To subscribe to several tickers, send several subscriptions.
In response we get:
{
"method":"subscribed", // signed
"type":"1s",
"ticker":"binance:ethbtc"
}
Further at each recalculation of the ticker we receive the message:
{
"method":"data", // method name
"type":"1s", // type ticker
"ticker":"binance:ethbtc", // name ticker
"timestamp":1534329887, // start time of the period
"datetime":"2018-08-15 10:44:47", // time of the beginning of the period in UTC
// see the description of fields above
"average":0.04471875,
"buy_volume":0.186,
"sell_volume":0.132,
"open":0.044717,
"high":0.04472,
"low":0.044717,
"close":0.044717
}
For each timestamp, the server sends several messages (every time the data is recalculated).