> For the complete documentation index, see [llms.txt](https://docs.tardis.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tardis.dev/api/rate-limits.md).

# API Rate 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](/api/http-api-reference.md#data-feeds-exchange).
* [Official clients](/api/quickstart.md) and [Tardis Machine](/tardis-machine/quickstart.md) 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](/downloadable-csv-files/api.md) and [raw data replay API](/api/http-api-reference.md#data-feeds-exchange) 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](/api/http-api-reference.md#data-feeds-exchange). Latest official [Node.js](/node-client/replaying-historical-data.md) and [Python](/python-client/replaying-historical-data.md) clients request `zstd` by default. For direct HTTP calls, set [`compression=zstd`](/api/http-api-reference.md#data-feeds-exchange) in the query string.
* Keep the official client cache enabled when replaying the same historical data repeatedly.
* Use [`filters`](/api/http-api-reference.md#data-feeds-exchange) 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](/api/quickstart.md) or [Tardis Machine](/tardis-machine/quickstart.md) 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](/api/http-api-reference.md#data-feeds-exchange) 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.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.tardis.dev/api/rate-limits.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
