Rate Limits
Limits
Requests are rate-limited per 60-second sliding window, based on your subscription tier.
| Tier | Limit | Price |
|---|---|---|
| Starter | 120 requests/min | $5.99/mo |
| Pro | 300 requests/min | $9.99/mo |
Unauthenticated requests are not allowed. See Authentication for setup.
Response Headers
Every response includes rate limit headers:
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed in the window |
X-RateLimit-Remaining | Requests remaining in the current window |
Retry-After | Seconds until the window resets (only on 429) |
Rate Limit Exceeded
When you exceed the limit, you’ll receive a 429 response:
{ "success": false, "error": { "code": "RATE_LIMITED", "message": "Rate limit exceeded. Max 120 requests per minute." }}Wait for the Retry-After duration before making more requests.
Tips
- Use the
meta.cachedfield to know if data was served from cache — cached responses still count toward your quota, but you can avoid unnecessary polling. - For bazaar data that updates every 5 seconds, polling more frequently than that wastes your quota.
- Batch your needs: use
mode=fullto get all bazaar data in one request instead of fetching items individually.