Hashlogics
Glossary

What is rate limiting?

The automation that worked fine in testing starts failing at scale, and the fix isn't more retries. It's a queue.

Rate limiting

throttling

Rate limiting is a control a service applies to cap how many requests, or tokens, a client can send in a fixed time window. Cross the cap and the extra requests get rejected, usually with an HTTP 429 status, until the window resets.

RFC 6585 defines the status code plainly. It "indicates that the user has sent too many requests in a given amount of time." That is the entire mechanism. A provider sets a ceiling and counts your requests against it. Cross the ceiling and every call fails until the clock resets.

The ceiling is rarely one number. OpenAI's API, for example, tracks limits per model across several dimensions at once: requests per minute, tokens per minute, and daily versions of both. You can be under your request limit and still get a 429 because you sent too many tokens in the same window.

A well-behaved API tells you where you stand before you hit the wall. OpenAI returns headers on every response, including x-ratelimit-remaining-requests and x-ratelimit-remaining-tokens. A client can read those and slow down before the 429 arrives, not after.

Why it matters

429 is a signal, and most clients ignore it

A 429 tells you exactly what to do next, if you read the response. MDN defines Retry-After as "how long the user agent should wait before making a follow-up request," given in seconds or a fixed date. OpenAI's docs confirm the API attaches this header to a 429, stating precisely how many seconds to wait.

Most integrations we inherit ignore that header. They retry immediately, hit the same limit, retry again, and turn one slow patch into a pile-up that looks like an outage. The provider did not fail. A client kept knocking on a door it was told was closed for another ten seconds.

Clever error handling bolted on afterward doesn't fix it. A queue in front of the call, from the start, does. Requests get paced against the known limit. A burst waits its turn instead of firing all at once and eating a wall of 429s.

What happens at the ceilingLive
  1. Request queuedPaced against the known limit, not fired blind.
  2. SentWithin the current window's remaining budget.
  3. 429 returnedBudget exhausted before this one landed.
  4. Retry-After readClient waits the stated seconds, not zero.
  5. Window resetsBudget refills; queue resumes sending.

The queue is what turns a hard ceiling into a pace, instead of a wall the automation runs into every few minutes.

Questions, answered

Common questions

01What does a 429 error mean?

A 429 means the server received too many requests from you in a given time window and rejected this one. RFC 6585 defines the code for exactly this case. It's not a bug in your request; it's a rate limit you crossed. Slow down. Nothing about the request itself needs to change.

02How does the Retry-After header work?

Retry-After is a response header that tells you how long to wait before trying again. MDN documents its value as either a number of seconds or a specific date. Many APIs, including OpenAI's, attach it to a 429 response. Reading it and waiting that long fixes most rate-limit failures.

03How do I handle API rate limits in an automation?

Put a queue in front of the calls instead of firing them as fast as the workflow allows. Track the provider's stated limits, whether that's requests per minute or tokens per minute, and pace sends to stay under them. When a 429 does arrive, read Retry-After and wait that long before the next attempt, rather than retrying immediately.

04Is rate limiting the same as throttling?

In practice, yes. "Throttling" is the more common term for what a client experiences; "rate limiting" describes the control the server applies. Both refer to the same mechanism: a cap on requests per window, enforced with a 429 once you cross it.

Written by Abdul Basit, CEO, HashlogicsVerified
Start

Let’s build the one that runs after.

We build AI agents and automation, then stay on under an agreed service level. A senior engineer reads every brief, and your call gets scheduled within 24 hours.

What happens next

  1. 01

    You send a brief or book a call

    Two minutes, whichever you prefer.

  2. 02

    A senior engineer replies within 24 hours

    Not a sales rep.

  3. 03

    Honest scoping, in writing

    And if we’re not the right fit, we say so.

Abdul Basit, CEO of Hashlogics

“I started Hashlogics because too many teams ship a demo, get paid, and disappear. We build to a standard we’d run ourselves — and we stay to keep it running.”

Abdul Basit · CEO · a direct line

Not ready to talk? Take the checklist.

12 questions to ask any AI agency before you sign. They separate a demo shop from a team that ships to production.

Get the checklist

Free · no newsletter