Rate limits by product
Each X API product has its own rate limiting approach:X API v2
Per-endpoint limits based on 15-minute windows. View detailed tables and recovery tips.
Enterprise API
Custom limits based on your enterprise agreement and data package.
X Ads API
Limits specific to ad management and analytics endpoints.
How rate limits work
| Concept | Description |
|---|---|
| Time window | Most limits reset every 15 minutes |
| Per-user limits | Apply when using OAuth 1.0a or OAuth 2.0 user tokens |
| Per-app limits | Apply when using Bearer Token (app-only) authentication |
| Endpoint-specific | Each endpoint has its own limit |
Checking your limits
Every API response includes headers showing your current rate limit status:| Header | Description |
|---|---|
x-rate-limit-limit | Maximum requests allowed in the current window |
x-rate-limit-remaining | Requests remaining in the current window |
x-rate-limit-reset | Unix timestamp when the limit resets |
Rate limit errors
When you exceed a rate limit, you’ll receive a 429 Too Many Requests response:Best practices
Cache responses
Store API responses locally to reduce repeated requests for the same data.
Use exponential backoff
When rate limited, wait before retrying. Double the wait time with each retry.
Check headers
Monitor rate limit headers to avoid hitting limits proactively.
Use streaming
For real-time data, use filtered stream instead of polling search endpoints.