-
Notifications
You must be signed in to change notification settings - Fork 0
Following a Style Guide: Explaining API Rate Limits Using an ATM Analogy
This is a deliberately simple explanation of a technical idea, written to meet strict plain-language and style constraints. It is written following one of JPDocu School of Technical Writing style guides.
An API rate limit restricts how frequently requests can be made to an API. This guide explains rate limits using an ATM analogy to show how limits work in practice.
APIs receive requests from many users and applications at the same time.
Without limits, too many requests can slow the system or cause outages.
Sometimes, excessive requests are part of a deliberate cyberattack known as DDOS (Distributed Denial of Service) which tries to overwhelm a system by sending too much traffic to it at once so that it becomes unusable for other legitimate users.
Rate limits help ensure that a service:
-
Remains available
-
Performs consistently
-
Is not overwhelmed by excessive usage
An API can be compared to an Automated Teller Machine (ATM). At an ATM, you can withdraw money, check your balance, transfer funds, etc. Each action takes system resources. API requests use resources similarly.
ATM’s typically have daily withdrawal limits set by the bank.
For example, let's say an ATM only allows you to withdraw $10,000 per day and $1,000 in one transaction.
This limit exists to keep the system running smoothly for everyone. It protects the bank’s system from being overwhelmed by immense amounts of withdrawal requests daily. It allows for availability of cash to more customers since one customer is not allowed to hog it all, and it limits a customer's losses in the event that a thief is the one withdrawing money from their account.
On a similar note, API rate limits can look something like this:
| Limit Type | Example |
|---|---|
| Requests per minute | 60 requests |
| Requests per hour | 1,000 requests |
| Requests per day | 10,000 requests |
At an ATM:
- Your transaction is declined
- A message explains why
With an API:
- Your request is rejected
- An error response is returned. The common response is HTTP 429 – Too Many Requests. However, different platforms have different ways of indicating that this error response.
Below is an error message from ChatGPT after hitting the free plan limit for GPT-5:
\
Finally, ATM limits reset after a set period. API limits reset in the same way.