HTTP API

HTTP based API providing historical market data feeds, supported exchanges details and more

Base API Endpoint: https://api.tardis.dev

get
/data-feeds/:exchange

https://api.tardis.dev/v1/data-feeds/:exchange
Provides historical cryptocurrency market data feed for requested exchange in minute by minute slices in new line delimited JSON format (NDJSON) with addition of local timestamp at the beginning of each line - in ISO 8601 format. Empty lines in response are being used as markers for disconnect events that occurred when recording the data. Responses are being GZIP compressed and each one contains one minute of historical market data starting from requested date which is from date plus minute offset param. Parallel request to this endpoint are supported and can speed up overall data fetching process substantially, but please don't use more than ~60 parallel requests as it doesn't bring speed benefits, but on contrary it may be slower. As this is relatively low level API you may also want to try official client libraries that are built on top of it and provide more convenient way of consuming historical market data like requesting whole date ranges of data at once instead of minute by minute pagination or providing normalized data format. Please feel free to contact us in case of any questions.
Request
Response
Path Parameters
exchange
required
string
requested exchange, use /exchanges API for most up to date exchanges list (use exchange.id as value for this param)
Headers
Authorization
optional
string
For authenticated requests provide Authorization header with value: 'Bearer <YOUR_API_KEY>'
Query Parameters
from
required
string
requested UTC start date of historical market data feed (e.g.: 2019-04-05 or 2019-04-05T01:02:00.000Z)
offset
optional
number
minute offset that together with from date specifies exact minute slice of historical data that will be returned (e.g.: from date: 2019-04-05 with offset: 2 will provide historical data between 2019-04-05T00:02:00.000Z and 2010-04-05T00:03:00.000Z)
filters
optional
string
URL encoded JSON string with{channel:string, symbols?: string[]}[] format with optional historical market data filters, e.g.: [{"channel":"trade", "symbols":["XBTUSD"]}] In order to get the list of allowed channels and symbols for each exchange usehttps://api.tardis.dev/v1/exchanges/:exchange API (documented below).
200: OK
Each line contains local timestamp (ISO 8601) and JSON message in exchange native data format
2019-04-01T00:00:34.8345516Z {"table":"trade","action":"insert","data":[{"timestamp":"2019-04-01T00:00:34.815Z","symbol":"ETHUSD","side":"Sell","size":7000,"price":141.2,"tickDirection":"ZeroMinusTick","trdMatchID":"baa369de-cb3b-b18f-685e-0ffdec00358c","grossValue":98840000,"homeNotional":28.654468050268125,"foreignNotional":4046.010888697859}]}
2019-04-01T00:00:34.8346465Z {"table":"orderBookL2","action":"update","data":[{"symbol":"ETHUSD","id":29699997176,"side":"Buy","size":65350}]}
2019-04-01T00:00:34.8395743Z {"table":"orderBookL2","action":"update","data":[{"symbol":"BCHM19","id":32999999571,"side":"Sell","size":333},{"symbol":"BCHM19","id":32999999572,"side":"Sell","size":576},{"symbol":"BCHM19","id":32999999573,"side":"Sell","size":353}]}
2019-04-01T00:00:34.8567501Z {"table":"trade","action":"insert","data":[{"timestamp":"2019-04-01T00:00:34.830Z","symbol":"XBTUSD","side":"Buy","size":182,"price":4089,"tickDirection":"ZeroPlusTick","trdMatchID":"fa93bd9b-e1b6-d38d-f4d4-65337a766e34","grossValue":4450992,"homeNotional":0.04450992,"foreignNotional":182}]}
2019-04-01T00:00:34.8567741Z {"table":"orderBookL2","action":"update","data":[{"symbol":"XBTUSD","id":8799591100,"side":"Sell","size":351568}]}
2019-04-01T00:00:34.8567783Z {"table":"orderBookL2","action":"update","data":[{"symbol":"ETHUSD","id":29699997176,"side":"Buy","size":55349}]}
2019-04-01T00:00:34.8567812Z {"table":"orderBookL2","action":"update","data":[{"symbol":"ETHUSD","id":29699997167,"side":"Sell","size":430305}]}
2019-04-01T00:00:34.8567847Z {"table":"orderBookL2","action":"insert","data":[{"symbol":"EOSM19","id":33199989652,"side":"Buy","size":216,"price":0.0010348}]}
2019-04-01T00:00:34.8605618Z {"table":"orderBookL2","action":"update","data":[{"symbol":"XBTUSD","id":8799591850,"side":"Buy","size":154511}]}
2019-04-01T00:00:34.8605944Z {"table":"orderBookL2","action":"update","data":[{"symbol":"TRXM19","id":33299999258,"side":"Sell","size":1493}]}
2019-04-01T00:00:34.8617223Z {"table":"orderBookL2","action":"update","data":[{"symbol":"ADAM19","id":33099998260,"side":"Buy","size":224039}]}Requests examples

See historical data details page to get detailed information about historical market data available for each exchange.

Sample requests:

Full BitMEX data feed from 2019-04-01T00:02:00.000Z to 2019-04-01T00:03:00.000Z

BitMEX trades for all instruments from 2019-05-01T00:00:00.000Z to 2019-05-01T00:01:00.000Z

Full Deribit data feed from 2019-06-01T00:10:00.000Z to 2019-06-01T00:11:00.000Z

get
/exchanges

