PUBLISHED PROVIDER LIMITS
Limits keep their provider-specific dimensions.
All API usage is rate limited. Current numeric limits vary and should be read from the account limits page rather than treated as universal constants.
Authentication: OpenAI API key
Primary scope: Organization, Project, Model, And Usage Tier
Measured dimensions: Requests, Tokens, Images, Audio, Or Other Model Specific Units
Profile coverage: Account-, project-, model-, and usage-tier variability plus the common request, token, and project-token response headers. Batch, Realtime, image, audio, and endpoint-specific numeric limits remain account- or model-specific.
Rate limits
| Limit | Value | Period | Scope | Conditions and variability |
|---|---|---|---|---|
| API usage limits | Provider-specific | Provider-defined | Organization Project Model Tier | Varies by model, project, organization, usage tier, and approved limit increases. Retrieve the applicable values from the OpenAI limits settings for the account. |
RESPONSE METADATA
Headers expose the applicable limit state.
X-RateLimit-Limit-RequestsFormat: Integer- Request allowance for the applicable limit.
X-RateLimit-Remaining-RequestsFormat: Integer- Requests remaining for the applicable limit.
X-RateLimit-Reset-RequestsFormat: Duration- Duration until request capacity resets.
X-RateLimit-Limit-TokensFormat: Integer- Token allowance for the applicable limit.
X-RateLimit-Remaining-TokensFormat: Integer- Tokens remaining for the applicable limit.
X-RateLimit-Reset-TokensFormat: Duration- Duration until token capacity resets.
X-RateLimit-Limit-Project-TokensFormat: Integer- Project-scoped token allowance when a project token limit applies.
X-RateLimit-Remaining-Project-TokensFormat: Integer- Project-scoped tokens remaining when a project token limit applies.
X-RateLimit-Reset-Project-TokensFormat: Duration- Duration until project-scoped token capacity resets.
WHEN A LIMIT IS EXCEEDED
Read the response before choosing a delay.
- Rate-limit responses can use HTTP 429.
RECOMMENDED HANDLING
Protect both the provider and your own queue.
- Use the limits page for account-specific current values.
- Inspect response headers rather than assuming a universal model limit.
- Use exponential backoff with jitter.
- Request a limit increase through account settings when appropriate.
VERIFICATION RECORD