---
title: "«Rate limit exceeded» en X (Twitter): significado y solución"
description: "Rate limit exceeded significa que X contó más solicitudes tuyas de las que permite en poco tiempo. Por qué aparece, cuánto dura y las cabeceras 429 de la API."
url: https://proxynet.io/es/blog/x-rate-limit-exceeded
date: 2026-10-07
author: "Acar Diveroli"
category: "Tutoriales, Casos de uso"
lang: es
---

# «Rate limit exceeded» en X (Twitter): significado y solución

Es noche de partido y no paras de tirar hacia abajo del feed de X para ver publicaciones nuevas. De pronto no carga nada y en la pantalla queda una sola línea: «Rate limit exceeded». Tu cuenta no ha sido suspendida y la aplicación no está rota. X contó las solicitudes que llegan de tu parte y la cuenta superó, por el momento, lo que permite. Un desarrollador ve la misma frase en otro sitio: la API la devuelve con HTTP `429` y el error `"code": 88`.

La primera mitad de este artículo es para quien ve el aviso en el teléfono o en el navegador: qué significa, por qué aparece, cuánto dura y qué hacer. La segunda mitad es para desarrolladores que usan la API de X: la respuesta 429, las cabeceras `x-rate-limit-*`, la ventana de 15 minutos, el modelo de acceso y precios vigente el 7 de octubre de 2026 y un ejemplo de backoff probado. Al final vemos el único caso concreto en el que un proxy importa: cuando el límite está ligado a una dirección IP que compartes con muchas otras personas.

> **Nota: Respuesta breve**
>
> «Rate limit exceeded» es un aviso temporal: X contó las solicitudes que llegaron de tu parte en un periodo determinado y la cuenta superó el límite de esa acción. No es una sanción, una suspensión ni un bloqueo; el contador depende del tiempo y se abre solo cuando esperas. Recargar no reinicia el contador, lo llena más. Las causas más habituales son el desplazamiento rápido y la recarga repetida, las aplicaciones de terceros conectadas a tu cuenta que recogen datos en segundo plano y las redes de oficinas y campus donde decenas de personas comparten una misma dirección IP. En la API la misma situación llega como HTTP 429, y la cabecera `x-rate-limit-reset` dice cuándo se cierra la ventana.

## ¿Qué significa «rate limit exceeded»?

Un rate limit (límite de solicitudes) es el tope que un servicio pone a cuántas solicitudes acepta de un usuario, una cuenta, una aplicación o una dirección IP en un periodo. En X todo es una solicitud: tirar del feed pide publicaciones nuevas, tocar un perfil pide las publicaciones de ese perfil, dar me gusta y seguir escriben una acción en el servidor. Cada tipo de acción tiene su propio contador, y cuando un contador se llena, esa acción recibe durante un rato la respuesta «limit exceeded».

Por eso el aviso suele afectar a un solo sitio. El feed principal puede dejar de cargar mientras las notificaciones siguen llegando, o el botón de seguir puede fallar mientras todavía puedes publicar. El mecanismo general, a qué está ligado el contador y cómo cuentan las ventanas fijas y los token buckets, está en nuestro [artículo sobre 429 Too Many Requests](/es/blog/http-429-too-many-requests); aquí nos quedamos con lo que es propio de X.

Conviene separar este aviso de los otros mensajes que muestra X. «Tu cuenta está suspendida» es una decisión sobre las normas y no pasa sola. «Esta publicación está retenida en tu país» tiene que ver con una solicitud legal y oculta solo esa publicación; cómo funciona está en nuestro [artículo sobre publicaciones retenidas](/es/blog/x-content-withheld-in-your-country). «Rate limit exceeded» no es ninguna de las dos: un contador está lleno y se reiniciará cuando termine el periodo.

## ¿Qué límites tiene X?

