Rate limits and data freshness
Know the limits for each token and how far market data can lag behind the source.
Rate limits and quotas
- Each API key has a per-minute request limit. Going over returns 429 with a
Retry-Afterheader suggesting how many seconds to wait. - Some plans have a daily request limit, counted by UTC date and reset at 00:00 UTC.
- Every response includes
X-RateLimit-Limit(the per-minute limit) andX-RateLimit-Remaining(requests left). - The WebSocket handshake also counts as a request.
Data freshness
For stability and rate limiting, market data endpoints are briefly cached, so data can lag the source slightly. Below are the default cache times; the X-Proxy-TTL header on each response gives the actual value in seconds.
| Data | Default cache time |
|---|---|
| Real-time quotes, ticks, order book | 3 seconds |
| Minute candles (including the current one) | 30 seconds |
| Day, week and month candles (including the current one) | 5 minutes |
Historical candles with the et parameter | 1 hour |
| Symbol list, holidays, basic info | 24 hours |
| Market status | 30 seconds |
Cache response headers
| X-Proxy-Cache | Meaning |
|---|---|
HIT / L2-HIT | Served from cache |
MISS | Fetched from the upstream for this request |
COALESCED | Merged with an identical concurrent request that shared one upstream fetch |
STALE | The upstream had a brief problem, so data up to 30 seconds old was returned |
BUSY | The upstream call budget is temporarily used up; retry shortly (returns 503) |
BYPASS | This request is not cached |
For high-frequency trading that needs millisecond latency, connect to the data source or exchange directly instead of relying on cached market data.