# OpenAI API Credits Expired: Can You Get Them Back?

> Purchased OpenAI API credits expire one year after purchase and can't be extended. Refunds cover only billing errors, unauthorized use, or an OpenAI failure.

- URL: https://blog.laozhang.ai/en/posts/openai-api-credits-expired
- Published: 2026-09-24
- Updated: 2026-09-24
- Author: LaoZhang AI Team (https://blog.laozhang.ai/en/about)
- Category: API Guides
- Tags: OpenAI API, API Credits, Prepaid Billing, API Billing, credit_balance_exhausted

---
In most cases, no. As of September 24, 2026, OpenAI's help page on [prepaid API billing](https://help.openai.com/en/articles/8264644-setting-up-and-managing-prepaid-api-billing) says purchased credits expire after one year and that OpenAI "cannot extend the expiration date of purchased credits or credit grants." Credits are non-refundable unless the law or a contract requires otherwise, or an approved exception applies. The listed exceptions are a verified billing error, confirmed unauthorized activity, and a confirmed OpenAI service failure or incorrect account restriction. Running out of time to use them is not on that list.

That still leaves four useful things to do. Confirm that expiry, and not something else, is what emptied the balance. File a support review only if one of the three exceptions fits your case. Get your API calls working again with a small purchase. Then keep your balance below what you will actually spend in the next 12 months, so the next lot doesn't expire either.

## What OpenAI's expiry rule covers

Two official documents set the rule, and they agree.

- **The help page**: purchased credits expire after one year, and OpenAI can't extend the date for purchased credits or for credit grants.
- **The [Service Credit Terms](https://openai.com/policies/service-credit-terms/)** (updated January 1, 2026): unused prepaid and promotional credits expire "one year after the date of purchase or issuance," unless something else was stated at the time of purchase. Credits are non-transferable, and selling, gifting, or trading them is prohibited. Doing so can get the credits revoked or the account suspended.

Because the clock runs from the date of purchase, each top-up carries its own expiry date. A developer who reported $1,060 expiring on the OpenAI Developer Community had funded it through five separate purchases of $10, $50, $200, $51, and $750 over a year. All of them eventually passed their one-year mark.

If your account holds both free and purchased credits, the free ones are spent first, according to the same help page. That order protects your paid money, but it also means a grant can quietly absorb your early usage while the clock on your paid lot keeps running.

Don't count on a warning. In the same forum thread, the developer quoted OpenAI Support as saying "OpenAI does not guarantee expiration reminder notifications." The same user reported that the purchase confirmation email, the invoice, and the receipt said nothing about expiry. A community leader on the forum replied that a note about expiry has sat on the purchase page for more than two years. Both can be true: the rule is disclosed at checkout, and no reminder is guaranteed after that.

## Confirm that expiry actually emptied your balance

A balance at $0 and a 429 error can have several causes, and only one of them is expiry. OpenAI has no error code for "your credits expired." Once the last lot lapses, you simply see the same error as an account that spent everything.

Start with the error body, not the HTTP status. OpenAI's [error-code guide](https://developers.openai.com/api/docs/guides/error-codes) says that for billing errors you should inspect `error.code`, because the broader `error.type` can still read `insufficient_quota`. In the Python SDK, a 429 raises `RateLimitError`, and the exception carries the same fields as `e.code` and `e.type`. The guide also says retrying billing, spend, or quota errors won't restore access, so switch off retry loops while you diagnose.

![Six symptoms matched to their cause and fix, from credit_balance_exhausted after a year-old purchase to spend limits, usage limits, rate limits, reversed payments, and expired API keys](https://blog.laozhang.ai/posts/en/openai-api-credits-expired/img/diagnose-zero-balance.webp)

| What you see | Most likely cause | What to check | What fixes it |
|---|---|---|---|
| 429 with `credit_balance_exhausted`, balance $0, last purchase over a year ago | Credits expired, or you spent them | Usage page: does your spend since that purchase add up to what you paid? The gap is what expired | Buy credits (next section) |
| Balance fell by exactly the amount of a payment you disputed or that was refunded | Credits removed after the dispute or refund | Billing history and your card statement | Nothing to restore; the payment itself was reversed |
| 429 with `organization_spend_limit_exceeded` or `project_spend_limit_exceeded` while the balance is positive | A spend limit you or a teammate set | Organization limits, then the project's settings | Raise or remove that spend limit; buying credits won't help |
| 429 with `organization_usage_limit_exceeded` | OpenAI's approved monthly usage limit for your organization | Limits page | Request a higher approved limit or contact support |
| 429 rate-limit error or `slow_down` | Requests or tokens per minute | Response headers and your request rate | Pace requests and honor `Retry-After` |
| Balance is negative, or a new purchase shows up smaller than you paid | Usage processed after the balance hit zero | Billing overview | Nothing to fix; the deficit comes out of your next purchase |
| 401, or `AuthenticationError` mentioning an expired key | The API key is invalid, expired, or revoked | API keys page | Create a new key; credits aren't involved |
| A grant you never paid for is gone | A promotional grant reached its own expiry date | The grant's listed expiry | Nothing; grants aren't refundable purchases |

If the first row fits, run the arithmetic before you contact anyone. Add up your usage since the purchase date on the Usage page and subtract it from what you paid. Whatever remains is roughly the amount that expired. If usage explains most of the drop, the problem is spending, not expiry. The rest of the 429 family is covered in [OpenAI API Error 429: Diagnose Rate Limits, Quota, and Spend Caps](https://blog.laozhang.ai/en/posts/openai-api-rate-limit), and a positive balance that still fails is covered in [OpenAI API Quota Exceeded Error: Fix insufficient_quota Without Chasing the Wrong Limit](https://blog.laozhang.ai/en/posts/openai-api-quota-exceeded-error).

### Where expiry dates show up

OpenAI Support has told customers they are "responsible for monitoring their credit balance and expiration information through their account billing or usage dashboard." Finding the dates is harder than that sounds. The $1,060 reporter said in March 2026 that Billing Overview, Billing History, and the Usage dashboard showed no expiry dates. Only a separate tab called "Credit Grants" listed them. Despite the name, that list reportedly includes credits you paid for, not just free grants. Treat the tab as the first place to look, and expect labels in the platform to move over time.

## When a refund or reinstatement request is worth filing

A review makes sense when your situation matches one of the exceptions on the help page. Each one needs evidence that support can check. The table maps each exception to the records worth collecting.

| Exception OpenAI lists | Covers unused credits | Covers credits already used | Evidence to gather |
|---|---|---|---|
| Verified billing error | Yes | Yes, as a billing correction | Invoice numbers, your card or bank statement, and the amount charged next to the amount credited |
| Confirmed unauthorized activity | Yes | Yes | Usage by API key and project showing spend you don't recognize, when each key was created and revoked, and your organization's member list |
| Confirmed OpenAI service failure or incorrect account restriction | Yes | Not listed | Dates your organization was blocked or restricted, error responses with timestamps, and earlier support ticket IDs |

"I forgot," "I wasn't reminded," and "my project got delayed" don't match any row. Forum reports show how narrow the door is. In December 2024, one user whose paid credits had expired later got a new grant with a fresh 12-month expiry. They wrote that they couldn't say why support made the exception. Others in the same thread were refused. By 2026, support was telling a customer that "Support teams are not able to grant exceptions to the 12-month expiration policy." One user was also denied a refund because more than 30 days had passed since the payment. A request costs little to send, but plan your budget as if the expired amount is gone.

If an exception does fit, contact support through [OpenAI's help center](https://help.openai.com/en/articles/6614161-how-can-i-contact-support) and put the facts in the first message:

1. Your organization ID and the email address that owns billing.
2. Each affected purchase: date, amount, and invoice number.
3. The exception you are claiming, stated in the help page's words.
4. The evidence from the table above, attached or summarized with dates.
5. The outcome you want: a refund of the unused amount or a replacement grant.

The terms say credits are non-refundable "except as required by law." Whether consumer law where you live changes that is a question for a local consumer agency or a lawyer. A card chargeback has a known cost: under the help page, a disputed payment removes credits equal to the disputed amount. One forum user also claimed that a dispute is "pretty much an instant ban." That is an unverified anecdote, but weigh it if the same organization runs anything you rely on.

## Get API calls working again

When the diagnosis points to an empty balance, the help page gives these steps:

1. Open the organization's [API billing overview](https://platform.openai.com/settings/organization/billing). You need billing permission for that organization.
2. Select **Buy credits** or **Add to credit balance**, whichever one appears.
3. Complete the purchase. The minimum purchase is $5.
4. Wait a few minutes for the balance to update, then send one small test request before restarting your jobs.

Two details can make the result look wrong. If usage kept running after the balance hit zero, the negative amount comes out of this purchase, so a $5 top-up can land as less than $5. And if the request still fails with a positive balance, read `error.code` again, since a spend limit or usage limit is a separate gate.

Look at the auto-reload setting before you confirm. In the setup flow, **Use auto-reload** is on by default. If you leave it on, you set a threshold, a balance to restore to, and an optional monthly reload limit. The next section shows how to pick numbers that don't recreate the problem.

## Size your next top-up so nothing expires

What expires is simple to compute:

**Amount that expires = what you bought in a purchase − what you used from it before its one-year date**

So the safe rule is to keep your balance at or below what you will realistically spend in the next 12 months. Base that estimate on your Usage page, not on plans. The examples below use a flat monthly spend for illustration. Substitute your own average from the last three months.

| Your average monthly spend | 12-month need | A one-off $200 top-up | At risk of expiring |
|---|---|---|---|
| $6 | $72 | Lasts about 33 months | About $128 |
| $15 | $180 | Lasts about 13 months | About $20 |
| $40 | $480 | Lasts 5 months | $0 |

![Bars showing how much of a one-off $200 top-up is used within a year versus expires at $6, $15, and $40 of monthly spend: about $128, about $20, and $0 at risk](https://blog.laozhang.ai/posts/en/openai-api-credits-expired/img/top-up-expiry-math.webp)

Irregular usage makes a large prepayment riskier still. A project that pauses for six months uses up half of a purchase's one-year window without spending anything from it.

For low or uneven usage, the small-and-frequent pattern fits better:

- **Buy the $5 minimum up front** instead of the $10 default or a larger round number.
- **Keep auto-reload, but make it small.** For someone spending about $6 a month, a threshold of $2, a restore-to balance of $10, and a monthly reload limit of $15 is one reasonable setup. It never holds more than roughly two months of spend. These are example values, not OpenAI guidance.
- **Pair auto-reload with a spend limit.** The help page is explicit that "a recharge limit is not an API usage limit." It caps automatic purchases, not how fast existing credits get used. If a key leaks, a project or organization spend limit is what stops the bleeding. The balance itself is not an instant cutoff either, because of the processing delay.
- **Set your own reminder.** After any purchase larger than a month or two of spend, add a calendar entry for about 11 months later. Nothing guarantees OpenAI will remind you.

Your trust tier, which is based on usage and payment history, caps the maximum balance your account can hold and the maximum automatic recharge. The help page doesn't list the dollar amounts for each tier.

## Related credits and questions

### Do Claude API credits expire too?

Yes. As of July 18, 2026, [Anthropic's help center](https://support.claude.com/en/articles/8977456-how-do-i-pay-for-my-claude-api-usage) said purchased Claude API credits expire one year after purchase, can't be extended, and are non-refundable. The same sizing rule applies.

### Are ChatGPT or Codex credits the same balance?

No. Credits bought inside ChatGPT for flexible usage in ChatGPT, Sora, or Codex are a separate product from API credits on platform.openai.com. An OpenAI help article quoted in the developer forum says those credits are also "valid for 12 months from purchase." How they interact with plan limits is covered in [ChatGPT Plus Codex Weekly Limits: Do Credits Add More Usage?](https://blog.laozhang.ai/en/posts/chatgpt-plus-codex-weekly-limit-credits).

### Can I sell or transfer my unused OpenAI credits?

No. The Service Credit Terms make credits non-transferable and prohibit selling, gifting, or trading them. Violations can lead to revoked credits or a suspended account without a refund. Credits can only be used for the service they were issued for.

### Why did free credits I never paid for disappear?

Promotional grants run on their own dates. The terms count a year from "issuance" unless the offer said otherwise. Older signup grants of $5 or $18 were reported to expire after about three months, but that is historical and unofficial. Current OpenAI docs don't promise new accounts any free credits. What is free today is covered in [OpenAI API Free Tier: What's Free and Which Limits Apply?](https://blog.laozhang.ai/en/posts/openai-api-free-tier).
