GlossaryTechnology

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

ConceptWhat it limitsHow it is released
Rate limitingRequests per unit of time (pace)By waiting for the window to reset
QuotaTotal volume per day, month or planWhen the new billing period starts
ThrottlingThe pace is slowed or delayed, without outright rejectionBy the client lowering its sending speed
Governor limitsExecution resources inside the platformBy 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.

Share
Frequently asked questions

FAQs about 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?

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?

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?

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?

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.

Keep exploring

Related terms

From the glossary

Related questions

We solve it with

Salesforce

Salesforce implementation, integration and support for LatAm companies, focused on real team adoption.

How Salesforce solves it
The full suite
Now that you know what it is, see how it gets solved

Five 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.