Rate Limiting
Term 197 of 268 · Technology
In one sentence
Rate limiting is a technique that caps how many requests a client can make to an API within a defined time period. It protects servers from overload, abuse and outages by returning a 429 error when the allowed quota is exceeded.
Reviewed by Juan Manuel Garrido
Co-founder of VantegrateLinkedIn
Rate Limiting definition
Rate limiting is the mechanism that controls how many requests a client can send to an API within a given time window, for example 100 calls per minute. When that quota is exceeded, the server responds with an HTTP 429 (Too Many Requests) status code and generally rejects the excess requests until the window resets.
Its purpose is to protect the infrastructure: it prevents a single client, a bug in a loop or an attack from saturating resources and degrading the service for everyone. It also lets a provider distribute capacity fairly among all its consumers and, in many cases, monetize access through plan tiers.
In the ecosystem of platforms like Salesforce, rate limiting is one of the controls that frame any serious integration. When a project on Salesforce consumes external APIs or exposes its own, rate limiting defines the safe pace at which systems can talk to each other without breaking one another.
How it works in practice
The server keeps count of the requests it receives from each client, usually identified by its API key, its token or its IP address. If the client is within its quota, the request is processed normally; if it exceeds it, the request is rejected with a 429 without consuming heavy compute resources. Many APIs include informational headers with the response, such as `X-RateLimit-Remaining` (how many calls are left) and `Retry-After` (how many seconds to wait before retrying), which lets a well-built client self-regulate instead of hammering away.
Behind it are several classic algorithms, each with a different trade-off between simplicity and precision:
- Token bucket: a bucket fills with tokens at a constant rate and each request consumes one; it allows short bursts as long as there are tokens saved up. It is the most widely used because of its flexibility.
- Leaky bucket: requests go out at a fixed rate, like water through a hole; it smooths out peaks but does not reward prior inactivity.
- Fixed window: requests are counted in closed blocks of time (per minute, per hour); it is simple but suffers from the edge problem, where two bursts right at the window change double the real traffic.
- Sliding window: a moving window that corrects that edge effect at the cost of more computation.
Why it matters to the business (and not just to IT)
Although it sounds technical, rate limiting has very concrete consequences. A nightly sync that pushes orders into Salesforce can fail halfway through if it fires more calls than allowed and the provider starts returning 429s. The visible result for the business is stale data, incomplete reports or a webhook that stops sending notifications. That is why sizing limits correctly and handling retries is part of any stable integration, not an optional detail.
A concrete example in Argentina and Latin America
Consider an Argentine e-commerce business that queries a payment provider's API to check the status of each transaction. On a high-demand day (a CyberMonday, for example), the system tries to check thousands of transactions per minute. If it exceeds the provider's limit, responses start coming back as 429s and some customers see their payment as "pending" when it has actually been approved. The right fix is not to insist faster but to apply exponential backoff: on a 429, wait, retry with increasing pauses and respect the `Retry-After` header. The same applies when integrating the WhatsApp Business API, ARCA (Argentina's federal tax agency, formerly AFIP) for e-invoicing, or any service that charges for and protects its capacity through quotas.
Common mistakes to avoid
- Treating the 429 as a permanent failure instead of a "wait and retry": you lose data that could have been recovered.
- Ignoring the `Retry-After` or `X-RateLimit-*` headers and retrying immediately, which makes things worse.
- Not distinguishing rate limiting (a limit on pace, reversible by waiting) from a total quota (a volume limit per day or month, which is not freed up by retrying).
- Confusing traffic control with a platform's internal governor limits, which are a different layer of protection.
How it differs from similar concepts
| Concept | What it limits | How it is released |
|---|---|---|
| Rate limiting | Requests per unit of time (pace) | By waiting for the window to reset |
| Quota | Total volume per day, month or plan | When the new billing period starts |
| Throttling | The pace is slowed or delayed, without outright rejection | By the client lowering its sending speed |
| Governor limits | Execution resources inside the platform | By optimizing the code or the process design |
In short, rate limiting is a silent defense that keeps APIs available and predictable. Understanding it lets you design integrations that behave well under pressure, recover data without losing it and coexist peacefully with the limits each provider sets to protect its service.
FAQs about Rate Limiting
What is rate limiting?
What is rate limiting?
Rate limiting is a technique that caps how many requests a client can send to an API within a time window, for example 100 calls per minute. When that quota is exceeded, the server returns a 429 (Too Many Requests) error and rejects the excess requests until the window resets. It protects servers from overload and abuse, and distributes capacity fairly among all clients.
What does the 429 Too Many Requests error mean?
What does the 429 Too Many Requests error mean?
The HTTP 429 status code indicates that the client sent too many requests in too short a time and exceeded the rate limit allowed by the API. It is not a bug in your code or a permanent failure: it is a signal that you need to wait and retry more slowly. Most APIs include a Retry-After header that indicates how many seconds you should wait before trying again.
What is the difference between rate limiting and a quota?
What is the difference between rate limiting and a quota?
Rate limiting limits the pace, meaning how many requests are allowed per second, minute or hour, and it is released simply by waiting for the time window to reset. A quota limits the total volume, for example a maximum number of calls per day or per month depending on the plan, and it only renews when the new period starts. An integration can hit both limits at the same time.
How do you handle a rate limit correctly when integrating APIs?
How do you handle a rate limit correctly when integrating APIs?
The recommended practice is to apply exponential backoff: on a 429 error, do not retry immediately but wait and try again with progressively longer pauses, always respecting the Retry-After header. It also helps to read headers such as X-RateLimit-Remaining to know how many calls are left and self-regulate sending before hitting the limit. Retrying without pausing only makes things worse.
Why do APIs apply rate limiting?
Why do APIs apply rate limiting?
APIs apply rate limiting mainly to protect their infrastructure from overload, preventing a single client, a bug in a loop or an attack from saturating the servers and degrading the service for everyone. It also lets them distribute capacity fairly among all consumers, mitigate abuse such as scraping and, in many cases, offer different levels of access depending on the plan.
We bring this to your Salesforce
Salesforce implementation, integration and support for LatAm companies, focused on the team actually using it instead of going back to spreadsheets. Tell us where your org stands.
Related terms
- APIAn API (application programming interface) is a contract that lets two software systems exchange data and functions without knowing each other's internal code. It defines, in a standard way, which requests you can make and which responses to expect.
- Governor LimitsGovernor limits are the execution limits Salesforce imposes on each transaction (queries, records processed, API calls, CPU) to protect the shared resources of its multi-tenant architecture, where many customers run on the same infrastructure.
- WebhookA webhook is an automatic HTTP notification that one system sends to another system's URL the moment an event happens, in real time. It lets applications integrate without one having to ask the other for updates every so often.
- System IntegrationAn integration is the technical connection that lets two or more systems (CRM, ERP, e-commerce, etc.) exchange data automatically, without manual entry, so information flows in sync between them in real time or in batches.
- SOQLSOQL (Salesforce Object Query Language) is Salesforce's query language for reading data from its objects. It looks like SQL but only queries records (it does not insert or delete) and respects the platform's data model and permissions.
- Sales CloudSales Cloud is Salesforce's sales CRM product: it centralizes accounts, contacts, opportunities and the pipeline in one place, automates sales tasks and provides forecasts and reports so sales teams can close faster.
Related questions
- What is a Salesforce Administrator?in Salesforce Administrator
- What is Einstein in Salesforce?in Salesforce Einstein
- What is Flow in Salesforce?in Salesforce Flow
- What is an object in Salesforce?in Salesforce Object
- What is an org in Salesforce?in Salesforce Org
- What is a sandbox in Salesforce?in Salesforce Sandbox
Salesforce
Salesforce implementation, integration and support for LatAm companies, focused on real team adoption.
How Salesforce solves itFive AI products that work on top of the CRM you already use. They don't replace your system: they add the layer you do by hand today.





