To ensure the quality of Unit21's API services for all users, there will be a global rate limit of 200 records per second, per IP, across all routes. All routes for getting data out of the Unit21 system (i/e exports) are currently subjected to this policy.
For getting data into the Unit21 system (i.e imports) there is a limit of 200 calls per second. There is a general limit of 200 requests per ip/route.
What does
200 records per second
mean?For example you use our GET /entity API endpoint to make:
- 1 request to retrieve 200 entities in 1 sec == 200 records per sec
OR
- 200 requests (each retrieving 1 entity) in 1 sec == 200 requests per sec
Either way, you get 200 entities but you will hit our API limit and receive an error.
Similarly, if you make 4 requests, with a pagination limit of 50 records each, within 1 second; you will hit the rate limit of 200.
What does
200 calls per second
mean?For example, you can only call the /create_event API endpoint 200 times every 1 second.
The LIST APIs are intended to only return a small list of data.
If you are trying to export large amounts of data (tens of thousands), please use the export functionality provided in the dashboard.
Status code indicating limit reached
Exceeding the limit will trigger a HTTP 429 (Too Many Requests) error. If your application has triggered the rate limit, please refrain from making additional requests until the appropriate amount of time has elapsed. You should add logic to handle cases in which a HTTP 429 code is received. If a retry is needed, it's best to allow for some back-off time to avoid going into an infinite retry loop.
Rate limit headers
For the most up-to-date information on rate limits, check the rate limit headers that will be returned in the HTTP response:
Header | Description |
---|---|
X-RateLimit-Limit | The total number of requests allowed for the active window |
X-RateLimit-Remaining | The number of requests remaining in the active window |
X-RateLimit-Reset | UTC seconds since epoch when the window will be reset |