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
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:
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
zstdcompression for raw data replay. Latest official Node.js and Python clients requestzstdby default. For direct HTTP calls, setcompression=zstdin the query string.Keep the official client cache enabled when replaying the same historical data repeatedly.
Use
filtersto 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
sliceSizeautomatically, 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-sizeresponse header as the nextsliceSizefor 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
filtersarray.If your account can access all symbols for a channel, request that channel once by omitting
symbolsor passingsymbols: [].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?