Glossary · APIs and AI agents

What is an API rate limit?

The short answer

An API rate limit is the number of requests a program may send to an API within a set window of time, often one second or one minute. Requests above it are refused with the HTTP status 429 Too Many Requests, often with a Retry-After header that says how long to wait: a number of seconds or a date.

Updated
Read
3 min
Written by
Antoine Blitz
On this page8 sections
  1. Real data
  2. What does 429 Too Many Requests mean?
  3. How do API rate limits work?
  4. How do you handle a 429 error?
  5. API rate limiting vs throttling: what is the difference?
  6. How does BlitzAPI count its API rate limit?
  7. Related terms
  8. Questions people ask

Real data

What a rate-limited API tells you, header by header

The rules and headers of a real API, as its reference documents them. Your own limit comes back from GET /v2/account/key-info, in the call below.

From the BlitzAPI API reference, read on

API reference

What a 429 response carries

Status
429 Too Many Requests
Retry-After
1 (seconds to wait before retrying)
RateLimit-Limit
Requests allowed per second on this endpoint
RateLimit-Remaining
Requests left in the current one-second window
RateLimit-Reset
1 (the window is one second)
RateLimit-Policy
The limit and its window, such as 10;w=1

The four RateLimit headers come back on every response from a rate-limited endpoint that passes authentication and validation, not only on a 429, so a client can slow down before it is refused.

API reference

How the limit is counted

Window
A sliding window of one second
Scope
Each endpoint has its own budget
Shared by
Every API key of the same account
Over the limit
Refused at once with a 429; nothing is queued
Your exact limit
max_requests_per_seconds in GET /v2/account/key-info

What does 429 Too Many Requests mean?

429 Too Many Requests is the HTTP status an API sends back when a client has gone over its rate limit. The code was defined in RFC 6585 in 2012, and it means “slow down”, not “your request is wrong”: the same request works once the window has passed.

Most APIs say how long to wait in a Retry-After header, defined in RFC 9110 as a number of seconds or a date. Many also send headers on every response that show how much of the budget is left, like the ones in the table above, so that a well-behaved client never sees the 429 at all.

How do API rate limits work?

An API counts the requests each client sends over a window of time, and refuses the ones above a set number until the window moves on. Every rate limit has three parts.

  • A number and a window: so many requests a second, a minute or a day.
  • A way of counting. A fixed window resets on the clock, every minute on the minute. A sliding window looks back over the last second or minute at each request, so there is no reset to wait for. A token bucket refills a little at a time and tolerates short bursts.
  • A scope: the limit can apply to one API key, to a whole account, to an IP address or to each endpoint separately.

Services set limits to protect themselves from runaway scripts, to share capacity fairly between customers, and to price their plans. For the client, one consequence matters most, and the simulator below shows it.

Try it

Send faster than the limit, and see what comes back

In 5 seconds, 50 requests go through and 25 come back as 429. Sending faster does not finish sooner: the work still moves at 10 a second, and 1,000 requests still take 1 min 40 s.

A 5-second run, requests spread evenly, counted over a one-second window, with no queue on the API side.

How do you handle a 429 error?

You handle a 429 error by slowing down, not by retrying harder. Five habits do it:

  1. Wait what the API asks. Read Retry-After and pause that long. Retrying at once spends the next window too.
  2. Throttle on your side. Send at the limit, not above it. Requests that come back as 429 do not make a job finish sooner; they only add retries.
  3. Retry what is worth retrying. A 429 or a 503 can be sent again as it is. A 400 or a 422 fails the same way until you change the request.
  4. Spread the work. When limits are counted per endpoint, calls to two different endpoints do not compete, so an enrichment job can run its email and company lookups side by side.
  5. Set the pace in your tools. In Clay, n8n or Make, the batch size and the delay between requests are the throttle.

Rate limits are one of two meters on a data API. The other one counts what you use, often in API credits.

API rate limiting vs throttling: what is the difference?

Rate limiting and throttling are often used for the same thing. Strictly, they describe two reactions to the same excess.

Rate limiting Throttling
Above the limit The request is refused (429) The request is slowed down or queued
Who applies it The API The API, or the client on purpose
What the client gets An error to handle A slower answer

Client-side throttling is the usual cure for server-side rate limiting: a client that paces itself at the limit never gets refused.

How does BlitzAPI count its API rate limit?

BlitzAPI counts its rate limit per endpoint and per account, over a sliding one-second window, with no queue: a request above the limit gets a 429 with Retry-After: 1 at once. The limit depends on the plan (see pricing), and the exact value for a key comes back from GET /v2/account/key-info.

The Python and TypeScript SDKs on the developer toolkit page keep one client under the limit on each endpoint and retry a 429 on their own.

Sources and method

Written by
Antoine Blitz, Founder, BlitzAPI
Published
Docs read on

The headers and rules above are those the BlitzAPI API reference documents, read on October 28, 2026. The limit of a key depends on its plan and is never written by hand: read it from GET /v2/account/key-info.

The simulator is illustrative: you set both numbers, and it models a one-second window with no queue, as the reference describes it.

Questions people ask

How long should you wait after a 429 Too Many Requests?

As long as the Retry-After header says, as a number of seconds or a date. When an API sends no Retry-After, wait a moment and double the wait after each new 429, adding a little randomness so that parallel workers do not retry in step. Sending again at once only spends the next window.

Does a 429 error go away on its own?

Yes. A 429 is temporary: it only says that too many requests arrived in the current window. Once the window passes, the same request works. If the error keeps coming back, the client is still sending faster than the limit and has to slow down for good, not just retry.

What does "rate limited" mean?

It means a service has started refusing your requests for a short time because you sent more than it allows in a window of time. Nothing is broken and the account is not blocked: the service is asking the client to slow down, and requests go through again once the window resets.

How do you fix "rate limit exceeded"?

Wait for the time the API gives, then send at or below the limit instead of above it. Check whether several jobs or keys share the same budget: on many APIs the limit is per account, so two scripts running at once split it. If the work truly needs more requests each second, the fix is a plan with a higher limit.

Data shouldn't be
the problem

Grab. Connect. Build.