In order to prevent excessive load, the NextChapter API uses a rate limiter that will block requests after the limit has been reached. The rate limiter is active on every endpoint and the quotas are global, meaning any request to any endpoint will count towards the single global limit.
Any client (decided by the client id in the authorization token) is limited to 1000 requests every 15 minutes, starting from the time of the first request. Once the 15 minutes are up, you are again allowed 1000 requests. This also means that any distributed setup that utilizes multiple clients to execute requests will all count towards the same limit (given they use the same credentials).
To assist in throttling mechanics, or for diagnostic purposes, any response will include the following headers:
RateLimit-Limit
- the total request quota in the time windowRateLimit-Remaining
- the remaining quota in the time windowRateLimit-Reset
- the remaining time after the quota will be reset, in seconds