For the complete documentation index, see llms.txt. This page is also available as Markdown.

API Reference

Endpoints, path parameters, authentication and sample requests

Datasets API details

The Datasets API serves gzip-compressed CSV files by day, exchange, data type and symbol.

  • all downloadable datasets are gzip-compressed

  • historical market data is available as one file per day, split by exchange, data type and symbol

  • data for a given day is available on the next day around 06:00 UTC; use the /exchanges/:exchange API endpoint and datasets.exportedUntil to check exact export status

  • datasets are ordered and split into daily files by local_timestamp

  • an empty gzip file is returned when no data is available for a given day, symbol and data type, for example during exchange downtime or for very low volume markets

  • if timestamp equals local_timestamp, the exchange did not provide a timestamp for the message, for example BitMEX order book updates

  • a CSV cell is empty when the exchange does not provide that value, for example a missing trade ID

  • datasets are exported from Tardis.dev's collected raw WebSocket data, not exchange REST endpoints. The same raw data is available in exchange-native format via the HTTP API

  • disconnect events are not included in CSV datasets — they are available via the raw HTTP API (as empty lines) and via normalized replay with withDisconnectMessages enabled

  • dataset download responses for Pro and Business subscriptions (premium network) include an x-md5 header, but for large files uploaded in chunks this value may not match a full-file MD5 checksum — use file size and gzip decompression success as primary integrity checks

  • CSV datasets for a given day are typically available by 06:00 UTC the next day. To check the exact export status for an exchange, use the /exchanges/:exchange API endpoint and poll the datasets.exportedUntil field — do not rely on wall-clock time alone

Download via client libraries

Historical datasets for the first day of each month are available to download without API key.

If you're running into RuntimeError: download_datasets() cannot be called from a running event loop, use download_datasets_async() instead.

Datasets API reference

GET https://datasets.tardis.dev/v1/:exchange/:dataType/:year/:month/:day/:symbol.csv.gz

Returns gzip compressed CSV dataset for given exchange, data type, date (year, month, day) and symbol.

Path Parameters

Name
Type
Description

exchange

string

one of https://api.tardis.dev/v1/exchanges (field id, only exchanges with "supportsDatasets":true)

dataType

string

one of datasets.symbols[].dataTypes values from https://api.tardis.dev/v1/exchanges/:exchange API response

year

string

year in format YYYY (four-digit year)

month

string

month in format MM (two-digit month of the year)

day

string

day in format DD (two-digit day of the month)

symbol

string

one of datasets.symbols[].id values from https://api.tardis.dev/v1/exchanges/:exchange API response, see details below

Headers

Name
Type
Description

Authorization

string

For authenticated requests provide Authorization header with value: 'Bearer YOUR_API_KEY'. Without API key historical datasets for the first day of each month are available to download.

  • symbol values for the datasets API are CSV dataset symbols, not raw replay symbols. Use datasets.symbols[].id from /exchanges/:exchange or datasetId from the Instruments Metadata API when present. If an instrument has no datasetId, the symbol has not appeared in exported dataset metadata yet. Dataset symbols are uppercase and have / and : replaced with -; they can still contain non-ASCII or reserved URL characters, so URL-encode the symbol path segment when constructing URLs manually. Official clients do this automatically.

  • list of allowed symbols for each exchange can be requested via /exchanges/:exchange API call, e.g., https://api.tardis.dev/v1/exchanges/deribit - datasets.symbols[].id field

Sample requests

Last updated

Was this helpful?