TickAtlas

Rate Limits

Rate limits protect service quality for all users. Limits vary by plan and are enforced per API key.

Limits by Plan

Plan Requests/Day Rate Limit Burst
Trial1,00030/min45
Starter10,000120/min180
Pro100,000600/min900
Enterprise1,000,0006,000/min9,000
Pay-As-You-GoUnlimited600/min900

Rate Limit Headers

Every API response includes headers showing your current usage:

response headers
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 287
X-RateLimit-Reset: 1711029660
X-RateLimit-Window: 60
  • X-RateLimit-Limit — Maximum requests per window
  • X-RateLimit-Remaining — Requests remaining in current window
  • X-RateLimit-Reset — Unix timestamp when the window resets
  • X-RateLimit-Window — Window duration in seconds

When You Hit the Limit

Requests exceeding the rate limit receive a 429 Too Many Requests response:

429
{
  "error": "Rate Limited",
  "message": "Rate limit exceeded. Retry after 60 seconds",
  "code": 429,
  "retry_after": 60
}
Tip: Use the Retry-After header value to implement exponential backoff in your client.

Best Practices

Cache responses locally

Indicator values don't change within their timeframe. Cache responses and only re-fetch when a new bar opens.

Use batch endpoints

Use /v1/multi for multiple symbols instead of making individual requests.

Implement backoff

On 429 responses, wait for the Retry-After period before retrying. Use exponential backoff for consecutive failures.

Monitor your usage

Track usage in your dashboard. Set up alerts at 50%, 80%, and 100% of your quota.

Overage Billing

Subscription users who exceed their daily limit are billed at Pay-As-You-Go rates. Set a spending cap in your dashboard to prevent unexpected charges.

View detailed pricing →