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.
Your organizationâs usage tier establishes model-specific throughput allowances. The endpoint, project settings, shared model pools, and request size determine which quota a call reaches first. Context windows and maximum output lengths govern the size of individual requests, and ChatGPT message caps apply to ChatGPT subscriptions.
For example, a chat application can exhaust its requests-per-minute (RPM) quota through short messages, even when it uses relatively few tokens. A document-processing job can reach its tokens-per-minute (TPM) quota through a smaller number of long requests. The first limit reached determines when the API starts rejecting additional traffic.
Last updated: October 20, 2026.
Understanding the OpenAI API Rate Limits
Each API request must have capacity in every applicable rate-limit counter. Reaching RPM prevents another call even when TPM has room, and a project token cap can stop a request before the organization-wide model allowance is exhausted.
API keys use the quotas assigned to their organization and project. They do not each receive a new RPM or TPM budget.
For context-window sizes, maximum output tokens, and ChatGPT plan limits, see ChatGPT and OpenAI token limits.
| 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 streaming models with minute-based quotas | Concurrent voice sessions |
| Batch queue limit | Queued input tokens per model | Prompt tokens waiting in Batch API jobs | Large pending batch workloads |
OpenAI Usage Tiers
OpenAI assigns API organizations to three paid tiers: Build, Launch, and Grow. Cumulative credit purchases establish the tier, which sets a monthly usage ceiling. Each model has its own RPM, TPM, and Batch queue allowances within that tier.
The Free tierâs $100 monthly usage ceiling does not grant $100 in free API credits. The requested model must have a Free-tier API allowance. Billable calls also require a usable credit balance. An approved monthly usage ceiling also differs from the organization or project spend controls you configure. A spend alert sends a notification and leaves API traffic running. An enforced hard spend limit returns HTTP 429 at the configured organization or project cap. The organization cap applies across projects, and a project cap applies only to that project. Charges can slightly exceed a hard limit before enforcement takes effect.
| Usage tier | Total credit purchases | Monthly usage limit |
|---|---|---|
| Free | Allowed geography | $100 |
| Build | $5 | $500 |
| Launch | $100 | $5,000 |
| Grow | $500 | $200,000 |
Current OpenAI API Rate Limits: Quick Reference
The figures below are Standard RPM, TPM, and Batch queue allowances for each model and paid usage tier. Batch queue values count pending input tokens. Long-context or Ultrafast requests use their applicable rate-limit settings, and a shared pool or project cap may reduce the capacity available to an individual workload.
GPT-6 Astra Rate Limits
| Tier | RPM | TPM | Batch queue |
|---|---|---|---|
| Build | 5,000 | 1,000,000 | 3,000,000 |
| Launch | 10,000 | 4,000,000 | 200,000,000 |
| Grow | 15,000 | 40,000,000 | 15,000,000,000 |
GPT-6.1 Sol Rate Limits
| Tier | RPM | TPM |
|---|---|---|
| Build | 5,000 | 1,000,000 |
| Launch | 10,000 | 4,000,000 |
| Grow | 15,000 | 40,000,000 |
GPT-6 Luna Rate Limits
| Tier | RPM | TPM | Batch queue |
|---|---|---|---|
| Build | 5,000 | 2,000,000 | 20,000,000 |
| Launch | 10,000 | 10,000,000 | 1,000,000,000 |
| Grow | 30,000 | 180,000,000 | 15,000,000,000 |
GPT-5.6 Sol, Terra, and Luna Rate Limits
| Tier | Sol / Terra (RPM / TPM) | Luna (RPM / TPM) |
|---|---|---|
| Build | 5,000 / 1,000,000 | 5,000 / 2,000,000 |
| Launch | 10,000 / 4,000,000 | 10,000 / 10,000,000 |
| Grow | 15,000 / 40,000,000 | 30,000 / 180,000,000 |
GPT-5.6 Batch Queue Limits
For GPT-5.6 Batch jobs, pending input tokens count toward the selected modelâs queue allowance until a job finishes. Batch has its own capacity pool, leaving Standard RPM and TPM capacity for synchronous requests.
| Tier | GPT-5.6 Sol / Terra | GPT-5.6 Luna |
|---|---|---|
| Build | 3,000,000 | 20,000,000 |
| Launch | 200,000,000 | 1,000,000,000 |
| Grow | 15,000,000,000 | 15,000,000,000 |
GPT Image 2.5 Flare and Sunburst Rate Limits
| Tier | TPM | IPM |
|---|---|---|
| Build | 250,000 | 20 |
| Launch | 3,000,000 | 150 |
| Grow | 8,000,000 | 250 |
OpenAI API Free Tier Rate Limits
The Free tier is restricted to certain geographies. GPT-6, GPT-5.6, GPT-4o, GPT-4.1, GPT Image 2.5, and the Realtime models listed here have no published Free-tier RPM or TPM allowances. The embedding and moderation limits are:
| Model | RPM | RPD | TPM |
|---|---|---|---|
| text-embedding-3-small / 3-large | 100 | 2,000 | 40,000 |
| omni-moderation-latest | 250 | 5,000 | 10,000 |
OpenAI API Limits vs ChatGPT Free and Plus Limits
A ChatGPT Free, Go, Plus, or Pro plan does not include API credits or increase an API organizationâs RPM or TPM. ChatGPT plans use message and feature allowances. API rate limits apply to API organizations and projects.
| 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 | API accounts in allowed geographies, for listed Free-tier 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 |
Where to Check Your Current OpenAI Rate Limits
To find the quotas enforced on production calls, open the OpenAI Platform account for your application and select its organization and project:
- 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.
Rate-Limit Response Headers
Log the model ID, HTTP status, remaining request and token counts, and reset times from each response. When the project has its own token cap, the project-token headers show that additional budget. Use Retry-After to time retries for temporary throttling or overload. Credit and spending-limit errors require an account change.
| Header | What it shows |
|---|---|
Retry-After | Minimum wait in seconds before retrying a temporary 429 or overload response |
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 left |
x-ratelimit-reset-project-tokens | Time until the project token allowance resets |
How OpenAI API Rate Limits Work
- Organization and project scope: Limits are defined at the organization and project level.
- Model-specific capacity: RPM and TPM differ by model and usage tier.
- Shared model groups: Requests to any model in a shared limit group count against that groupâs combined quota.
- Long-context limits: Long-context requests use their own RPM or TPM ceilings when the model has a dedicated long-context quota.
- Project token limits: A project-scoped token cap can stop calls before the organization-wide model TPM allowance is exhausted.
- Monthly usage limits: OpenAI assigns an approved monthly organization usage limit. Organization and project spend controls use different settings.
- Vector store ingestion: File and file-batch ingestion endpoints share a 300 RPM limit for each vector store ID.
Previous and Specialized OpenAI Model Rate Limits
Earlier GPT-5 Model Rate Limits
gpt-5.4-nano, gpt-5.3-codex, and gpt-5.1 are deprecated and scheduled to shut down on April 1, 2027. The recommended replacement for gpt-5.4-nano is gpt-6-luna. For gpt-5.3-codex and gpt-5.1, use gpt-6-sol.
| Model | Build | Launch | Grow |
|---|---|---|---|
| GPT-5.5 / 5.4 / 5.2 | 5,000 / 1M | 10,000 / 4M | 15,000 / 40M |
| GPT-5.5 Pro | 500 / 200K | 1,000 / 1M | 2,000 / 4M |
| GPT-5.4 Pro | 500 / 100K | 1,000 / 400K | 1,500 / 4M |
| GPT-5.2 Pro | 5,000 / 450K | 10,000 / 2M | 10,000 / 30M |
| GPT-5.4 Mini / GPT-5 Mini | 5,000 / 2M | 10,000 / 10M | 30,000 / 180M |
| GPT-5.4 Nano (deprecated) | 5,000 / 2M | 10,000 / 10M | 30,000 / 180M |
GPT-4.1 and GPT-4o Rate Limits
October 23, 2026: gpt-4o-2024-05-13 is scheduled to shut down, with gpt-5.6-sol recommended. The gpt-4.1-nano alias and gpt-4.1-nano-2025-04-14 snapshot have the same deadline, with gpt-5.6-luna recommended. Legacy gpt-3.5-turbo, gpt-4, and gpt-4-turbo aliases and affected snapshots also shut down that day. Their suggested replacements are gpt-5.6-terra for GPT-3.5 Turbo and gpt-5.6-sol for GPT-4 and GPT-4 Turbo.
January 14, 2027: The gpt-4o, gpt-4o-mini, gpt-4.1, and gpt-4.1-mini families are scheduled to shut down, including gpt-4o-2024-08-06, gpt-4o-2024-11-20, gpt-4o-mini-2024-07-18, gpt-4.1-2025-04-14, and gpt-4.1-mini-2025-04-14. Related fine-tuned versions follow the base-model date. The recommended replacement is gpt-6-luna. Use its RPM and TPM from the current-model table, not the old model’s quota.
| Model | Build | Launch | Grow |
|---|---|---|---|
| GPT-4.1 / GPT-4o | 5,000 / 450K | 10,000 / 2M | 10,000 / 30M |
| GPT-4.1 Mini / GPT-4o Mini | 5,000 / 2M | 10,000 / 10M | 30,000 / 150M |
Earlier O-Series Reasoning Model Rate Limits
o4-mini and o4-mini-2025-04-16 are deprecated and scheduled to shut down on October 23, 2026, with gpt-5.6-terra recommended. The same date applies to older o1, o1-pro, and o3-mini aliases and affected snapshots, with gpt-5.6-sol recommended for those families. o1-mini shut down on October 27, 2025. o3-deep-research and o4-mini-deep-research shut down on July 23, 2026.
| Model | Build | Launch | Grow |
|---|---|---|---|
| o3 | 5,000 / 450K | 10,000 / 2M | 10,000 / 30M |
| o4-mini | 2,000 / 2M | 10,000 / 10M | 30,000 / 150M |
Deprecated Image Model Rate Limits
gpt-image-1 is deprecated and scheduled to shut down on October 23, 2026. gpt-image-1.5 and gpt-image-1-mini are scheduled to shut down on December 1, 2026. For these migrations, the recommended replacements are gpt-image-2.5-flare and gpt-image-2.5-sunburst.
Sora 2 Video API Shutdown
The OpenAI Videos API and the sora-2 and sora-2-pro models shut down on September 24, 2026. API calls to these models are no longer available.
Realtime API Rate Limits
The Standard RPM and TPM values below apply specifically to gpt-realtime-2.1.
gpt-realtime and gpt-4o-realtime are deprecated with shutdown scheduled for January 20, 2027. Use gpt-realtime-2.1 as the recommended replacement.
| Tier | RPM | TPM |
|---|---|---|
| Build | 400 | 200,000 |
| Launch | 10,000 | 4,000,000 |
| Grow | 20,000 | 15,000,000 |
Audio, Speech, and Transcription Rate Limits
tts-1 and tts-1-hd are scheduled to shut down on January 6, 2027, with gpt-realtime-2.1-mini recommended. whisper-1, gpt-4o-transcribe, and gpt-4o-mini-transcribe are scheduled to shut down on February 26, 2027, with gpt-transcribe or gpt-live-transcribe as replacements.
| Model | Build | Launch | Grow |
|---|---|---|---|
| GPT-Transcribe | 5,000 / 2M | 10,000 / 10M | 30,000 / 150M |
| GPT-Audio-1.5 | 5,000 / 450K | 10,000 / 2M | 10,000 / 30M |
Embedding API Rate Limits
text-embedding-3-small and text-embedding-3-large have identical RPM, TPM, and Batch queue limits. The Free tier also has a 2,000 RPD ceiling for each model.
| Tier | RPM | TPM | Batch queue |
|---|---|---|---|
| Free | 100 | 40,000 | â |
| Build | 5,000 | 1,000,000 | 20,000,000 |
| Launch | 10,000 | 5,000,000 | 500,000,000 |
| Grow | 10,000 | 10,000,000 | 4,000,000,000 |
Moderation API Rate Limits
| Tier | RPM | RPD | TPM |
|---|---|---|---|
| Free | 250 | 5,000 | 10,000 |
| Build | 500 | â | 20,000 |
| Launch | 2,000 | â | 250,000 |
| Grow | 5,000 | â | 500,000 |
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 |
| Videos API (retired) | Not available | The Sora 2 API was removed on September 24, 2026 |
| Moderation API | RPM, RPD, TPM | Text and image moderation uses its own model profile |
| Fine-tuning | Active jobs, queued jobs, jobs per day, inference limits | Training capacity and inference capacity use different limits |
| Vector stores | Ingestion requests per vector store | File and file-batch ingestion share 300 RPM per vector store ID |
Batch API Rate Limits
Send evaluations, document classification, embeddings, backfills, extraction, moderation, and image generation or editing through Batch API when results do not need to arrive immediately. Batch accepts requests only for models and endpoints that have Batch access. Queued input tokens count against the selected modelâs dedicated Batch allowance until the job finishes.
| 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 Batch-specific output-token limit |
Why You Can Get 429 Errors Below the Published Limit
A call can receive a 429 before the headline RPM or TPM figure appears exhausted. Token-rate accounting can use the higher of the configured maximum output budget and a request-size estimate. Set max_output_tokens or the endpointâs equivalent output limit near the expected response length to avoid reserving unnecessary token capacity.
- A short traffic burst exceeds a smaller internal time window.
- RPM reaches its limit before TPM.
- TPM is exhausted through long prompts or large output budgets.
- The request uses a project with a lower token limit.
- Several models draw from one shared limit group.
- A long-context request uses a dedicated throughput limit when one applies.
- 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.
How to Fix OpenAI 429 Errors
Read the HTTP status and error.code before retrying. Temporary throttling and model overload call for a bounded retry after Retry-After, when present, or exponential backoff with jitter. Exhausted credits, approved-usage limits, and enforced spend caps need an account change before requests resume. If a streaming response has already delivered partial output, record what arrived before retrying to avoid duplicate content.
| HTTP / error code | Cause | First action |
|---|---|---|
429 / slow_down | Request rate rose too quickly | Follow Retry-After, lower traffic, then increase gradually |
429 / rate_limit_exceeded | Request or token throughput exhausted | Reduce concurrency or token usage, then retry after reset |
429 / organization_usage_limit_exceeded | Approved monthly usage limit reached | Request a higher usage limit |
429 / organization_spend_limit_exceeded | Organization hard spend limit reached | Review organization spend settings |
429 / project_spend_limit_exceeded | Project hard spend limit reached | Review project spend settings |
429 / credit_balance_exhausted | Prepaid credits exhausted | Add API credits |
503 / server_is_overloaded | Temporary model overload | Follow Retry-After and retry later |
OpenAI SDK Retries
The OpenAI Python SDK retries connection errors and HTTP 408, 409, 429, and 5xx responses up to two times by default when the request body can be resent safely. Set max_retries to control SDK attempts. For a long Retry-After delay, check the installed SDK versionâs retry ceiling and defer the call if the SDK cannot wait long enough. Account for SDK attempts before adding application-level retries, since nested loops multiply traffic and unsuccessful requests count toward RPM. Credit or spending-limit failures need an account correction, not another retry.
from openai import OpenAI, RateLimitError
client = OpenAI(max_retries=2)
try:
response = client.responses.create(
model="gpt-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.
# Inspect the error before scheduling another attempt.
# Quota or billing failures need an account change, not another retry.
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 pace retries to prevent another traffic spike.
Set realistic output budgets. Use different 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.
Prioritize live traffic. Give interactive requests priority over indexing, evaluation, analytics, and backfill jobs. Schedule bulk backfills through Batch API when their results can wait.
Log rate-limit headers. Track remaining requests, remaining tokens, reset times, project token limits, model names, latency, and retry count.
How to Increase OpenAI API Rate Limits
In Organization Limits, review your usage tier, the modelâs RPM and TPM, and any available limit-increase controls. After an upgrade, check the project token cap and shared model pool before increasing worker concurrency. The organizationâs new tier does not override those narrower quotas.
Enterprise teams whose pay-as-you-go traffic repeatedly triggers slow_down during ramp-up can evaluate Scale Tier, which sells dedicated token-per-minute capacity for particular model snapshots. Reserved Tier is another capacity option for GPT-5.6 and later models.
OpenAI Rate Limit Examples
Support chatbot: A large volume of short messages can exhaust RPM before TPM. Apply a shared concurrency ceiling across app servers, cache repeated answers when appropriate, and queue background tool calls.
Report generator: Long prompts and large output budgets can exhaust TPM even with few requests. Remove irrelevant retrieved context and set the output budget for the report length actually needed. Divide long reports into requests only when each request stays within its context and throughput allowances.
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 calls can use session capacity alongside model-specific token and audio limits. Enforce a session ceiling, reserve room for active calls, and close disconnected or idle sessions.
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 use 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 | Persistent throttling or exhausted credits/spend | Read error.code before retrying or changing account limits |
FAQs
Can a slow_down error happen below the published RPM and TPM limits?
Yes. OpenAI can return slow_down when traffic increases too quickly even before RPM or TPM is exhausted. Reduce the request rate, follow Retry-After when present, and increase traffic gradually.
Does every OpenAI 429 response include Retry-After?
No. Temporary rate-limit responses can include it. If the header is absent, use bounded exponential backoff with jitter for a retryable 429. Credit, spending, and approved-usage failures will not clear through retries.
Do OpenAI SDKs retry rate-limit errors automatically?
Yes. The Python SDK retries HTTP 429 responses up to two times by default when it can safely resend the request body. Set max_retries to manage the number of SDK attempts, and count those attempts before introducing another queue-level retry policy.
Related Resources
- ChatGPT Token Limit: Free, Plus, Pro, and OpenAI API Limits
- AI LLM API Pricing: GPT, Gemini, Claude, and More
- OpenAI API Cost Calculator
- Gemini API Free Tier Limits
- Claude Code Pricing and Usage Limits
- AI Coding Plan Comparison
- Claude API Rate Limits: Models, Usage Tiers & 429 Errors
- Gemini API Free Tier Limits: Requests Per Day & Setup
Changelog
10/20/2026
- Updated the October 23, 2026 and January 14, 2027 API model shutdown dates, affected GPT families, and recommended replacements. Preserved Standard RPM, TPM, and Batch queue tables.
10/09/2026
- Updated the API usage tiers to Build, Launch, and Grow and corrected monthly usage thresholds.
- Refreshed GPT-6, GPT-5.6, GPT Image 2.5, GPT-4.1/4o, embeddings, moderation, realtime, and audio rate-limit references.
- Removed retired Sora throughput tables, updated model retirement dates, and expanded 429 quota/billing troubleshooting.
09/29/2026
- Added GPT-6.1 Sol RPM, TPM, and Batch queue limits.
09/23/2026
- Added GPT-6 Sol and GPT-6 Luna RPM, TPM, and Batch queue limits.
09/03/2026
- Added GPT-6 Astra RPM, TPM, and Batch queue limits.
- Updated 429
slow_downand 503 overload troubleshooting. - Corrected GPT-4o API status and clarified the deprecated ChatGPT-4o alias.
- Updated Sora API deprecation and shutdown timing.
- Moved previous and specialized model tables into a dedicated reference section.
08/03/2026
- Verified GPT-5.6 Sol, Terra, Luna, GPT Image 2, usage tiers, Batch API limits, and rate-limit headers.
- Expanded model-family reference tables and 429 troubleshooting.
07/20/2026
- Added GPT-5.6 Sol, GPT-5.6 Terra, and GPT-5.6 Luna.











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