TL;DR: You need to upgrade to a paid plan. Set up a paid account, add a credit or debit card, and generate a new API key if your old one was generated before the upgrade. It might take 10 minutes or so after you upgrade to a paid plan before the paid account becomes active and the error disappears.
Problem
As stated in the official OpenAI documentation:
TYPE |
OVERVIEW |
RateLimitError |
Cause: You have hit your assigned rate limit. Solution: Pace your requests. Read more in our rate limit guide. |
Also, read more about Error Code 429 - You exceeded your current quota, please check your plan and billing details:
This (i.e., 429
) error message indicates that you have hit your maximum monthly
spend (hard limit) for the API. This means that you have consumed all
the credits or units allocated to your plan and have reached the limit
of your billing cycle. This could happen for several reasons, such as:
You are using a high-volume or complex service that consumes a lot of credits or units per request.
You are using a large or diverse data set that requires a lot of requests to process.
Your limit is set too low for your organization’s usage.
Did you sign up some time ago?
You're getting error 429
because either you used all your free tokens or 3 months have passed since you signed up.
As stated in the official OpenAI article:
To explore and experiment with the API, all new users get $5
worth of free tokens. These tokens expire after 3 months.
After the quota has passed you can choose to enter billing information
to upgrade to a paid plan and continue your use of the API on
pay-as-you-go basis. If no billing information is entered you will
still have login access, but will be unable to make any further API
requests.
Please see the pricing page for the latest information on
pay-as-you-go pricing.
Note: If you signed up earlier (e.g., in December 2022), you got $18 worth of free tokens.
Check your API usage in the usage dashboard.
For example, my free trial expires tomorrow and this is what I see right now in the usage dashboard:
This is how my dashboard looks after expiration:
If I run a simple script after my free trial has expired, I get the following error:
openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details.
Did you create your second OpenAI account?
You're getting error 429
because you created a second OpenAI account with the same phone number. It seems like free credit is given based on phone numbers.
As explained on the official OpenAI forum by @SapphireFelineBytes:
I created an Open AI account in November and my $18 credits expired on
March 1st. So, like many of you here, I tried creating a new account
with a different email address, but same number. They gave me $0
credits.
I tried now with a different phone number and email. This time I got
$5 credits.
It's confirmed that free credit is given based on phone numbers, as explained on the official OpenAI forum by @logankilpatrick:
Also note, you only get free credits for the first account associated
with your phone number. Subsequent accounts are not granted free credits.
Solution
Try to do the following:
- Set up paid account.
- Add a credit or debit card.
- Generate a new API key if your old API key was generated before you upgraded to the paid plan.
When you upgrade to a paid plan, don't expect the error to disappear immediately, as @dcferreira mentioned in the comment above. It might take a few minutes after the upgrade before the error disappears.
In the comment below, @JoeMornin confirmed that it took 10 minutes for his paid account to become active. In the meantime, he was getting the following error:
You've reached your usage limit. See your usage dashboard and billing settings for more details. If you have further questions, please contact us through our help center at help.openai.com.
tenacity.wait_random_exponential(min=5, max=60),
in my api call to get rid of this error! – Diphyodont