Rate Limiting
API Rate Limiting is the practice of restricting the number of requests a user can make to an API within a given timeframe. This ensures fair usage by preventing any single user from overloading the system, which can degrade the API's performance for others. Rate limiting is essential for maintaining optimal service operation, protecting against abusive traffic patterns such as DDoS attacks, and managing server resources efficiently.
In general API calls are limited. Exceeding the rate limit results in an HTTP 429 "too many requests" error. For some endpoints the rate limit is lower to ensure the best quality for all API users.
Best Practice
Distribute your requests evenly over time and avoid sending large volumes of data simultaneously. Adhere to the designated limits for each interface. Doing so prevents congestion in our systems and maintains a seamless experience for all users. Please refer to the X-RateLimit-Limit, X-RateLimit-Interval-Length-Seconds and X-RateLimit-Remaining response headers to monitor your current usage against the established limits. These headers provide real-time information on your quota, how many requests you have left, and when the limit will reset, respectively.
Limits (Production)
API Route Pattern | Requests | Interval (Seconds) |
---|---|---|
Default | 10 | 60 |
/v[version]/channel* | 60 | 60 |
/v[version]/channel/order* | 600 | 60 |
/v[version]/channel/event* | 240 | 60 |
/v[version]/channel/offer* | 1500 | 60 |
/v[version]/channel/attribute/category* | 86400 | 86400 |
/v[version]/channel/attribute/global* | 10 | 3600 |
/v[version]/channel/categories* | 10 | 3600 |
/v[version]/channel/categories* | 10 | 3600 |
/v[version]/channel/categories* | 5 | 1800 |
Rate Limits on Sandbox environment are different. Please refer to the X-RateLimit-Limit, X-RateLimit-Interval-Length-Seconds and X-RateLimit-Remaining.