Rate limiting

Learn about API rate limits and how to work with them.

Monite API uses rate limiting to protect Monite against spikes of incoming traffic that can put our systems at risk. These limits help us ensure that Monite remains stable and usable for everyone.

By default, Monite API allows 30 requests per second for most API calls, which should be satisfactory for most high-traffic applications. We evaluate the number of requests sent to an API from every API client and throttle them if they surpass the allowed amount.

Depending on our requirements, we might change this limit or introduce different limits on some API calls, which result in highly intensive operations loading our systems. Also, we might have lower numbers allowed for our Sandbox accounts, compared to the Production environment.

If the current rate limiting levels are not satisfactory for your integration, please contact your Account Manager at Monite to request an increased rate limit.

To avoid your systems becoming unavailable, we strongly recommend that you build custom logic handling rate limiting quotas provided by Monite. Thus, for every API request that does not exceed currently available rate limits, you receive a response with the following HTTP headers:

HTTP headerDescription
RateLimit-LimitThe number of requests available for this API token.
RateLimit-RemainingThe number of requests remaining in the current quota.
RateLimit-ResetThe timestamp when the quota will reset.
X-RateLimit-Limit-SecondThe number of requests available for this API token.
X-RateLimit-Remaining-SecondThe number of requests remaining in the current quota.

If you surpassed the rate limit quota, you will receive a 429 Too Many Requests error indicating that you have sent too many requests within the quota period. If this happens, you will receive a Retry-After header with a value indicating how many seconds you need to wait before sending another request.

Example:

1HTTP/1.1 429 Too Many Requests
2Date: Thu, 07 Sep 2023 12:51:32 GMT
3Content-Type: application/json; charset=utf-8
4Content-Length: 41
5Connection: keep-alive
6RateLimit-Reset: 1
7Retry-After: 1
8RateLimit-Limit: 100
9RateLimit-Remaining: 0
10X-RateLimit-Limit-Second: 100
11X-RateLimit-Remaining-Second: 0