How Rate Limiting Works
Every API response includes headers that tell you your current quota status. Monitor these headers to stay within limits proactively rather than reacting to 429 errors.Rate Limit Response Headers
Every response from JTL’s APIs includes these headers:
Read these headers after every request. They’re your real-time view of how much quota you have left. When
X-RateLimit-Remaining approaches zero, slow down or pause until the interval resets.
Rate Limits by API
Cloud-ERP API
The Cloud-ERP API applies rate limits to all endpoints. Use theX-RateLimit-* response headers to determine the limits for each endpoint in your environment.
SCX Channel API
The SCX Channel API has published rate limits per route pattern:Handling Rate Limit Errors
When you exceed the limit, the API returns HTTP429 Too Many Requests. Here’s how to handle it properly.
1. Monitor Headers Proactively
Don’t wait for a 429, prevent it. TrackX-RateLimit-Remaining and pause before you hit zero:
2. Retry with Exponential Backoff
When you get a 429, don’t retry immediately. Wait at increasing intervals before retrying:3. Queue and Spread Requests
Use a queue to enforce a fixed request rate and avoid bursts.4. Cache Responses
Cache data based on how often it changes:- Rarely changes → cache longer (categories, attributes)
- Frequently changes → cache briefly or not at all (orders)
Best Practices
Quick Reference
What’s Next?
Webhooks
Reduce polling and API calls by reacting to events in real time.
Pagination
How to page through large result sets without hitting rate limits.
Error Handling
Handle 429 errors alongside other error types.
API Reference
Browse endpoints and their specific rate limits.