Skip to content

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

SurfaceOfficial X APITwitterAPIs
Recent search450 per 15 minutes on an app token, 300 on a user tokenNo platform window
Post creation10,000 per 24 hours per app, 100 per 15 minutes per userNo platform window
Direct message reads15 per 15 minutes per userNo platform window
Direct message sends1,440 per 24 hours per app150 per hour per key
Monthly ceiling2 million post reads per calendar monthNone, 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.
X Developer Platform, rate limits documentation. Source

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.

Start with $0.50 in free credits

No credit card. Roughly 12,500 tweets to test every endpoint.