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.