Rate limits
Rate limits are enforced per API key using a Redis sliding window — separately for per-minute and per-day buckets.
Tiers
| Tier | Per minute | Per day |
|---|---|---|
| Free | 20 requests | 500 requests |
| Pro | 200 requests | 50,000 requests |
All new keys start on the Free tier.
Response headers
Every API response includes rate limit information:
| Header | Description |
|---|---|
X-RateLimit-Tier | Your tier: free or pro |
X-RateLimit-Limit-Minute | Your per-minute cap |
X-RateLimit-Limit-Day | Your per-day cap |
X-RateLimit-Remaining-Minute | Requests remaining this minute |
X-RateLimit-Remaining-Day | Requests remaining today |
HTTP 429 response
When a limit is exceeded you receive:
json
1{
2 "statusCode": 429,
3 "error": "Too Many Requests",
4 "message": "Per-minute rate limit exceeded (20 req/min for free tier)",
5 "retryAfter": 43
6}retryAfter is the number of seconds until the current window resets.
Tips
- Check
X-RateLimit-Remaining-Minutebefore batching requests. - Cache responses where freshness isn't critical (e.g. company profiles,
GET /v1/market/sectors). - Contact support to enquire about Pro tier access.