Rate Limits
Understand rate limits, pricing tiers, and how to stay within your quota.
Rate Limit Headers
Every API response includes rate limit information in the response headers:
| Header | Description | Example |
|---|---|---|
| X-RateLimit-Limit | Daily request limit for your plan tier | 1000 |
| X-RateLimit-Remaining | Requests remaining in current daily window | 999 |
| X-RateLimit-Reset | Unix timestamp when the daily limit resets | 1719273600 |
Checking Your Rate Limit
curl -s -D - "https://commodityfundamentals.com/api/v1/commodities" \\
-H "Authorization: Bearer YOUR_API_KEY" \\
-o /dev/null | grep -i "x-ratelimit"
# X-RateLimit-Limit: 1000
# X-RateLimit-Remaining: 999
# X-RateLimit-Reset: 1719273600
Pricing Tiers
Rate limits and available features vary by plan:
Free
10 req/min
1,000/day daily
- All endpoints
- 12-month history
- JSON responses
Professional
100 req/min
100,000/day daily
- All endpoints
- Full history
- COT Legacy reports
Business
500 req/min
500,000/day daily
- Everything in Professional
- COT Disaggregated
- Priority support
Enterprise
1,000 req/min
1,000,000/day daily
- Everything in Business
- Dedicated support
- SLA guarantee
Best Practices
Follow these practices to make the most of your rate limit:
Cache responses locally
Store API responses and only refresh when data changes. Most commodity data updates daily or weekly.
Use date ranges
Request only the data you need by specifying start_date and end_date parameters.
Batch requests efficiently
Download full datasets during off-peak hours rather than making many small requests.
Monitor your usage
Check X-RateLimit-Remaining headers and implement backoff before hitting limits.