Rate Limits
Request limits, counting rules, and response headers
Limits by Tier
| Tier | Daily Limit | Hourly Limit |
|---|---|---|
| Free | 250 requests | 100 requests |
| Plus (Individual) | 50,000 requests | 5,000 requests |
| Pro (Individual) | 100,000 requests | 10,000 requests |
| Plus (Commercial) | 250,000 requests | 25,000 requests |
| Pro (Commercial) | 500,000 requests | 50,000 requests |
Counting Rules
- Each API call = 1 credit. Exceptions: Compare and Watchlist GET cost 1 credit per ticker. Events with cross-asset correlation costs 2 credits
/v1/assetsnever counts against limits- HTTP 304 (conditional/cached) responses do not count
- Daily limits reset at midnight UTC
- Hourly limits reset at the top of each UTC hour
- When either limit is reached: HTTP
429withupgrade_urlin response body
Safety Rails
Daily limits are safety rails, not the primary pricing lever. Normal human usage should never hit them.
Rate Limit Headers
Every response includes these headers:
| Header | Type | Description |
|---|---|---|
X-Request-Limit | integer | Max requests per day for your tier |
X-Requests-Used | integer | Requests used today |
X-Requests-Remaining | integer | Remaining today |
X-Request-Reset | string | UTC timestamp when daily limit resets |
X-Hourly-Request-Limit | integer | Max requests per hour |
X-Hourly-Requests-Used | integer | Requests used this hour |
X-Hourly-Requests-Remaining | integer | Remaining this hour |
X-Hourly-Request-Reset | string | UTC timestamp when hourly limit resets |
Example Headers
X-Request-Limit: 50000
X-Requests-Used: 42
X-Requests-Remaining: 49958
X-Request-Reset: 2026-03-24T00:00:00Z
429 Response
{
"error": "rate_limit_exceeded",
"message": "Daily request limit reached. Resets at midnight UTC.",
"upgrade_url": "https://tickerapi.ai/pricing",
"reset": "2026-03-24T00:00:00Z"
}