Unblock free-model rate limits with your own OpenRouter key
Hitting 429s on :free models? Add your own OpenRouter key so free models run on your OpenRouter quota instead of the shared pool.
Free models are popular, so they run out. If anyrouter/free or a :free model keeps returning 429, the fastest fix is to add your own OpenRouter key. Your free-model requests then run on your own OpenRouter account first,.
Why free models return 429
Free models can return 429 for two reasons, and they need different fixes:
| What you see | Cause | Fix |
|---|---|---|
429 rate_limit_exceeded | Your account went over its plan's free-model requests per minute. | Wait Retry-After seconds and slow the loop, or upgrade. |
429 from the upstream provider | The provider's free capacity is busy. Free capacity is shared by many callers, so it runs out at peak times. | Add your own key so the request runs on your own provider quota. |
Free models need the Go plan ($2/mo, or free when you donate one working key) and have no daily cap on AnyRouter. Requests served through your own BYOK key run on your own provider quota, even for :free models. See Free Tier and Rate Limits for the full details.
Add your OpenRouter key
Sign in at openrouter.ai, open openrouter.ai/keys, and click Create Key. Copy it right away. OpenRouter keys start with sk-or-.
Open Dashboard → BYOK. Find OpenRouter under Available, click Add key, paste the key into the API key field, and click Save.
AnyRouter calls OpenRouter once before it stores the key. If the key is wrong, the dialog shows OpenRouter's error and nothing is saved. Once saved, the key is encrypted at rest and never shown again.
You don't need to set a base URL. The default (https://openrouter.ai/api/v1) is filled in for you.
How routing uses your key
When a request needs a model your OpenRouter key can serve, AnyRouter tries your key first, before the shared pool and before your AnyRouter credits. If your key is rate limited or fails, AnyRouter sets it aside for a short time and moves on to the next option.
Two settings change this:
- Always use. Turn this on for the key and AnyRouter uses only your key for matching models. It never falls back to the shared pool or to credits. If your key fails, the request fails.
- More than one key. Add several OpenRouter keys and pick a strategy (Fallback, Round Robin, Weighted, or Random) on the OpenRouter card.
The full order is on How AnyRouter Chooses a Credential.
What it costs
- AnyRouter charges nothing for requests served by your key. No markup, no per-request fee, and no credits are deducted.
:freemodels stay free. They run under OpenRouter's own limits for free models on your account.- Paid models bill your OpenRouter account at OpenRouter's price. If you don't want that, call only
:freemodels or set a spending limit on the key in OpenRouter.
Check that it works
Call a :free model with your AnyRouter key:
curl https://anyrouter.dev/api/v1/chat/completions \
-H "Authorization: Bearer $ANYROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nvidia/nemotron-nano-9b-v2:free",
"messages": [{ "role": "user", "content": "Say hello in one sentence." }]
}'Then open Dashboard → Logs. The newest row's Provider column shows which upstream served the request, and Cost shows $0. The set of free models changes over time, so pick any current :free model from the model catalog if this one isn't listed.
Donate your key to the shared pool
If your OpenRouter key has spare capacity, you can share it. On the key in Dashboard → BYOK, turn on Donate to pool. Other users' requests can then run on your key. There is no credit reward right now. Your own requests always come first, and you can turn it off at any time.
On the Free plan, donating an eligible key gives you Go, which unlocks free models and the shared pool, the same as subscribing to Go. Check that OpenRouter's terms allow sharing your key before you donate. See Share a Key to the Shared Pool for rewards and limits.
Troubleshooting
The live check failed. Check that you copied the whole key, including the sk-or- prefix, and that the key isn't disabled in OpenRouter. The dialog shows OpenRouter's exact error.
Your own OpenRouter free-model limit is used up. Wait for OpenRouter's limit to reset, add a second key, or add a key from another provider with a free tier. See Free capacity with your own keys.
OpenRouter rejected the key. It may be revoked or deleted. Create a new key in OpenRouter, add it in Dashboard → BYOK, and delete the old one.
You called a paid model, which bills your OpenRouter account. Use :free model ids only, or set a credit limit on the key in OpenRouter.
AnyRouter routes requests to third-party models. Models and outputs are provided as is, with no warranty; you use them at your own risk. Disclaimer