skip to content
superbot.gg

Python requests error

429 Client Error: Too Many Requests for url

raise_for_status() raises this when a site answers 429. The url after it is the page you asked for.

You asked the site too often.
It wants you to slow down.

What it means

429 means the client sent too many requests in a given amount of time. The server may add a Retry-After header that says how long to wait.

Limits are often per IP address, and per user or key when requests are signed in. They can cover the whole site or one path.

Fix it

  1. Read Retry-After from the response and wait that long before the next request.
  2. Add a delay between requests, and wait longer after each repeated 429.
  3. Reuse what you already fetched: cache pages and ask only for what changed.
  4. If the limit keeps biting, the site wants you on its API or a paid plan.

With superbot

superbot's read tool names a rate limit instead of raising. It answers page_rate_limited with this message, and passes along the site's Retry-After value when the site sends one:

page returned 429: the site is rate limiting readers. Read the same facts from another source, or read this page again later.

A real browser does not help with a plain rate limit, so superbot does not retry one in a browser. The next step is another source, or the same page later.

ask

Read https://httpbin.org/status/429 and tell me why it did not open.

reply
It opened fine; httpbin answered with HTTP 429, an empty body by design.

…

httpbin's /status/<code> endpoint exists to return exactly that status code and nothing else, so 429 here is not a rate limit you hit and not a failure of your connection.
A real answer on 2026-10-18, trimmed. The test address returns 429 on purpose, so the reply reads the status and says what it means.

This needs an account.
An agent with none signs you in through /auth.md.
You read back one emailed code.

Source: MDN: 429 Too Many Requests. Read on 2026-10-18.