Guide

“Rate limit exceeded” on X (Twitter): what it means and how to fix it

A rate limit is X telling you to slow down — whether you're tapping around the app or calling the API. Here's what triggers it, how long it lasts, and how to handle it.

Last updated

In the X app: account limits

X caps how many actions an account can take. From X'slimits help page(read 2026-09-27):

ActionLimit
Direct Messages500 sent per day
Posts (unverified accounts)50 original posts and 200 replies per day, also split into half-hour intervals
Following400 per day; after 5,000 follows, extra follows are limited by account-specific ratios
Changing account email4 per hour

The same page also still refers to an overall limit of 2,400 updates per day. X notes that limits count actions from every device and app — web, mobile and third-party apps using your account — and may be lowered temporarily when the site is busy.

How to fix it

In the X API: HTTP 429

If you call the official X API too often you get 429 Too Many Requests. Perdocs.x.com, most limits are counted per 15 minutes (some per 24 hours or per second), and responses carry these headers:

Rate limits and billing are separate on pay-per-use: you can be inside your limits and still pay for every read (see what the X API costs).

Handling 429s in Python

import time, requests

def get(url, **kw):
    for attempt in range(5):
        r = requests.get(url, **kw)
        if r.status_code != 429:
            return r
        reset = r.headers.get("x-rate-limit-reset")          # official X API
        retry = r.headers.get("Retry-After")                 # RelayX and most HTTP APIs
        wait = (int(reset) - time.time()) if reset else float(retry or 2 ** attempt)
        time.sleep(max(wait, 1))
    r.raise_for_status()

Beyond retrying: cache profiles instead of re-reading them, request only the pages you need, and spread batch jobs out rather than bursting.

Rate limits on RelayX

RelayX limits requests per second rather than per 15-minute window, and the limit grows with your account's credit balance — from 1 request/second on free trial credits up to 20/second. Over the limit you get429 with a Retry-After header (and X-QPS-Limit showing your current tier); the call isn't charged. Details in credits in practice.

FAQ

What does “rate limit exceeded” mean on X?

You made too many requests or actions in a short time — posting, following, sending DMs, or (for developers) calling the API — and X is temporarily refusing more. It clears on its own when the time window resets.

How long does an X rate limit last?

It depends on the limit. Account limits such as posts and DMs are counted per day (posts also in half-hour intervals); most X API limits reset every 15 minutes, and the exact reset time is in the x-rate-limit-reset response header.

Does a rate limit mean my account is banned?

No. A rate limit is temporary and technical. If it keeps happening while you use X normally, look for a third-party app connected to your account that is using up your limits.

Why do I get 429 errors from the X API?

HTTP 429 means you exceeded the request limit for that endpoint in the current window. Wait until the time in x-rate-limit-reset, then retry with exponential backoff.