OpenAI API rate limits control how many requests, tokens, images, audio minutes, and batch jobs an organization or project can process within a fixed period.
The active limits depend on the model, endpoint, usage tier, organization, project, request size, and shared limit group. They are separate from model context windows, maximum output tokens, ChatGPT message caps, and monthly spend controls.
This post explains RPM, TPM, RPD, TPD, and IPM; lists verified limits for current and previous GPT, reasoning, image, video, realtime, audio, embedding, and moderation models; shows where to check account-specific limits; and covers practical fixes for 429 errors.
Last verified: August 3, 2026.
Understanding the OpenAI API Rate Limits
OpenAI measures API throughput through several independent limits. A request fails as soon as it exceeds any applicable limit.
| Limit | Meaning | What it controls | Common trigger |
|---|---|---|---|
| RPM | Requests per minute | API calls sent within a minute | Many short requests or high concurrency |
| RPD | Requests per day | Total daily API calls | Large daily job volume |
| TPM | Tokens per minute | Input and output token throughput | Long prompts, large outputs, or many parallel calls |
| TPD | Tokens per day | Total daily token throughput | High-volume production workloads |
| IPM | Images per minute | Image generations and edits | Parallel image jobs |
| Audio minutes per minute | Audio throughput | Audio processed by supported streaming models | Concurrent voice sessions |
| Batch queue limit | Queued input tokens per model | Prompt tokens waiting in Batch API jobs | Large pending batch workloads |
An application can stay below TPM and still hit RPM. A long prompt can stay below RPM and still hit TPM. Batch jobs can stop accepting work after queued input tokens reach the model-specific queue limit.
OpenAI API Limits vs ChatGPT Free and Plus Limits
OpenAI API limits and ChatGPT plan limits use separate products, billing systems, and measurements. A ChatGPT subscription does not include API usage or increase an API organization’s rate limits.
| Limit type | Applies to | Typical measurements | Where to check |
|---|---|---|---|
| OpenAI API rate limits | API organizations and projects | RPM, TPM, RPD, TPD, IPM, batch queue | OpenAI Platform Limits page |
| API free usage tier | Eligible API accounts and supported models | Model-specific API throughput and monthly usage limit | OpenAI Platform Limits page |
| ChatGPT Free, Go, Plus, and Pro limits | ChatGPT plans | Messages, model access, tools, and feature usage | ChatGPT interface and plan documentation |
For context windows, maximum output tokens, and ChatGPT plan limits, see ChatGPT and OpenAI token limits.
Current OpenAI API Rate Limits: Quick Reference
OpenAI can assign different limits to an organization, project, long-context workload, or shared model group. Check the Platform Limits dashboard before setting production capacity or concurrency targets.
GPT-5.6 Sol, Terra, and Luna Synchronous Limits
| Usage tier | GPT-5.6 Sol RPM / TPM | GPT-5.6 Terra RPM / TPM | GPT-5.6 Luna RPM / TPM |
|---|---|---|---|
| Free | Not supported | Not supported | Not supported |
| Tier 1 | 500 / 500,000 | 500 / 500,000 | 500 / 500,000 |
| Tier 2 | 5,000 / 1,000,000 | 5,000 / 1,000,000 | 5,000 / 2,000,000 |
| Tier 3 | 5,000 / 2,000,000 | 5,000 / 2,000,000 | 5,000 / 4,000,000 |
| Tier 4 | 10,000 / 4,000,000 | 10,000 / 4,000,000 | 10,000 / 10,000,000 |
| Tier 5 | 15,000 / 40,000,000 | 15,000 / 40,000,000 | 30,000 / 180,000,000 |
GPT-5.6 Batch Queue Limits
| Usage tier | GPT-5.6 Sol | GPT-5.6 Terra | GPT-5.6 Luna |
|---|---|---|---|
| Free | Not supported | Not supported | Not supported |
| Tier 1 | 1,500,000 | 1,500,000 | 5,000,000 |
| Tier 2 | 3,000,000 | 3,000,000 | 20,000,000 |
| Tier 3 | 100,000,000 | 100,000,000 | 40,000,000 |
| Tier 4 | 200,000,000 | 200,000,000 | 1,000,000,000 |
| Tier 5 | 15,000,000,000 | 15,000,000,000 | 15,000,000,000 |
Batch queue values represent input tokens queued for the model. Tokens stop counting against the queue after the related batch completes.
GPT Image 2 Rate Limits
| Usage tier | TPM | IPM |
|---|---|---|
| Free | Not supported | Not supported |
| Tier 1 | 100,000 | 5 |
| Tier 2 | 250,000 | 20 |
| Tier 3 | 800,000 | 50 |
| Tier 4 | 3,000,000 | 150 |
| Tier 5 | 8,000,000 | 250 |
GPT Image 2 uses token throughput and images-per-minute limits. Image applications need to monitor both values.
Earlier GPT-5 Model Rate Limits
| Model or model family | Tier 1 | Tier 2 | Tier 3 | Tier 4 | Tier 5 |
|---|---|---|---|---|---|
| GPT-5.5, GPT-5.4, GPT-5.2, GPT-5, GPT-5.3 Codex | 500 / 500,000 | 5,000 / 1,000,000 | 5,000 / 2,000,000 | 10,000 / 4,000,000 | 15,000 / 40,000,000 |
| GPT-5.5 Pro | 50 / 50,000 | 500 / 200,000 | 500 / 500,000 | 1,000 / 1,000,000 | 2,000 / 4,000,000 |
| GPT-5.4 Pro, GPT-5.2 Pro, GPT-5 Pro | 500 / 30,000 | 5,000 / 450,000 | 5,000 / 800,000 | 10,000 / 2,000,000 | 10,000 / 30,000,000 |
| GPT-5.4 Mini, GPT-5 Mini | 500 / 500,000 | 5,000 / 2,000,000 | 5,000 / 4,000,000 | 10,000 / 10,000,000 | 30,000 / 180,000,000 |
| GPT-5.4 Nano, GPT-5 Nano | 500 / 200,000 | 5,000 / 2,000,000 | 5,000 / 4,000,000 | 10,000 / 10,000,000 | 30,000 / 180,000,000 |
These models do not all share the same Batch Queue Limit. Check the selected model page or the Platform Limits dashboard before submitting large batch workloads.
GPT-4.1, GPT-4o, and GPT-4 Rate Limits
GPT-4o is deprecated. GPT-4.1, GPT-4.1 mini, and GPT-4o mini have separate throughput limits.
| Model | Status | Tier 1 | Tier 2 | Tier 3 | Tier 4 | Tier 5 |
|---|---|---|---|---|---|---|
| GPT-4.1 | Current | 500 / 30,000 | 5,000 / 450,000 | 5,000 / 800,000 | 10,000 / 2,000,000 | 10,000 / 30,000,000 |
| GPT-4.1 mini | Current | 500 / 200,000 | 5,000 / 2,000,000 | 5,000 / 4,000,000 | 10,000 / 10,000,000 | 30,000 / 150,000,000 |
| GPT-4.1 nano | Previous | 500 / 200,000 | 5,000 / 2,000,000 | 5,000 / 4,000,000 | 10,000 / 10,000,000 | 30,000 / 150,000,000 |
| GPT-4o | Deprecated | 500 / 30,000 | 5,000 / 450,000 | 5,000 / 800,000 | 10,000 / 2,000,000 | 10,000 / 30,000,000 |
| GPT-4o mini | Current | 500 / 200,000 | 5,000 / 2,000,000 | 5,000 / 4,000,000 | 10,000 / 10,000,000 | 30,000 / 150,000,000 |
| GPT-4 | Legacy | 500 / 10,000 | 5,000 / 40,000 | 5,000 / 80,000 | 10,000 / 300,000 | 10,000 / 1,000,000 |
O-Series Reasoning Model Rate Limits
| Model or model family | Tier 1 | Tier 2 | Tier 3 | Tier 4 | Tier 5 |
|---|---|---|---|---|---|
| o3, o3-pro, o1, o1-pro | 500 / 30,000 | 5,000 / 450,000 | 5,000 / 800,000 | 10,000 / 2,000,000 | 10,000 / 30,000,000 |
| o4-mini | 1,000 / 100,000 | 2,000 / 2,000,000 | 5,000 / 4,000,000 | 10,000 / 10,000,000 | 30,000 / 150,000,000 |
| o3-mini | 1,000 / 100,000 | 2,000 / 200,000 | 5,000 / 4,000,000 | 10,000 / 10,000,000 | 30,000 / 150,000,000 |
| o1-mini | 500 / 200,000 | 5,000 / 2,000,000 | 5,000 / 4,000,000 | 10,000 / 10,000,000 | 30,000 / 150,000,000 |
| o3-deep-research | 500 / 200,000 | 5,000 / 450,000 | 5,000 / 800,000 | 10,000 / 2,000,000 | 10,000 / 30,000,000 |
| o4-mini-deep-research | 1,000 / 200,000 | 2,000 / 2,000,000 | 5,000 / 4,000,000 | 10,000 / 10,000,000 | 30,000 / 150,000,000 |
Deep-research models use much smaller Batch Queue Limits than their synchronous TPM values suggest. Check their individual model pages before queueing research jobs.
Deprecated Image Model Rate Limits
| Model | Status | Tier 1 | Tier 2 | Tier 3 | Tier 4 | Tier 5 |
|---|---|---|---|---|---|---|
| GPT Image 1.5 | Deprecated | 100,000 TPM / 5 IPM | 250,000 / 20 | 800,000 / 50 | 3,000,000 / 150 | 8,000,000 / 250 |
| GPT Image 1 | Deprecated | 100,000 TPM / 5 IPM | 250,000 / 20 | 800,000 / 50 | 3,000,000 / 150 | 8,000,000 / 250 |
| GPT Image 1 mini | Deprecated | 100,000 TPM / 5 IPM | 250,000 / 20 | 800,000 / 50 | 3,000,000 / 150 | 8,000,000 / 250 |
Sora 2 Video API Rate Limits
| Model | Free | Tier 1 | Tier 2 | Tier 3 | Tier 4 | Tier 5 |
|---|---|---|---|---|---|---|
| Sora 2 | Not supported | 25 RPM | 50 RPM | 125 RPM | 200 RPM | 375 RPM |
| Sora 2 Pro | Not supported | 10 RPM | 25 RPM | 50 RPM | 75 RPM | 150 RPM |
Realtime API Rate Limits
GPT-Realtime-2.1, GPT-Realtime-2.1 mini, GPT-Realtime-2, and GPT-Realtime-1.5 use the current Realtime throughput profile. Deprecated Realtime aliases use the same listed RPM and TPM values.
| Model group | Status | Tier 1 | Tier 2 | Tier 3 | Tier 4 | Tier 5 |
|---|---|---|---|---|---|---|
| GPT-Realtime-2.1, 2.1 mini, 2, 1.5 | Current | 200 / 40,000 | 400 / 200,000 | 5,000 / 800,000 | 10,000 / 4,000,000 | 20,000 / 15,000,000 |
| GPT-Realtime, GPT-4o Realtime, GPT-4o mini Realtime | Deprecated | 200 / 40,000 | 400 / 200,000 | 5,000 / 800,000 | 10,000 / 4,000,000 | 20,000 / 15,000,000 |
Audio, Speech, and Transcription Rate Limits
Audio APIs use different limit profiles for audio-in/audio-out models, transcription models, and classic speech endpoints.
| Model | Free | Tier 1 | Tier 2 | Tier 3 | Tier 4 | Tier 5 |
|---|---|---|---|---|---|---|
| gpt-audio-1.5 | Not supported | 500 / 30,000 | 5,000 / 450,000 | 5,000 / 800,000 | 10,000 / 2,000,000 | 10,000 / 30,000,000 |
| GPT-4o Transcribe | Not supported | 500 / 10,000 | 2,000 / 100,000 | 5,000 / 400,000 | 10,000 / 2,000,000 | 10,000 / 6,000,000 |
| GPT-4o Transcribe Diarize | Not supported | 500 / 10,000 | 5,000 / 100,000 | 5,000 / 400,000 | 10,000 / 2,000,000 | 10,000 / 6,000,000 |
| GPT-4o mini Transcribe | Not supported | 500 / 50,000 | 2,000 / 150,000 | 5,000 / 600,000 | 10,000 / 2,000,000 | 10,000 / 8,000,000 |
| Classic audio model | Free | Tier 1 | Tier 2 | Tier 3 | Tier 4 | Tier 5 |
|---|---|---|---|---|---|---|
| TTS-1 | 3 RPM / 200 RPD | 500 RPM | 2,500 RPM | 5,000 RPM | 7,500 RPM | 10,000 RPM |
| TTS-1 HD | Not supported | 500 RPM | 2,500 RPM | 5,000 RPM | 7,500 RPM | 10,000 RPM |
| Whisper-1 | 3 RPM / 200 RPD | 500 RPM | 2,500 RPM | 5,000 RPM | 7,500 RPM | 10,000 RPM |
Embedding API Rate Limits
Text-embedding-3-large, text-embedding-3-small, and the older text-embedding-ada-002 share the published profile below. Embedding limits are useful for RAG ingestion, search indexing, clustering, and migration jobs.
| Tier | RPM | RPD | TPM | Batch Queue Limit |
|---|---|---|---|---|
| Free | 100 | 2,000 | 40,000 | – |
| Tier 1 | 3,000 | – | 1,000,000 | 3,000,000 |
| Tier 2 | 5,000 | – | 1,000,000 | 20,000,000 |
| Tier 3 | 5,000 | – | 5,000,000 | 100,000,000 |
| Tier 4 | 10,000 | – | 5,000,000 | 500,000,000 |
| Tier 5 | 10,000 | – | 10,000,000 | 4,000,000,000 |
Moderation API Rate Limits
Omni-moderation-latest accepts text and image input and has a documented Free-tier profile. Moderation models use their own RPM, RPD, and TPM limits.
| Tier | RPM | RPD | TPM |
|---|---|---|---|
| Free | 250 | 5,000 | 10,000 |
| Tier 1 | 500 | 10,000 | 10,000 |
| Tier 2 | 500 | – | 20,000 |
| Tier 3 | 1,000 | – | 50,000 |
| Tier 4 | 2,000 | – | 250,000 |
| Tier 5 | 5,000 | – | 500,000 |
Rate Limits for Pay-as-you-go Users (Tier 1–Tier 5)
Pay-as-you-go accounts receive model-specific limits based on their usage tier. The tier controls the general capacity range. Each model page supplies the actual RPM, TPM, IPM, audio, or batch queue values.
Do not copy one model’s limits to another model. GPT-5.6 Sol and Terra currently share the same standard tier table, while GPT-5.6 Luna uses higher TPM and RPM values at upper tiers. Image, realtime, audio, embedding, fine-tuning, and deep-research models follow separate tables.
OpenAI Usage Tiers
OpenAI automatically graduates organizations to higher usage tiers as API spend increases. A higher tier usually raises rate limits across most models. It does not give every model the same limit.
| Tier | Qualification | Monthly usage limit |
|---|---|---|
| Free | User must be in an allowed geography | $100 per month |
| Tier 1 | $5 paid | $100 per month |
| Tier 2 | $50 paid | $500 per month |
| Tier 3 | $100 paid | $1,000 per month |
| Tier 4 | $250 paid | $5,000 per month |
| Tier 5 | $1,000 paid | $200,000 per month |
OpenAI API Free Tier Rate Limits
The API Free tier is separate from the ChatGPT Free plan. Model access depends on the API account, allowed geography, organization status, and current model support.
GPT-5.6 Sol, GPT-5.6 Terra, GPT-5.6 Luna, GPT-4.1, GPT-4o, O-series reasoning models, GPT Image models, Realtime models, and Sora 2 currently list Free tier access as Not supported.
Some specialized models have documented Free-tier limits:
| Model or category | Free-tier limits |
|---|---|
| text-embedding-3-large and text-embedding-3-small | 100 RPM, 2,000 RPD, 40,000 TPM |
| omni-moderation-latest | 250 RPM, 5,000 RPD, 10,000 TPM |
| TTS-1 | 3 RPM, 200 RPD |
| Whisper-1 | 3 RPM, 200 RPD |
Open the Platform Limits page to confirm which Free-tier models and limits are active for the account.
How OpenAI API Rate Limits Work
- Organization and project scope: Limits apply at the organization and project level, not only to one user or API key.
- Model-specific capacity: Each model has its own tier table.
- Shared model groups: Related models can draw from the same RPM or TPM pool.
- Long-context limits: Large-context requests can use a separate lower throughput limit.
- Project token limits: A project-level token limit can be lower than the organization-wide model limit.
- Monthly usage limits: OpenAI assigns an approved monthly organization usage limit. Organization and project spend controls are separate settings.
- Vector store ingestion: File and file-batch ingestion endpoints share a 300 RPM limit for each vector store ID.
OpenAI Rate Limits vs Token Limits
| Limit type | What it controls | Example problem | Correct response |
|---|---|---|---|
| Rate limit | Throughput over time | 429 after a burst of calls | Throttle, queue, retry, or request more capacity |
| Context window | Input plus output that fits in one request | A long document exceeds the model limit | Shorten, split, summarize, or select another model |
| Maximum output tokens | Longest response allowed for one request | A long answer stops early | Adjust the output budget within the model limit |
| Usage limit | Approved monthly API usage | Requests stop after the organization reaches its monthly ceiling | Review billing, usage limits, and account eligibility |
| Spend control | Configured organization or project budget | A project stops after reaching its budget | Review project or organization spend settings |
Increasing a rate limit does not change a model's context window. Selecting a model with a larger context window does not raise RPM or TPM.
Where to Check Your Current OpenAI Rate Limits
Use the OpenAI Platform dashboard for account-specific values:
- Open OpenAI Platform Limits.
- Select the correct organization.
- Select the project used by the application.
- Review limits by model and endpoint.
- Check shared model groups, long-context limits, and project-level token limits.
- Use the increase request option when it appears and the workload requires more capacity.
Production applications should also log rate-limit response headers. These headers show the active request and token budget for a call.
| Header | What it shows |
|---|---|
Retry-After | Minimum wait in seconds before retrying an eligible temporary 429 error |
x-ratelimit-limit-requests | Maximum request allowance in the active window |
x-ratelimit-remaining-requests | Requests left in the active window |
x-ratelimit-reset-requests | Time until the request allowance resets |
x-ratelimit-limit-tokens | Maximum token allowance in the active window |
x-ratelimit-remaining-tokens | Tokens left in the active window |
x-ratelimit-reset-tokens | Time until the token allowance resets |
x-ratelimit-limit-project-tokens | Project-scoped token limit when one applies |
x-ratelimit-remaining-project-tokens | Project-scoped tokens still available |
x-ratelimit-reset-project-tokens | Time until the project token allowance resets |
Rate Limits by API Type
| API type | Main limits to monitor | Typical constraint |
|---|---|---|
| Responses API | RPM, TPM, TPD, shared limits, project token limits | Agents and multimodal workflows consume token capacity through prompts, outputs, and tool calls |
| Chat Completions API | RPM, TPM, TPD | High-concurrency chat apps often hit RPM first |
| Embeddings API | RPM, TPM, payload size | Large indexing jobs consume token throughput |
| Images API | TPM, IPM | Parallel generation and editing jobs hit IPM |
| Realtime and audio APIs | Sessions, RPM, TPM, audio throughput, model-specific limits | Voice products require concurrency and session control |
| Batch API | Requests per batch, file size, batch creation rate, queued input tokens | Large offline workloads need queue planning |
| Video API | Model-specific RPM | Video generation jobs consume a lower request rate than text workloads |
| Moderation API | RPM, RPD, TPM | Text and image moderation uses a separate model profile |
| Fine-tuning | Active jobs, queued jobs, jobs per day, inference limits | Training capacity and inference capacity use separate limits |
| Vector stores | Ingestion requests per vector store | File and file-batch ingestion share 300 RPM per vector store ID |
Batch API Rate Limits
The Batch API processes asynchronous jobs through a separate rate-limit pool. It is designed for work that does not require an immediate response.
| Batch limit | Current value or behavior |
|---|---|
| Requests per batch | Up to 50,000 requests |
| Input file size | Up to 200 MB |
| Embedding inputs | Up to 50,000 embedding inputs across all requests in one batch |
| Batch creation rate | Up to 2,000 batches per hour |
| Queued prompt tokens | Model-specific limit shown in Platform settings |
| Completion window | Designed to complete within 24 hours |
| Output-token limit | No separate Batch API output-token limit |
Batch jobs do not consume the standard per-model synchronous token pool. Use Batch for evaluations, classification, embeddings, backfills, extraction, moderation, image jobs, and other offline workloads.
Why You Can Get 429 Errors Below the Published Limit
OpenAI calculates token capacity from the larger of the configured maximum token value and an estimate based on request size. Set the output budget close to the expected response length.
- A short traffic burst exceeds a smaller internal time window.
- RPM is exhausted while TPM remains available.
- TPM is exhausted through long prompts or large output budgets.
- The request uses a project with a lower token limit.
- Several models draw from the same shared limit group.
- A long-context request uses a separate throughput limit.
- Pending batch jobs fill the model’s queued input-token allowance.
- The organization has reached its approved monthly usage limit or a configured spend control.
- The configured maximum output budget is much larger than the response the application needs.
How to Fix OpenAI 429 Errors
Start by reading the error code and response headers. A temporary rate-limit error supports retry behavior. Quota, billing, and account errors require a settings or billing change.
- Honor
Retry-Afterwhen the header is present. - Use exponential backoff with random jitter when
Retry-Afteris missing. - Limit the number of attempts and total retry time.
- Reduce concurrency across web servers, workers, and background jobs.
- Shorten prompts and lower the maximum output token setting.
- Check the organization, project, model, shared limit group, and monthly usage limit.
- Move offline workloads to Batch API.
The official OpenAI Python SDK automatically retries eligible connection, timeout, 409, 429, and server errors twice by default. Configure the SDK retry count instead of wrapping every standard request in a second uncontrolled retry loop. Failed requests count toward per-minute limits. Repeating a failed call in a tight loop makes the overload last longer.
from openai import OpenAI, RateLimitError
client = OpenAI(max_retries=5)
try:
response = client.responses.create(
model="gpt-5.6-luna",
input="Summarize the incident report in five bullets.",
max_output_tokens=400,
)
print(response.output_text)
except RateLimitError as error:
# The configured SDK retries have already been attempted.
# Record the error and move the job back to a controlled queue.
print(f"Rate limit error: {error}")How to Prevent Rate Limit Problems
Control concurrency. Set a global request ceiling across application servers and workers. Independent workers can exceed a shared organization or project pool even when each process appears safe.
Use a request queue. Smooth traffic spikes, prioritize user-facing jobs, and retry temporary failures without flooding the API.
Set realistic output budgets. Use separate defaults for short answers, extraction, summaries, reports, and long-form generation.
Reduce token waste. Remove duplicated instructions, unused examples, stale conversation history, oversized JSON, and irrelevant retrieved text.
Separate live and offline workloads. Live requests should not compete with indexing, evaluations, analytics, or backfills in one uncontrolled queue.
Log rate-limit headers. Track remaining requests, remaining tokens, reset times, project token limits, model names, latency, and retry count.
Use Batch API for deferred work. Batch provides a separate pool for supported endpoints and models.
How to Increase OpenAI API Rate Limits
OpenAI automatically advances organizations through usage tiers as paid API usage increases. Higher tiers usually provide more capacity across most models.
Open the Platform Limits page when the workload still exceeds capacity after queueing, backoff, token reduction, and Batch API use. Eligible organizations can request a limit increase from that page.
High-volume organizations can also evaluate contracted capacity options. These arrangements are separate from standard pay-as-you-go limits.
OpenAI Rate Limit Examples
Support chatbot: Thousands of short messages can exhaust RPM before TPM. Add concurrency controls, cache repeated answers, and queue background tool calls.
Report generator: A small number of long requests can exhaust TPM. Reduce retrieved context, generate sections separately, and lower the output budget.
Website embedding job: Large indexing work consumes token throughput. Deduplicate pages, queue chunks, and use Batch API when results do not need to return immediately.
Image generation app: Parallel jobs can exhaust IPM. Use per-user queues, visible wait states, and a global image-job ceiling.
Realtime voice assistant: Concurrent sessions consume session, token, and audio capacity. Reserve capacity for active calls and close idle sessions promptly.
Quick Troubleshooting Checklist
| Symptom | Likely cause | First action |
|---|---|---|
| 429 after many short calls | RPM or burst limit | Reduce concurrency and queue requests |
| 429 after long prompts | TPM or project token limit | Shorten input and reduce output budget |
| 429 during traffic spikes | Short-window burst enforcement | Honor Retry-After and add jitter |
| 429 only in one project | Project-scoped token limit or spend control | Check project settings and project headers |
| 429 after switching models | Different model table or shared limit group | Check the selected model and shared pool |
| Batch job will not start | Queued input-token limit | Wait for jobs to finish or reduce queued tokens |
| API stops after monthly usage | Organization usage limit or spend control | Review billing and limit settings |
| Repeated 429s after SDK retries | Sustained overload or non-retryable quota issue | Read the error code and move work to a queue |
FAQs
What are OpenAI API rate limits?
OpenAI API rate limits control request, token, image, audio, and batch throughput for an organization or project during defined time windows.
What do RPM and TPM mean?
RPM means requests per minute. TPM means tokens per minute. An application must stay below both active limits.
Are OpenAI API limits the same as ChatGPT Plus limits?
No. ChatGPT plan limits apply to the ChatGPT product. API limits apply to API organizations and projects. ChatGPT and API billing are managed separately.
Does ChatGPT Plus increase OpenAI API rate limits?
No. A ChatGPT Plus subscription does not include API usage and does not raise an API organization’s usage tier.
Does the OpenAI API have a Free tier?
OpenAI lists an API Free usage tier for eligible users in allowed geographies. Model support and exact limits depend on the account. GPT-5.6 and GPT Image 2 currently do not support the Free tier.
Does the Free tier’s $100 monthly usage limit mean $100 in free credits?
No. The table labels that amount as the tier’s monthly usage limit. Promotional or granted API credits follow separate eligibility and account rules.
Are rate limits assigned per API key?
Rate limits are mainly defined at the organization and project level. Several API keys can draw from the same shared limits.
Why do I receive a 429 below the published per-minute number?
A different limit can be exhausted first. Common causes include burst windows, TPM, project token limits, shared model groups, long-context limits, batch queue limits, and monthly usage limits.
How should I retry an OpenAI 429 error?
Honor Retry-After for temporary rate-limit errors. Use exponential backoff with jitter when the header is absent. Do not retry billing, quota, or account errors without correcting the underlying issue.
Does the OpenAI SDK retry 429 errors?
Yes. The official Python SDK retries eligible 429 and several transient errors twice by default. The retry count is configurable through max_retries.
Does a higher usage tier increase every model limit?
No. Higher tiers usually raise capacity across most models. Exact RPM, TPM, IPM, audio, and batch values still depend on the model and endpoint.
Does Batch API use the same rate-limit pool?
No. Batch API has a separate pool based on per-batch size, creation rate, and queued input tokens.
Where can I find fine-tuning limits?
Check the OpenAI Platform dashboard. Fine-tuning model limits are also available through the /v1/fine_tuning/model_limits endpoint.
Can existing apps continue using GPT-4o and O-series limits?
Existing integrations remain subject to the limits assigned to their selected model. Check model availability and deprecation status before deploying new workloads.
Is Sora 2 still a current API model?
No. Sora 2 and Sora 2 Pro are deprecated. Existing integrations remain subject to their model-specific RPM limits until access is removed.
Related Resources
- OpenAI API Rate Limits Guide
- OpenAI Model Catalog and Model Status
- OpenAI Platform Limits Dashboard
- OpenAI Batch API Guide
- OpenAI Python SDK Reference
- ChatGPT Token Limit: Free, Plus, Pro, and OpenAI API Limits
- AI LLM API Pricing: GPT, Gemini, Claude, and More
- OpenAI API Cost Calculator
Final Thoughts
OpenAI API rate limits are a set of organization-, project-, model-, and endpoint-specific controls rather than one universal number. Monitor RPM and TPM for text and embedding workloads, IPM for image workloads, model RPM for video generation, session and audio capacity for realtime applications, and queued input tokens for Batch API.
Use the Platform Limits page for current account values. Log rate-limit headers in production, keep output budgets realistic, control concurrency, and route deferred work through Batch API.
Changelog
08/03/2026
- Verified GPT-5.6 Sol, Terra, and Luna rate limits.
- Corrected GPT-5.6 Sol and Terra Tier 1 Batch Queue limits to 1.5 million input tokens.
- Corrected GPT Image 2 Tier 4 to 150 IPM.
- Updated usage-tier qualifications and removed outdated waiting-period requirements.
- Removed hypothetical Free-tier limits, duplicate snapshots, and repeated preview-model rows.
- Restored verified GPT-4o, GPT-4.1, O-series, image, Sora 2, Realtime, audio, transcription, embedding, moderation, and legacy GPT limit tables.
- Marked GPT-4o, Sora 2, Sora 2 Pro, and earlier media aliases according to their current catalog status.
- Added API versus ChatGPT limit guidance, project-token headers, Retry-After behavior, SDK retries, and current Batch API limits.
07/20/2026
- Added GPT-5.6 Sol, GPT-5.6 Terra, and GPT-5.6 Luna.
04/24/2026
- Added GPT-5.5 and GPT Image 2.
03/17/2026
- Added GPT-5.4 mini and nano.
12/11/2025
- Added GPT-5.2.
08/07/2025
- Added GPT-5.
04/25/2025
- Added GPT-4.1, o4, and o3 model families.
12/18/2024
- Added o1 rate-limit coverage.
05/14/2024
- Added GPT-4o rate limits.











This is a very good article.
Thank you all for providing great help to our users.