OpenAI API error 429 rate limit exceeded
You're building something with the OpenAI API and suddenly your requests start failing with "Error 429: Rate limit exceeded." Your app grinds to a halt, and you're stuck wondering what you hit and how to get around it.
OpenAI API error 429 rate limit exceeded
You're building something with the OpenAI API and suddenly your requests start failing with "Error 429: Rate limit exceeded." Your app grinds to a halt, and you're stuck wondering what you hit and how to get around it.
What's actually happening
Error 429 means you've exceeded one of OpenAI's usage limits. The API doesn't just cut you off arbitrarily — there are specific rate limits controlling how many requests you can make per minute (RPM), how many tokens you can process per minute (TPM), and how many requests you can batch per day (RPD).
When you see `RateLimitError: 429 Rate limit reached for requests` or `You exceeded your current quota`, you've crossed one of these thresholds. The exact limit depends on your usage tier. Free-tier users get minimal capacity — around 3 requests per minute for GPT-4 models. Paid API users start at Tier 1 with higher limits, and your tier increases automatically as you spend more. A $5 total spend gets you to Tier 2, $50 gets Tier 3, and so on up to Tier 5 at $1,000+ spend.
The frustrating part: even if you have credits, you can still hit rate limits. Having $100 in your account doesn't mean you can suddenly make unlimited requests. The limits exist to prevent abuse and manage infrastructure load across all users.
How to fix it
1. Check your current rate limits
Go to platform.openai.com/settings/organization/limits. You'll see your exact RPM, TPM, and RPD limits for each model. This tells you what you're working with.
2. Implement exponential backoff
The fastest fix is adding retry logic to your code. When you get a 429 error, wait a few seconds and try again. Double the wait time with each retry:
```python
import time
max_retries = 5
for attempt in range(max_retries):
try:
response = openai.ChatCompletion.create(...)
break
except openai.error.RateLimitError:
wait_time = 2 ** attempt
time.sleep(wait_time)
```
3. Batch your requests
If you're making 50 individual API calls, you're burning through your RPM quota fast. Use the Batch API instead — submit multiple requests as a single batch file. Go to platform.openai.com/batches to upload your JSONL file. Batches have separate, much higher daily limits.
4. Request a rate limit increase
Click the limit you're hitting on the limits page, then click "Request increase." You'll need to explain your use case and current spend level. OpenAI typically responds within 2-3 business days. They approve increases for legitimate production apps but often deny requests from accounts with minimal usage history.
5. Upgrade your tier faster
If you're stuck at Tier 1, make a small prepaid credit purchase — even $10 pushes you toward Tier 2. Your tier updates automatically based on total spend, not monthly spend. Check platform.openai.com/account/billing/overview to see where you stand.
If that doesn't work
Still hitting limits after implementing backoff? You're probably making too many requests for your tier or using an inefficient approach.
Contact OpenAI support through platform.openai.com/account/support. Include your organization ID (found at platform.openai.com/settings/organization/general), the exact error message with timestamp, which model you're using, and your specific use case. Generic "I need more quota" requests usually get denied. Explain *why* your app needs the capacity — "processing customer support tickets for 5,000 active users" works better than "testing my chatbot."
For issues with unexpected charges or quota exhaustion, check your usage dashboard first. For other API errors beyond 429, see our guide on common OpenAI API errors and fixes.
Response times vary. Tier 1 accounts might wait a week. Tier 4+ accounts with significant spend often get responses within 24 hours.
Questions people actually ask
Q: I have $100 in credits but still get rate limit errors. Why?
A: Credits and rate limits are separate. Your tier determines request limits, not your balance. Spend more over time to increase your tier.
Q: How long do I have to wait when I hit the rate limit?
A: The error response includes a `Retry-After` header telling you exactly how many seconds to wait. Usually 20-60 seconds for RPM limits.
Q: Can I pay to instantly increase my limits?
A: No. You must either wait for automatic tier progression based on spend, or request a manual increase and wait for approval.
What to remember
- Rate limits are based on spend tier, not account balance
- Implement exponential backoff in your code immediately — it's the fastest fix
- Use the Batch API for high-volume non-urgent requests
- Request increases through the limits page with specific use case details
- Free tier gets severely restricted access — paid tier starts at $5 total spend
---
*openai-support.com is an independent resource, not affiliated with OpenAI Inc.*