El centro de ayuda de X publica límites diarios de acciones por cuenta. Según la [página de límites de X](https://help.x.com/en/rules-and-policies/x-limits), una cuenta puede publicar como máximo 2.400 publicaciones al día, y esa cifra se reparte en intervalos de media hora, así que puedes chocar con el tope de media hora antes de agotar el diario. Quinientos mensajes directos y 400 acciones de seguir al día son topes técnicos. La página también dice que esas cifras son solo límites técnicos y que comportamientos como el seguimiento agresivo están prohibidos aparte por las normas.

La lectura es otra historia. X no publica una cifra actual de cuántas publicaciones puede ver una cuenta al día. Esas cifras se anunciaron una vez: el 1 de julio de 2023, Elon Musk anunció límites de lectura que llamó «temporales», dirigidos contra el scraping de datos, y los subió durante el día a 10.000 publicaciones diarias para cuentas verificadas, 1.000 para cuentas no verificadas y 500 para cuentas nuevas; [la noticia de Axios de ese día](https://www.axios.com/2023/07/01/twitter-rate-limit-elon-verified) también recogió el aviso «Rate limit exceeded» que veían los usuarios. Desde entonces no se ha publicado ninguna actualización oficial, y hoy X no te dice en la aplicación con qué umbral has chocado. La afirmación tan repetida de que una suscripción Premium sube el límite de lectura no pudimos confirmarla en las páginas oficiales de X, así que no la damos por buena aquí.

## ¿Por qué aparece el aviso?

El contador se llena por cuatro vías. La mayoría de la gente tiene dos a la vez.

1. **Desplazamiento y recarga rápidos.** Cada tirón del feed, cada perfil y cada búsqueda es una solicitud distinta. Recargar una y otra vez cuando una página no carga llena el contador más deprisa.
2. **Aplicaciones de terceros conectadas a tu cuenta.** Analíticas de seguidores, herramientas de publicación automática, servicios de «quién dejó de seguirme» y algunos clientes antiguos recogen datos en tu nombre en segundo plano. Aunque no toques el teléfono, sus solicitudes llenan tu contador.
3. **Compartir una dirección IP con muchas personas.** En redes de campus, oficinas y escuelas, cientos de dispositivos salen a internet por una sola dirección (es lo que se llama NAT). Un servidor VPN gratuito o saturado funciona igual. Cuando X lleva algunos contadores por dirección, todos los que están detrás de esa dirección escriben en el mismo cubo, y puedes chocar con el límite sin haber hecho nada.
4. **Restricciones temporales del lado de X.** Durante medidas de toda la plataforma como los límites de lectura de 2023, el aviso aparece a muchísimos usuarios a la vez. Lo único que puedes hacer entonces es esperar.

## ¿Cuánto dura?

En la aplicación X no te da un tiempo; el aviso dice que lo intentes de nuevo en unos momentos. En línea con los intervalos de media hora que menciona el centro de ayuda, en la mayoría de los casos el feed vuelve solo al cabo de 15 a 30 minutos. Si chocaste con un límite diario, por ejemplo al agotar las 400 acciones de seguir, el contador se reinicia al día siguiente.

En la API el tiempo es exacto. La mayoría de los endpoints usan una ventana de 15 minutos, y el momento en que se cierra está escrito en la cabecera `x-rate-limit-reset` de cada respuesta como marca de tiempo Unix. Algunas acciones tienen además un tope de 24 horas, como las 10.000 solicitudes por aplicación y día en el endpoint que crea publicaciones.

## ¿Qué deberías hacer?

Los pasos van del más fácil al más laborioso.

1. **Espera y deja de recargar.** Cierra la aplicación y dedícate a otra cosa durante 15 a 30 minutos. Recargar durante ese tiempo no reinicia el contador, lo llena.
2. **Revisa las aplicaciones conectadas.** Ve a Configuración y privacidad › Seguridad y acceso a la cuenta › Aplicaciones y sesiones › Aplicaciones conectadas. Retira el acceso a todo lo que no reconozcas, no uses o pertenezca a la familia de «analíticas de seguidores». El centro de ayuda de X dice con claridad que una aplicación conectada puede, según sus permisos, leer tus publicaciones y actuar en nombre de tu cuenta; estas aplicaciones son lo que llena el contador la mayoría de las veces.
3. **Limpia las sesiones.** En el mismo menú, la pestaña Sesiones te permite cerrar sesión en dispositivos que no reconoces. Una aplicación en un teléfono o una tableta antiguos puede seguir recogiendo datos en segundo plano.
4. **Cierra sesión, vuelve a entrar y borra la caché.** En el navegador, borra los datos del sitio; en iOS reinstala la aplicación, y en Android usa Ajustes › Aplicaciones › X › Almacenamiento para borrar la caché. Esto no reinicia el contador, pero arregla el problema de «sigue sin cargar» que a veces queda después de que el aviso haya pasado.
5. **Cambia de red.** Si el aviso aparece en el Wi-Fi de la escuela o la oficina y no con datos móviles, el contador está ligado a la dirección IP, que compartes con decenas de personas. Si usas una VPN, apágala y vuelve a intentarlo; una salida VPN saturada también es una dirección compartida.
6. **Empieza despacio con una cuenta nueva.** Decenas de seguimientos y me gusta seguidos en los primeros días llenan los contadores y además atraen las comprobaciones de automatización de X.

La lista de lo que no hay que hacer es corta: abrir una segunda y una tercera cuenta para continuar, instalar extensiones que prometen saltarse el límite y usar clientes de terceros que prometen «lectura ilimitada». Esto incumple las Reglas de X y puede convertir un aviso temporal en un problema de cuenta duradero.

## Causa y solución según el síntoma

| Síntoma | Causa probable | Qué hacer |
|---|---|---|
| El feed se detuvo, las notificaciones siguen llegando | El contador de desplazamiento y recarga está lleno | Esperar de 15 a 30 minutos |
| El aviso aparece sin tocar el teléfono | Una aplicación conectada recoge datos en segundo plano | Desconectar las aplicaciones |
| Aparece con Wi-Fi, no con datos móviles | IP compartida (NAT, VPN) | Cambiar de red, apagar la VPN |
| El botón de seguir o de MD no funciona | Límite diario de acciones alcanzado | Esperar al día siguiente |
| Todo el mundo se queja a la vez | Restricción de toda la plataforma | Esperar; no hay nada más que hacer |
| El aviso pasó, la página sigue en blanco | Datos de sesión obsoletos | Cerrar sesión y volver a entrar, borrar la caché |

## Para desarrolladores: 429 y las cabeceras x-rate-limit

Cuando se supera un rate limit en la API de X, la respuesta llega con HTTP `429` y el error `88` en el cuerpo. Según el [documento de rate limits](https://docs.x.com/x-api/fundamentals/rate-limits), los límites se definen por endpoint, casi siempre en ventanas de 15 minutos, y se dividen por tipo de autenticación: las solicitudes hechas con un token de usuario (OAuth 1.0a u OAuth 2.0) tienen un contador por usuario, mientras que las solicitudes de solo aplicación hechas con un Bearer Token comparten un contador para toda la aplicación.

Cada respuesta lleva tres cabeceras:

```text
HTTP/2 429
x-rate-limit-limit: 900
x-rate-limit-remaining: 0
x-rate-limit-reset: 1791367200

{"errors":[{"code":88,"message":"Rate limit exceeded"}]}
```

`x-rate-limit-limit` es el total permitido en la ventana, `x-rate-limit-remaining` lo que queda y `x-rate-limit-reset` el momento en que se cierra la ventana, en segundos Unix. Las cabeceras también vienen en las respuestas 200; un cliente bien hecho vigila `remaining` y frena antes de ver un solo 429. Algunos endpoints habituales (7 de octubre de 2026, documentación de X):

| Endpoint | Por aplicación | Por usuario |
|---|---|---|
| `GET /2/tweets` | 3.500 / 15 min | 5.000 / 15 min |
| `GET /2/tweets/search/recent` | 450 / 15 min | 300 / 15 min |
| `GET /2/users/:id/tweets` | 10.000 / 15 min | 900 / 15 min |
| `POST /2/tweets` | 10.000 / 24 h | 100 / 15 min |
| `POST /2/users/:id/following` | ninguno | 50 / 15 min |
| `GET /2/dm_events` | ninguno | 15 / 15 min |

Los cuatro hábitos que recomienda el documento son también la forma de no toparse nunca con el límite: cachear las respuestas, usar el filtered stream para datos en tiempo real en lugar de hacer polling, vigilar `remaining` y repartir las solicitudes a lo largo de la ventana.

## Acceso y precios de la API de X en 2026

El 6 de febrero de 2026, X anunció en su foro de desarrolladores que la API pasaba a un precio por uso (pay-per-use); el [anuncio](https://devcommunity.x.com/t/announcing-the-launch-of-x-api-pay-per-use-pricing/256476) decía que el modelo estaba pensado para desarrolladores independientes y equipos pequeños, que las cuentas con actividad reciente en el nivel gratuito pasarían al nuevo modelo con un vale de un solo uso y que las aplicaciones de utilidad pública que publican avisos de emergencia mantendrían el acceso gratuito.

A 7 de octubre de 2026, el [documento de precios](https://docs.x.com/x-api/getting-started/pricing) de X describe un único modelo: sin suscripciones, compras créditos en la Developer Console y cada solicitud se descuenta de ellos. Los precios unitarios del documento son 0,005 dólares por publicación leída, 0,015 dólares por publicación creada, 0,20 dólares por una publicación que contiene un enlace y 0,01 dólares por perfil de usuario leído; los endpoints que leen los datos de tu propia cuenta («Owned Reads») cuestan 0,001 dólares por recurso. El mismo recurso solicitado por segunda vez en 24 horas no se cobra de nuevo. Los planes de pago por uso tienen un tope de 3 millones de publicaciones leídas al mes; por encima hace falta un contrato Enterprise. El documento dice que los precios pueden cambiar y que las cifras actuales están en la Developer Console. Los niveles llamados Free, Basic y Pro ya no aparecen en la documentación; no encontramos ninguna página oficial que diga cuándo se migró a los suscriptores antiguos, así que no damos esas fechas.

La distinción que importa a un desarrollador es esta: los rate limits y la facturación son sistemas separados. Puedes mantenerte dentro de los límites y aun así gastar créditos, o recibir un 429 sin gastar nada. Un 429 es gratis, porque solo se facturan las respuestas correctas que devuelven datos; aun así te cuesta tiempo, porque la ventana se ha gastado.

## Ejemplo de backoff: Python

La función de abajo, cuando recibe un 429, comprueba primero `x-rate-limit-reset` y espera a que se cierre la ventana; si la cabecera falta o está en el pasado, recurre al backoff exponencial (5, 10, 20, 40 segundos, con un tope de 15 minutos). Los intentos están limitados: si el quinto intento sigue devolviendo 429, la respuesta se devuelve tal cual, para que quien llama pueda aplazar la tarea. La ejecutamos contra un servidor simulado local que devolvía las mismas cabeceras: dos 429 con `reset`, un 429 sin la cabecera y después un 200; la espera total fue de 27 segundos.

```python
import time
import requests

def x_get(url, headers, max_tries=5):
    for attempt in range(max_tries):
        r = requests.get(url, headers=headers, timeout=30)
        if r.status_code != 429:
            return r
        # X escribe el momento en que se cierra la ventana en segundos Unix
        reset = int(r.headers.get("x-rate-limit-reset", "0"))
        wait = reset - time.time()
        if wait <= 0:                        # sin cabecera: backoff exponencial
            wait = min(5 * 2 ** attempt, 900)
        time.sleep(wait + 1)                 # un segundo por el desfase de reloj
    return r
```

Dos notas. Primera, la espera pertenece a un endpoint, pero debería aplicarse a cada solicitud que salga con el mismo token de usuario; cargar otros endpoints mientras uno está cerrado solo llena la ventana más deprisa. Segunda, el reloj del servidor y el tuyo pueden diferir unos segundos; el margen de un segundo del ejemplo es para eso, y puedes aumentarlo.

## Direcciones IP compartidas y el papel limitado de un proxy

Esta sección mira un solo caso: el aviso aparece porque compartes una dirección IP con muchas personas. En redes de oficinas, escuelas, residencias y salidas VPN saturadas, el contador que X lleva por dirección es un cubo compartido por todos, y puede llenarse aunque tus propias solicitudes sean pocas. La solución es una dirección que sea tuya, fija y que no compartas con nadie. Un [Proxies ISP](https://proxynet.io/es/static-isp-residential-proxy) es exactamente eso: una dirección fija registrada a nombre de un proveedor de internet, que parece una conexión doméstica y que usas tú solo. El contador cuenta entonces solo tus solicitudes.

Los equipos de redes sociales usan este enfoque como práctica habitual: una agencia que gestiona cuentas de clientes con permiso da a cada cuenta su propio perfil de navegador y su propia dirección fija, de modo que el día ajetreado de una cuenta no llena el contador de las demás y cada cuenta inicia sesión desde el mismo sitio todos los días. Cómo se gestionan las cuentas según las normas escritas de X y cuántas cuentas permite la plataforma está en nuestro [artículo sobre varias cuentas de redes sociales](/es/blog/manage-multiple-social-media-accounts). Para un equipo que trabaja sobre el terreno, un [Proxies móviles](https://proxynet.io/es/mobile-proxy) hace el mismo trabajo; una dirección que sale de la red de un operador es del mismo tipo que la de un usuario con su teléfono.

La lista de lo que un proxy no puede hacer es más larga. Si el contador está ligado a tu cuenta, que es lo que ocurre con la mayoría de los límites de desplazamiento y de acciones, cambiar de dirección no cambia nada; una solicitud desde la nueva dirección cae en el contador de la misma cuenta. Usar proxies para repartir el límite de una cuenta entre varias direcciones, para rotar entre muchas cuentas o para saltarse el requisito de inicio de sesión de X incumple las Reglas de X y sus normas de automatización; este artículo no tiene método para ello y nuestros productos no se venden para eso. El papel del proxy cabe en una frase: sustituir una dirección compartida por la tuya, para que el contador vea solo tu uso.

## Errores habituales

- **Recargar después del aviso.** Cada recarga es una solicitud nueva; el contador se abre más tarde.
- **Dar por hecho que la cuenta está suspendida y abrir un ticket de soporte.** La suspensión llega como un mensaje aparte en la página de perfil; un rate limit pasa en 15 a 30 minutos.
- **No mirar nunca las aplicaciones conectadas.** Una herramienta de «analíticas de seguidores» autorizada hace años puede seguir recogiendo datos en tu nombre.
- **Continuar desde una segunda cuenta.** Cambiar de cuenta en el mismo dispositivo y la misma dirección no reinicia el contador; aumenta la sospecha de automatización.
- **Reintentar un 429 a intervalo fijo en la API.** Un reintento cada cinco segundos mantiene la ventana cerrada en vez de abierta; lee `x-rate-limit-reset`.
- **Confundir un rate limit con quedarse sin créditos.** Son sistemas separados; un 429 es gratis, mientras que un saldo vacío detiene las solicitudes hasta que añades créditos.

## Guía de decisión

| Tu situación | Qué hacer |
|---|---|
| Primer aviso, un dispositivo, red doméstica | Esperar de 15 a 30 minutos |
| El aviso aparece a menudo y sin que hagas nada | Limpiar aplicaciones conectadas y sesiones |
| El aviso solo aparece en redes de oficina, escuela o VPN | Cambiar de red; para el trabajo, una dirección fija propia |
| Chocaste con el límite de seguir o de MD | Límite diario; esperar al día siguiente y bajar el ritmo |
| Desarrollador, la API devuelve 429 | Esperar a `x-rate-limit-reset`, repartir las solicitudes en la ventana |
| Desarrollador, las solicitudes fallan por créditos | Revisar el saldo y el límite de gasto en la Developer Console |
| Equipo que gestiona cuentas autorizadas | Un perfil de navegador y una dirección fija por cuenta |

## Preguntas frecuentes

### ¿Cuánto dura «rate limit exceeded» en X?

En la aplicación suele pasar solo en 15 a 30 minutos; X no da a los usuarios un tiempo exacto. Si chocaste con un límite diario de acciones, el contador se reinicia al día siguiente. En la API el tiempo es exacto y está escrito en la cabecera `x-rate-limit-reset`; la mayoría de los endpoints usan una ventana de 15 minutos.

### ¿«Rate limit exceeded» significa que mi cuenta está suspendida?

No. La suspensión es una decisión sobre las normas, aparece como un mensaje aparte en tu perfil y no pasa sola. Un rate limit es un contador lleno; se abre cuando esperas y no deja marca en tu cuenta.

### No hice nada, ¿por qué recibí un aviso de rate limit?

Hay dos causas probables. Una aplicación de terceros conectada a tu cuenta puede estar recogiendo datos en tu nombre en segundo plano; revisa Configuración y privacidad › Seguridad y acceso a la cuenta › Aplicaciones y sesiones. O estás en una red compartida como una oficina, una escuela o una VPN, y otras personas en la misma dirección llenaron el contador que X lleva por dirección.

### ¿Apagar la VPN arregla el error de rate limit de X?

Si el contador está ligado a la dirección IP, sí; una salida VPN saturada es una sola dirección compartida por cientos de usuarios. Si el contador está ligado a tu cuenta, apagar la VPN no cambia nada y tienes que esperar. La forma práctica de distinguirlos es pasar a datos móviles y probar.

### ¿Qué debo hacer cuando la API de X devuelve 429?

Lee el valor de `x-rate-limit-reset` en la respuesta y espera hasta ese momento; si la cabecera falta, usa backoff exponencial y limita el número de intentos. Frena también las demás solicitudes que salen con el mismo token. Para evitar el límite del todo, cachea las respuestas y vigila `x-rate-limit-remaining`.

### ¿Un proxy arregla el error de rate limit de X?

Solo en un caso: cuando el contador está ligado a una dirección IP que compartes con muchas personas, una dirección fija propia reduce el contador a tu propio uso. Si el contador está ligado a tu cuenta, un proxy no cambia nada. Repartir el límite de una cuenta entre varias direcciones o usar muchas cuentas para superar el límite incumple las Reglas de X.

## En resumen

«Rate limit exceeded» es un aviso temporal de que X vio más solicitudes tuyas de las que permite en poco tiempo; no es una sanción y pasa cuando esperas. El contador suele llenarse por el desplazamiento rápido, las aplicaciones en segundo plano conectadas a tu cuenta o las redes compartidas como oficinas y escuelas; espera, desconecta las aplicaciones y cambia de red si hace falta. Los desarrolladores ven el mismo límite como HTTP 429 con cabeceras `x-rate-limit-*`, esperan según `x-rate-limit-reset` y tienen presente que, con los precios por créditos de 2026, los rate limits y la facturación son sistemas separados. Para los equipos cuyo problema es una dirección compartida, lo que aporta una dirección fija propia está en nuestra página de [proxy para X](/es/x-proxy).
