A 429 on Janitor AI is the most common error in the whole proxy setup, and the least understood, because Janitor did not send it. The backend behind your Proxy URL did: OpenRouter, Google, DeepSeek or whoever is answering as the model. It means too many requests, and the number that defines "too many" belongs to your account or project on that service. That is why the fixes that circulate in Discord, a new account, a fresh key, a VPN, keep failing: none of them touches the thing that was counted.
This page sorts the 429 by backend, quotes each provider's own limit, and gives the fixes that work. We run a proxy network, the kind that changes your IP address, and we put our own product in the "does not help" column below, because for this error it belongs there.
First, read where the number came from
Janitor's proxy field forwards your messages to whatever URL you pasted. When that service refuses with 429, Janitor shows the error as it received it. So the first question is not "how do I fix Janitor" but "which backend is this". Open API Settings, look at the Proxy URL, and match it below.
| Proxy URL contains | Backend | What its 429 means |
|---|---|---|
openrouter.ai | OpenRouter | free-model cap: 20 a minute, 50 a day (1,000 after a one-time $10), or one model overloaded |
generativelanguage.googleapis.com | Gemini | your Google project's tier limit, shown in AI Studio |
api.deepseek.com | DeepSeek | per-account concurrency limit |
| something else | a shared reverse proxy | somebody else's limit, on somebody else's key |
OpenRouter: the daily cap and the overloaded model
OpenRouter's published limits for models ending in :free are the numbers behind most Janitor 429s: 20 requests a minute, and 50 requests a day until the account has bought 10 credits in its lifetime, after which the daily cap is 1,000. Janitor AI's own OpenRouter error guide lists the same two figures, 50 messages a day for free users and 1,000 with $10 or more in credits, and adds the second cause: a specific model is overloaded, so the request is refused even though your cap is fine.
The fixes, in order of cost:
- Wait. The per-minute window is a minute; Janitor's guide says the daily message limit resets at 12:00 UTC. Every press of regenerate during the wait is another counted request.
- Change model. If the 429 is the overload kind, another
:freemodel answers immediately. On 24 August 2026 OpenRouter listed 18 of them; our OpenRouter guide has the current list. - Buy 10 credits, once. About $10, never consumed by free models, and the daily cap goes from 50 to 1,000. For anyone who chats every evening this is the whole fix.
- Use a paid model on the same key. Paid models have their own, higher limits, and the balance from step 3 pays for them.
Two shortcuts that do not work, in OpenRouter's own words: making additional accounts or API keys will not affect your rate limits, because it governs capacity globally. And a negative balance blocks free models too, with 402 errors, until you top up above zero.
You send a message
Janitor forwards it
Proxy URL
OpenRouter, Gemini, DeepSeek
Backend counts the request
per account or per project
Over the limit
429 comes back through Janitor
Lift it at the backend
wait, switch model, top up, link billing
Gemini: per project, shown in AI Studio
Google's rate-limit documentation no longer prints a free-tier table; it says the limits depend on your usage tier and can be viewed in Google AI Studio, and it defines the tiers: Free (an active project or free trial), Tier 1 (a linked billing account), Tier 2 ($100 paid plus three days), Tier 3 ($1,000 plus thirty days). The sentence that decides the fix: rate limits are applied per project, not per API key.
So a Gemini 429 through Janitor is your project's limit, and the ways up are Google's: wait, chat more slowly, switch to a Flash-Lite model that costs less against the per-minute budget, or link billing and move the project to Tier 1. Linking billing has a second effect worth knowing, because Google's pricing page states that free-tier content is used to improve its products and paid-tier content is not. The setup and the model list are in our Gemini guide.
DeepSeek: per-account concurrency
DeepSeek's rate-limit page sets concurrency limits per account, 500 simultaneous requests for deepseek-v4-pro and 2,500 for deepseek-v4-flash at the time of writing, calculated at the account level regardless of which API key is used, and returns 429 when they are exceeded. One person roleplaying cannot reach those numbers. A DeepSeek 429 on Janitor therefore usually means one of two things: the key is shared among many people, which is the shared-proxy problem, or DeepSeek is under heavy load and shedding requests. Use your own key, wait, and if you run something that genuinely needs more, the same page describes a capacity expansion request at no additional cost. Our DeepSeek guide covers the setup and the retired model aliases.
A shared reverse proxy: somebody else's limit
If your Proxy URL is one you got from a Discord post, the 429 is the limit of whoever owns the key, filled by everyone else using it. There is nothing to tune on your side. Every other person on that URL is spending the same allowance, and the operator can read every message on its way through. The fix is your own key with an official endpoint, which the guides linked above set up in minutes.
What never lifts a 429
We list these because each one is recommended somewhere every day.
- A new account. OpenRouter says it does not change the limits; on Gemini a new project starts on the same free tier; on every service it is a terms problem.
- A new API key. OpenRouter: no effect. Google: limits are per project, not per key. DeepSeek: counted at the account level regardless of key.
- A proxy or VPN. The limit follows the credential in the request header, not the address it came from. The same key through a thousand addresses is a thousand requests against one limit. We sell the thing being recommended, and it does not work for this; the general argument is in LLM API rate limits and proxies.
- Pressing regenerate. Each press is a request. During a 429 it is the opposite of a fix.
When it is not a 429 at all
Janitor's error guide lists a neighbour that gets confused with 429: an unknown response, which it says usually means you hit the message limit or the model returned nothing, with the same fix of waiting for the reset. And a network error is not a limit at all; it is a wrong URL, or a change saved without refreshing. Janitor's rule for OpenRouter is that the URL must be exactly https://openrouter.ai/api/v1/chat/completions. For the OpenRouter-specific 404 that reads as no endpoints found, see Janitor AI no endpoints found.
The one place a network proxy belongs
A 429 is never it. The case for the IP kind of proxy is a different error: the site or the backend does not answer from where you are, because a school or office network filters it or because the service is not offered in your country. Janitor AI itself blocked UK addresses from July 2025 until it moved to age verification in June 2026, and Google lists the countries where the Gemini API is offered. For that, and only that, a static residential or ISP address in a served country is the right tool, priced from $0.44 per GB and billed on use, read against each service's terms first.
For the 429 you came here with: identify the backend from the URL, wait out the window, switch model, and if you chat every day, spend the $10 once on OpenRouter or link billing on Gemini. Nothing else on the list works.
Sources
- OpenRouter, API rate limits: 20 requests a minute on free models, 50 a day under 10 credits, 1,000 a day at 10 or more, 402 on a negative balance, and the note that additional accounts or keys do not change limits.
- Janitor AI Help Center, OpenRouter Error Guide: the daily-cap and model-overload 429s, the unknown-response reset at 12:00 UTC, and the exact URL rule.
- Google, Gemini API rate limits (tiers; limits per project, not per key; viewable in AI Studio) and pricing (free-tier content used to improve products).
- DeepSeek, Rate Limit: per-account concurrency limits regardless of API key, 429 on excess, capacity expansion at no additional cost.