Billing and limits
Rate limits
Usage tiers, what each one allows, and how to handle 429.
Limits apply per account: every key on the account shares them. A refused request gets HTTP 429 with a Retry-After header in seconds.
Usage tiers
Each account sits in one tier. Tiers rise with cleared top-ups (bonus, refunded and disputed amounts don't count) and the days since your first payment.
FreeOn sign-up
- RPM
- 2
- RPD
- 20
- TPM in · out
- 8K · 2K
- Streams
- 1
- Cap / mo
- $0
T1$5 paid
- RPM
- 20
- RPD
- 1,000
- TPM in · out
- 40K · 10K
- Streams
- 2
- Cap / mo
- $100
T2$50 paid · 3 days
- RPM
- 60
- RPD
- 3,000
- TPM in · out
- 120K · 30K
- Streams
- 5
- Cap / mo
- $500
T3$100 paid · 7 days
- RPM
- 120
- RPD
- 10,000
- TPM in · out
- 240K · 60K
- Streams
- 10
- Cap / mo
- $2,000
T4$500 paid · 14 days
- RPM
- 300
- RPD
- 30,000
- TPM in · out
- 600K · 150K
- Streams
- 20
- Cap / mo
- $5,000
T5$1,000 paid · 30 days
- RPM
- 600
- RPD
- 100,000
- TPM in · out
- 1.2M · 300K
- Streams
- 40
- Cap / mo
- $20,000
CustomManual review
- RPM
- up to 600
- RPD
- up to 100,000
- TPM in · out
- up to 1.2M · 300K
- Streams
- up to 40
- Cap / mo
- up to $20,000
RPM requests per minute · RPD requests per day · TPM tokens per minute, input · output (input counts cached tokens) · Streams concurrent streaming requests. A 0 is a hard stop, never “unlimited”: a $0 monthly cap means no paid usage on that tier. Custom limits are set per account after a review, up to the T5 figures (≤).
Enforced today: requests per minute by the gateway, per account; monthly usage cap, the largest single top-up and tier promotion by billing. A key that reaches the monthly cap is refused with 401 until the cap resets. RPD, TPM in · out, Streams: published policy, not enforced yet.
Monthly caps follow the UTC calendar month. Next reset: Nov 1, 2026, 00:00 UTC, which is for you.
Handling 429
The OpenAI SDKs already retry 429 and 5xx responses with backoff and honour Retry-After (2 retries by default). Raise the count if you need more; without an SDK, wait the Retry-After seconds yourself.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.azrouter.dev/v1",
api_key=os.environ["AZROUTER_API_KEY"],
max_retries=5,
)Other limits at the network edge and on the website protect against abuse and aren't published.