https://api.tardis.dev/v1/exchanges
Gets the list of all supported exchanges that historical market data is available for.
Request
Response
200: OK
Response contains JSON array of supported exchanges with basic details for each
[
{
"id": "bitmex",
"name": "BitMEX",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 5,
"singleSymbolPrice": 0.6,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-03-30T00:00:00.000Z"
},
{
"id": "deribit",
"name": "Deribit",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 8,
"singleSymbolPrice": 0.6,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-03-30T00:00:00.000Z"
},
{
"id": "binance",
"name": "Binance",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 7,
"singleSymbolPrice": 0.4,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-03-30T00:00:00.000Z"
},
{
"id": "binance-futures",
"name": "Binance Futures",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 0.4,
"singleSymbolPrice": 0.4,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-11-17T00:00:00.000Z"
},
{
"id": "ftx",
"name": "FTX",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 6,
"singleSymbolPrice": 0.4,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-08-01T00:00:00.000Z"
},
{
"id": "okex",
"name": "OKEx (spot high and mid caps, all swap & futures)",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 8,
"singleSymbolPrice": 0.5,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-03-30T00:00:00.000Z"
},
{
"id": "huobi",
"name": "Huobi Global",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 8,
"singleSymbolPrice": 0.5,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-11-19T00:00:00.000Z"
},
{
"id": "huobi-dm",
"name": "Huobi DM",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 6,
"singleSymbolPrice": 0.6,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-11-19T00:00:00.000Z"
},
{
"id": "bitflyer",
"name": "bitFlyer",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 3,
"singleSymbolPrice": 0.6,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-08-30T00:00:00.000Z"
},
{
"id": "bitstamp",
"name": "Bitstamp",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 5,
"singleSymbolPrice": 0.6,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-03-30T00:00:00.000Z"
},
{
"id": "coinbase",
"name": "Coinbase Pro",
"enabled": false,
"priceInfo": {
"fullAccessPrice": 12,
"singleSymbolPrice": 1,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-03-30T00:00:00.000Z"
},
{
"id": "cryptofacilities",
"name": "Crypto Facilities",
"enabled": false,
"priceInfo": {
"fullAccessPrice": 5,
"singleSymbolPrice": 0.6,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-03-30T00:00:00.000Z"
},
{
"id": "kraken",
"name": "Kraken",
"enabled": false,
"priceInfo": {
"fullAccessPrice": 5,
"singleSymbolPrice": 0.5,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-06-04T00:00:00.000Z"
},
{
"id": "gemini",
"name": "Gemini",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 4,
"singleSymbolPrice": 0.4,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-08-30T00:00:00.000Z"
},
{
"id": "bitfinex",
"name": "Bitfinex (high caps only)",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 6,
"singleSymbolPrice": 0.6,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": false,
"availableSince": "2019-05-23T00:00:00.000Z"
},
{
"id": "bitfinex-derivatives",
"name": "Bitfinex Derivatives",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 1,
"singleSymbolPrice": 0.6,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": false,
"availableSince": "2019-09-14T00:00:00.000Z"
},
{
"id": "binance-dex",
"name": "Binance DEX",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 4,
"singleSymbolPrice": 0.4,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-06-04T00:00:00.000Z"
},
{
"id": "binance-jersey",
"name": "Binance Jersey",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 2,
"singleSymbolPrice": 0.25,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-10-30T00:00:00.000Z"
},
{
"id": "binance-us",
"name": "Binance US",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 4,
"singleSymbolPrice": 0.4,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-09-25T00:00:00.000Z"
},
{
"id": "huobi-us",
"name": "Huobi US",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 5,
"singleSymbolPrice": 0.5,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-11-19T00:00:00.000Z"
},
{
"id": "bybit",
"name": "Bybit",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 5,
"singleSymbolPrice": 0.6,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-11-07T00:00:00.000Z"
},
{
"id": "okcoin",
"name": "OKCoin",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 4,
"singleSymbolPrice": 0.6,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-11-19T00:00:00.000Z"
},
{
"id": "hitbtc",
"name": "HitBTC",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 6,
"singleSymbolPrice": 0.6,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-11-19T00:00:00.000Z"
}
]

Sample request:

List of all supported exchanges that historical market data is available for

get
/exchanges/:exchange

https://api.tardis.dev/v1/exchanges/:exchange
Gets the exchanges details: available symbols, availability dates, available channels, incidents etc.
Request
Response
Path Parameters
exchange
required
string
requested exchange, use /exchanges API for most up to date exchanges list (use exchange.id as value for this param)
200: OK
Response contains JSON object with exchange details - available symbols, available channels, pricing info etc.
{
"id": "binance-futures",
"name": "Binance Futures",
"enabled": true,
"priceInfo": {
"fullAccessPrice": 0.4,
"singleSymbolPrice": 0.4,
"stepDurationInDays": 30,
"stepMultiplier": 0.1,
"maxMultiplier": 5
},
"filterable": true,
"availableSince": "2019-11-17T00:00:00.000Z",
"availableSymbols": [
{
"id": "btcusdt",
"type": "perpetual",
"availableSince": "2019-11-17T00:00:00.000Z"
}
],
"availableChannels": [
"trade",
"aggTrade",
"ticker",
"depth",
"markPrice",
"depthSnapshot",
"bookTicker"
],
"incidentReports": []
}

Sample request:

get
/api-key-info

https://api.tardis.dev/v1/api-key-info
Given API KEY provided in request header provides information about what historical data (exchanges, date ranges, symbols) is available for given API KEY.
Request
Response
Headers
Authorization
required
string
Authorization header with value: 'Bearer <YOUR_API_KEY>'
200: OK