Example 1
- limit 60
- unit per minute
- window 15 min
900
How many requests in the window at 60 per minute and 15 min? 900. Average RPM times the window, not a token bucket.
Type a limit, a unit, and a window. 60 per minute and 15 min give 900. 10 per second and 1 min give 600. 3600 per hour and 60 min give 3600. Average pace, not a token bucket.
Average RPM times the window, not a token bucket. Backoff after 429 lives on exponential backoff.
Enter data and click Calculate.
The API Rate Limit Calculator in this calculator counts requests in a window from average RPM. 60 per minute and 15 min give 900. 10 per second and 1 min give 600. 3600 per hour and 60 min give 3600. That is an average, not a token bucket and not Retry-After.
The limit field is a number. The rate-limit-unit is min, sec, or hour. The window is in minutes. From min, RPM stays as typed. From sec the calculator multiplies by 60. From hour it divides by 60. Then RPM times the window.
900 is 60 times 15. 600 is 10 times 60 times 1. 3600 is 3600 divided by 60, then times 60. Another unit at the same 60 changes the result. The calculator does not read a 429 header.
Exponential backoff next door times the pause after an error. Cost per request multiplies a price by volume. Here the average pace stays: 60 and 15 min stay 900 requests in the window.
Type 60, pick per minute, window 15, then Calculate. A comma in 60.5 parses. Zero in the limit or the window is a field error, not a bucket. An average sketch, not a live API.
60 per minute and 15 min give 900. 10 per second and 1 min give 600. 3600 per hour and 60 min give 3600. Another window at 60 changes 900.
requests in window = RPM × window (min). RPM = limit (min), limit × 60 (sec), or limit / 60 (hour).
Average RPM times the window. 60 per minute and 15 min give 900. Not a token bucket.
900
How many requests in the window at 60 per minute and 15 min? 900. Average RPM times the window, not a token bucket.
600
What about 10 per second and 1 min? 600. 10 × 60 RPM × 1.
3600
What about 3600 per hour and 60 min? 3600. An hour folded into RPM.
900. 60 RPM times 15 minutes. An average, not a token bucket.
600. 10 × 60 is 600 RPM, times window 1.
3600. 3600 / 60 is 60 RPM, times 60 minutes.
No. The calculator multiplies average RPM by the window. A burst from a bucket does not land here.
No. You type the limit and the window. There is no live API.
min keeps RPM. sec multiplies by 60. hour divides by 60. Then times the window.
Yes. 60.5 and 60,5 parse the same way.
On exponential backoff. Here the request count in the window stays.
No. Limit and window must be positive. This is not an empty token bucket.
The calculator counts bits, bytes or throughput from your numbers. Below are SI and bit definitions (NIST).
Page updated in 2026.
Rate limiting caps the number of requests a client (a user, IP address, or API key) can send within a given time window. It protects a backend from overload, distributes resources fairly across clients, and is a standard part of public APIs — exceeding the limit typically returns an HTTP 429 Too Many Requests response.
The calculator normalizes the given limit to RPM (requests per minute), then computes: RPS = RPM / 60, Requests in window = RPM × window length (min), Minimum interval = 60 / RPM seconds. This is the average rate — token-bucket and similar policies can allow short deviations above this average.
A well-designed API tells the client its limit status through headers, e.g. X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, and Retry-After on a 429 response — stating exactly how long to wait before retrying. Clients should respect these headers and use backoff (ideally with jitter), not blind retries.