What does rate limited mean on Twitter?
Last updated August 3, 2026
Rate limited means X refused the request because you crossed a request ceiling inside a fixed window, and it answers 429 until that window resets. Recent search allows 450 requests per 15 minutes on an app token and 300 on a user token, and post creation allows 10,000 per 24 hours. TwitterAPIs runs no platform window at all.
Every rate here is the pricing TwitterAPIs publishes, $0.0008 per call and $0.04 per 1,000 tweets (source: twitterapis.com/pricing).
What exactly is a 429 response telling you?
A 429 says the ceiling for that specific endpoint has been reached for the current window, and nothing about your account being wrong. It is temporary and recoverable: the counter refills at a fixed moment, and the next request after that moment succeeds. Treat it as a scheduling signal, not an error to escalate, and back off until the reset rather than retrying immediately into the same wall.
How long is a window, and are they all the same length?
X uses three window shapes. Most reads refill every 15 minutes. Writes refill every 24 hours, which is why post creation is quoted as 10,000 per day rather than per quarter hour. On top of both, the full-archive search path carries a hard floor of one request per second that applies even when the 300-per-15-minutes budget still has room, so a fast loop trips it while the quota looks healthy.
Which response headers tell you how much budget is left?
Three headers carry the state. The header holding the cap tells you the ceiling for that endpoint, the header holding the remainder counts down and triggers a 429 when it reaches zero, and the reset header carries a Unix timestamp for when the counter refills. Some endpoints also return Retry-After in seconds, though that one is not guaranteed everywhere, so read the reset timestamp as the reliable value.
Why do you get rate limited while still under a monthly quota?
Because the monthly post allowance and the per-window request ceiling are two separate meters. Reading 23 posts against a 100-per-month allowance says nothing about how many requests you fired in the last quarter hour, and a scheduled job that wakes on a short interval can exhaust the window budget while the monthly counter barely moves. The window is what produced the 429, not the plan.
Is a 403 the same thing as being rate limited?
No, and confusing them wastes hours. A 429 clears on its own once the window resets, so retrying later is correct. A 403 means the access level attached to that credential is not permitted to call the endpoint at all, so retrying never helps and the only fix is a different access level. If a retry loop keeps failing at the same speed, check which of the two codes you are actually receiving.
Does TwitterAPIs apply the same windows?
No. There is no platform-level window on the read endpoints, and no x-rate-limit headers are returned, so do not write code that expects them. What actually bounds a job here is credit balance and per-endpoint page size. One deliberate exception exists and is documented rather than hidden: direct-message sending is capped at 150 per hour per key as a sliding window, and a refused send is not billed.
Where the ceilings sit on each side
| Surface | Official X API | TwitterAPIs |
|---|---|---|
| Recent search | 450 per 15 minutes on an app token, 300 on a user token | No platform window |
| Post creation | 10,000 per 24 hours per app, 100 per 15 minutes per user | No platform window |
| Direct message reads | 15 per 15 minutes per user | No platform window |
| Direct message sends | 1,440 per 24 hours per app | 150 per hour per key |
| Monthly ceiling | 2 million post reads per calendar month | None, spend tracks calls |
Rate limits control the number of requests you can make to each endpoint. Exceeding limits results in a 429 error until the window resets.
Questions and answers
- What does error 429 mean on the Twitter API?
- It means the endpoint ceiling for the current window has been reached. The condition is temporary: the counter refills at a fixed moment carried in the reset header, and requests succeed again after it. Nothing is wrong with the credential, and no change of plan is required to clear it.
- How long do you stay rate limited?
- Until the window that produced the 429 refills. Most read endpoints refill every 15 minutes, write endpoints every 24 hours. Read the reset header for the exact Unix timestamp instead of guessing, because the wait depends on how far into the window you were when the ceiling was hit.
- Why am I rate limited when I am under my monthly quota?
- The monthly allowance and the per-window ceiling are separate meters. A job on a short interval can exhaust the 15-minute request budget while the monthly counter is barely touched. The 429 came from the window, so lengthen the interval or spread work across processes rather than upgrading the plan.
- Is a 403 the same as a rate limit?
- No. A 429 clears when the window resets, so waiting works. A 403 means the credential's access level cannot call that endpoint at all, so no amount of waiting or retrying helps. Check the code before building backoff logic, because retrying a 403 forever just burns time.
- Do rate limits apply per account or per app?
- Both, on separate counters. An app-only token draws on the application budget, and a user token draws on that user's budget for the same endpoint. Recent search shows this clearly at 450 requests per 15 minutes on an app token against 300 on a user token.
- Does TwitterAPIs return x-rate-limit headers?
- No, and code should not depend on them. There is no platform window on the read endpoints, so there is nothing for those headers to report. Throughput is bounded by credit balance and page size instead. The single documented cap is 150 direct-message sends per hour per key.
Keep reading
Start with $0.50 in free credits
No credit card. Roughly 12,500 tweets to test every endpoint.