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

API Rate Limits

Account-level API request and data transfer limits

API request and data transfer limits apply per account, based on the active subscription.

Historical data transfer is included; we do not charge separately per GB or TB. Limits keep API access fair and reliable and may change as usage patterns and available capacity change.

Request Limits

Active subscription type
Requests/minute

Solo / Academic / Professional

3,000

Business

9,000

  • Request limits count authenticated HTTP requests to the raw data replay API.

  • Official clients and Tardis Machine call this API in parallel during historical replay, so several replay sessions running at the same time can hit request limits quickly.

Data Transfer Limits

Data transfer limits count compressed data sent by CSV dataset downloads and raw data replay API responses.

They depend on the active subscription type and billing interval:

Billing interval
Solo / Academic / Professional
Business

Monthly

20 TB

60 TB

Quarterly

60 TB

180 TB

Yearly

240 TB

720 TB

Quarterly and yearly limits are available from the start of the billing interval and reset on renewal. This helps with larger initial historical backfills.

API Key Usage

  • Solo, Academic and Professional subscriptions include one active API key.

  • Business subscriptions include up to 10 active API keys for multiple team members, servers or locations.

Each key can be used from one source IP address at a time. All API keys on the account share the same request and transfer limits.

Reduce Data Transfer

  • Use zstd compression for raw data replay. Latest official Node.js and Python clients request zstd by default. For direct HTTP calls, set compression=zstd in the query string.

  • Keep the official client cache enabled when replaying the same historical data repeatedly.

  • Use filters to request only the channels and symbols needed for the current replay.

Reduce Replay Requests

Treat the API as an on-demand historical data source. Fetch what you need now, then fetch more later instead of mirroring the full archive upfront.

  • Use the latest official clients or Tardis Machine for filtered replay. They apply the recommended sliceSize automatically, so one raw data replay request can return up to 10 consecutive minutes and reduce API request count.

  • For direct raw data replay API calls with filters, use the x-suggested-slice-size response header as the next sliceSize for the same exchange, filters and compression.

  • For the same exchange and time range, request multiple channels in the same replay call by putting them in one filters array.

  • If your account can access all symbols for a channel, request that channel once by omitting symbols or passing symbols: [].

  • If you need selected symbols, put them in one filter for the same exchange, channel and time range instead of one request per symbol. One filter can include up to 50 symbols.

Last updated

Was this helpful?