Saltar al contenido principal
Cada día, miles de desarrolladores realizan solicitudes a la X API. Para ayudar a gestionar el gran volumen de estas solicitudes, se establecen límites en la cantidad de solicitudes que se pueden realizar. Estos límites contribuyen a ofrecer una API confiable y escalable en la que nuestra comunidad de desarrolladores confía. El número máximo de solicitudes permitidas se basa en un intervalo de tiempo, normalmente un período o ventana especificada. El intervalo más común es de quince minutos. Por ejemplo, un endpoint con un límite de 900 solicitudes por 15 minutos permite hasta 900 solicitudes en cualquier intervalo de 15 minutos. Los límites de velocidad dependen del método de autenticación. Por ejemplo, si se utiliza Contexto de usuario de OAuth 1.0a, cada conjunto de Access Tokens de los usuarios tiene su propio límite de velocidad por período. Alternativamente, si se utiliza OAuth 2.0 Bearer Token, tu App tendrá su propio límite independiente por período de tiempo. Cuando se superan estos límites, se devuelve un error.

Tabla de contenidos

Límites de velocidad de X API v2

La siguiente tabla muestra los límites de velocidad de cada plan de pago de X API. Estos límites también están disponibles en la sección de productos del portal de desarrolladores.
EndpointLímite de Pro Límite de Básico Límite de Gratuito
Tweets
DELETE /2/tweets/:id50 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
17 solicitudes / 24 horas
POR USUARIO
17 solicitudes / 24 horas
POR APP
DELETE /2/users/:id/likes/:tweet_id50 solicitudes / 15 min
POR USUARIO
100 solicitudes / 24 horas
POR USUARIO
1 solicitud / 15 min
POR USUARIO
DELETE /2/users/:id/retweets/:tweet_id50 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
GET /2/tweets900 solicitudes/15 min
POR USUARIO
450 solicitudes/15 min
POR APP
15 solicitudes/15 min
POR USUARIO
15 solicitudes/15 min
POR APP
1 solicitud/15 min
POR USUARIO
1 solicitud/15 min
POR APP
GET /2/tweets/:id900 solicitudes/15 min
POR USUARIO
450 solicitudes/15 min
POR APP
15 solicitudes/15 min
POR USUARIO
15 solicitudes/15 min
POR APP
1 solicitud/15 min
POR USUARIO
1 solicitud/15 min
POR APP
GET /2/tweets/:id/liking_users75 solicitudes / 15 min
POR USUARIO
75 solicitudes / 15 min
POR APP
5 solicitudes / 15 min
POR USUARIO
25 solicitudes / 15 min
POR APP
1 solicitud / 15 min
POR USUARIO
1 solicitud / 15 min
POR APP
GET /2/tweets/:id/quote_tweets75 solicitudes/15 min
POR USUARIO
75 solicitudes/15 min
POR APP
5 solicitudes/15 min
POR USUARIO
5 solicitudes/15 min
POR APP
1 solicitud/15 min
POR USUARIO
1 solicitud/15 min
POR APP
GET /2/tweets/:id/retweeted_by75 solicitudes/15 min
POR USUARIO
75 solicitudes/15 min
POR APP
5 solicitudes/15 min
POR USUARIO
5 solicitudes/15 min
POR APP
1 solicitud/15 min
POR USUARIO
1 solicitud/15 min
POR APP
GET /2/tweets/counts/all300 solicitudes/15 min
POR APP
GET /2/tweets/counts/recent300 solicitudes/15 min
POR APP
5 solicitudes/15 min
POR APP
1 solicitud/15 min
POR APP
GET /2/tweets/search/all1 solicitud/segundo
POR USUARIO
1 solicitud/segundo
POR APP
GET /2/tweets/search/recent300 solicitudes/15 min
POR USUARIO
450 solicitudes/15 min
POR APP
60 solicitudes/15 min
POR USUARIO
60 solicitudes/15 min
POR APP
1 solicitud/15 min
POR USUARIO
1 solicitud/15 min
POR APP
GET /2/tweets/search/stream50 solicitudes/15 min
POR APP
GET /2/tweets/search/stream/rules450 solicitudes/15 min
POR APP
GET /2/users/:id/liked_tweets75 solicitudes / 15 min
POR USUARIO
75 solicitudes / 15 min
POR APP
5 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR APP
1 solicitud / 15 min
POR USUARIO
1 solicitud / 15 min
POR APP
GET /2/users/:id/mentions300 solicitudes/15 min
POR USUARIO
450 solicitudes/15 min
POR APP
10 solicitudes/15 min
POR USUARIO
15 solicitudes/15 min
POR APP
1 solicitud/15 min
POR USUARIO
1 solicitud/15 min
POR APP
GET /2/users/:id/timelines/reverse_chronological180 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
GET /2/users/:id/tweets900 solicitudes/15 min
POR USUARIO
1500 solicitudes/15 min
POR APP
5 solicitudes/15 min
POR USUARIO
10 solicitudes/15 min
POR APP
1 solicitud/15 min
POR USUARIO
1 solicitud/15 min
POR APP
GET /2/users/reposts_of_me75 solicitudes / 15 min
POR USUARIO
75 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
POST /2/tweets100 solicitudes/15 min
POR USUARIO
10 000 solicitudes/24 horas
POR APP
100 solicitudes/24 horas
POR USUARIO
1667 solicitudes/24 horas
POR APP
17 solicitudes/24 horas
POR USUARIO
17 solicitudes/24 horas
POR APP
POST /2/tweets/search/stream/rules100 solicitudes / 15 min
POR APP
POST /2/users/:id/likes1000 solicitudes / 24 horas
POR USUARIO
200 solicitudes / 24 horas
POR USUARIO
1 solicitud / 15 min
POR USUARIO
POST /2/users/:id/retweets50 solicitudes/15 min
POR USUARIO
5 solicitudes/15 min
POR USUARIO
1 solicitud/15 min
POR USUARIO
PUT /2/tweets/:tweet_id/hidden50 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
Usuarios
DELETE /2/users/:source_user_id/following/:target_user_id50 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
DELETE /2/users/:source_user_id/muting/:target_user_id50 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
GET /2/users900 solicitudes / 15 min
POR USUARIO
300 solicitudes / 15 min
POR APP
100 solicitudes / 24 horas
POR USUARIO
500 solicitudes / 24 horas
POR APP
1 solicitud / 24 horas
POR USUARIO
1 solicitud / 24 horas
POR APP
GET /2/users/:id900 solicitudes / 15 min
POR USUARIO
300 solicitudes / 15 min
POR APP
100 solicitudes / 24 horas
POR USUARIO
500 solicitudes / 24 horas
POR APP
1 solicitud / 24 horas
POR USUARIO
1 solicitud / 24 horas
POR APP
GET /2/users/:id/blocking15 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
GET /2/users/:id/muting15 solicitudes / 15 min
POR USUARIO
100 solicitudes / 24 horas
POR USUARIO
1 solicitud / 24 horas
POR USUARIO
GET /2/users/by900 solicitudes / 15 min
POR USUARIO
300 solicitudes / 15 min
POR APP
100 solicitudes / 24 horas
POR USUARIO
500 solicitudes / 24 horas
POR APP
1 solicitud / 24 horas
POR USUARIO
1 solicitud / 24 horas
POR APP
GET /2/users/by/username/:username900 solicitudes / 15 min
POR USUARIO
300 solicitudes / 15 min
POR APP
100 solicitudes / 24 h
POR USUARIO
500 solicitudes / 24 h
POR APP
3 solicitudes / 15 min
POR USUARIO
3 solicitudes / 15 min
POR APP
GET /2/users/me75 solicitudes / 15 min
POR USUARIO
250 solicitudes / 24 horas
POR USUARIO
25 solicitudes / 24 horas
POR USUARIO
GET /2/users/search900 solicitudes/15 min
POR USUARIO
300 solicitudes/15 min
POR APP
POST /2/users/:id/following50 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
POST /2/users/:id/muting50 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
Spaces
GET /2/spaces300 solicitudes/15 min
POR USUARIO
300 solicitudes/15 min
POR APP
5 solicitudes/15 min
POR USUARIO
25 solicitudes/15 min
POR APP
1 solicitud/15 min
POR USUARIO
1 solicitud/15 min
POR APP
GET /2/spaces/:id300 solicitudes/15 min
POR USUARIO
300 solicitudes/15 min
POR APP
5 solicitudes/15 min
POR USUARIO
25 solicitudes/15 min
POR APP
1 solicitud/15 min
POR USUARIO
1 solicitud/15 min
POR APP
GET /2/spaces/:id/buyers300 solicitudes / 15 min
POR USUARIO
300 solicitudes / 15 min
POR APP
5 solicitudes / 15 min
POR USUARIO
25 solicitudes / 15 min
POR APP
1 solicitud / 15 min
POR USUARIO
1 solicitud / 15 min
POR APP
GET /2/spaces/:id/tweets300 solicitudes/15 min
POR USUARIO
300 solicitudes/15 min
POR APP
5 solicitudes/15 min
POR USUARIO
25 solicitudes/15 min
POR APP
1 solicitud/15 min
POR USUARIO
1 solicitud/15 min
POR APP
GET /2/spaces/by/creator_ids300 solicitudes/15 min
POR USUARIO
1 solicitud/segundo
POR APP
5 solicitudes/15 min
POR USUARIO
25 solicitudes/segundo
POR APP
1 solicitud/segundo
POR USUARIO
1 solicitud/15 min
POR APP
GET /2/spaces/search300 solicitudes / 15 min
POR USUARIO
300 solicitudes / 15 min
POR APP
5 solicitudes / 15 min
POR USUARIO
25 solicitudes / 15 min
POR APP
1 solicitud / 15 min
POR USUARIO
1 solicitud / 15 min
POR APP
Mensajes directos
DELETE /2/dm_events/:id1500 solicitudes / 24 horas
POR USUARIO
4000 solicitudes / 24 horas
POR APP
200 solicitudes / 15 min
POR USUARIO
2500 solicitudes / 24 horas
POR APP
GET /2/dm_conversations/:dm_conversation_id/dm_events15 solicitudes / 15 min
POR USUARIO
1 solicitud / 24 horas
POR USUARIO
GET /2/dm_conversations/with/:participant_id/dm_events15 solicitudes / 15 min
POR USUARIO
1 solicitud / 24 h
POR USUARIO
GET /2/dm_events15 solicitudes / 15 min
POR USUARIO
1 solicitud / 24 horas
POR USUARIO
GET /2/dm_events/:id15 solicitudes / 15 minutos
POR USUARIO
5 solicitudes / 24 horas
POR USUARIO
POST /2/dm_conversations15 solicitudes / 15 min
POR USUARIO
1440 solicitudes / 24 horas
POR APP
1 solicitud / 24 horas
POR USUARIO
1 solicitud / 24 horas
POR APP
POST /2/dm_conversations/:dm_conversation_id/messages15 solicitudes / 15 min
POR USUARIO
1440 solicitudes / 24 horas
POR APP
1 solicitud / 24 horas
POR USUARIO
1 solicitud / 24 horas
POR APP
POST /2/dm_conversations/with/:participant_id/messages1440 solicitudes / 24 horas
POR USUARIO
1440 solicitudes / 24 horas
POR APP
1 solicitud / 24 horas
POR USUARIO
1 solicitud / 24 horas
POR APP
Lists
DELETE /2/lists/:id300 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
DELETE /2/lists/:id/members/:user_id300 solicitudes/15 min
POR USUARIO
5 solicitudes/15 min
POR USUARIO
1 solicitud/15 min
POR USUARIO
DELETE /2/users/:id/followed_lists/:list_id50 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
DELETE /2/users/:id/pinned_lists/:list_id50 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
GET /2/lists/:id75 solicitudes/15 min
POR USUARIO
75 solicitudes/15 min
POR APP
5 solicitudes/15 min
POR USUARIO
5 solicitudes/15 min
POR APP
1 solicitud/15 min
POR USUARIO
1 solicitud/15 min
POR APP
GET /2/lists/:id/members900 solicitudes/15 min
POR USUARIO
900 solicitudes/15 min
POR APP
5 solicitudes/15 min
POR USUARIO
25 solicitudes/15 min
POR APP
1 solicitud/15 min
POR USUARIO
1 solicitud/15 min
POR APP
GET /2/lists/:id/tweets900 solicitudes / 15 min
POR USUARIO
900 solicitudes / 15 min
POR APP
5 solicitudes / 15 min
POR USUARIO
25 solicitudes / 15 min
POR APP
GET /2/users/:id/list_memberships75 solicitudes/15 min
POR USUARIO
75 solicitudes/15 min
POR APP
5 solicitudes/15 min
POR USUARIO
25 solicitudes/15 min
POR APP
1 solicitud/15 min
POR USUARIO
1 solicitud/15 min
POR APP
GET /2/users/:id/owned_lists15 solicitudes/15 min
POR USUARIO
15 solicitudes/15 min
POR APP
100 solicitudes/24 horas
POR USUARIO
500 solicitudes/24 horas
POR APP
1 solicitud/24 horas
POR USUARIO
1 solicitud/24 horas
POR APP
GET /2/users/:id/pinned_lists15 solicitudes / 15 min
POR USUARIO
15 solicitudes / 15 min
POR APP
100 solicitudes / 24 horas
POR USUARIO
500 solicitudes / 24 horas
POR APP
1 solicitud / 24 horas
POR USUARIO
1 solicitud / 24 horas
POR APP
POST /2/lists300 solicitudes / 15 minutos
POR USUARIO
100 solicitudes / 24 horas
POR USUARIO
1 solicitud / 24 horas
POR USUARIO
POST /2/lists/:id/members300 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
POST /2/users/:id/followed_lists50 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
POST /2/users/:id/pinned_lists50 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
PUT /2/lists/:id300 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
Guardados
DELETE /2/users/:id/bookmarks/:tweet_id50 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
GET /2/users/:id/bookmarks180 solicitudes / 15 min
POR USUARIO
10 solicitudes / 15 min
POR USUARIO
1 solicitud / 15 min
POR USUARIO
GET /2/users/:id/bookmarks/folders50 solicitudes/15 min
POR USUARIO
50 solicitudes/15 min
POR APP
5 solicitudes/15 min
POR USUARIO
5 solicitudes/15 min
POR APP
1 solicitud/15 min
POR USUARIO
1 solicitud/15 min
POR APP
GET /2/users/:id/bookmarks/folders/:folder_id50 solicitudes / 15 min
POR USUARIO
50 solicitudes / 15 min
POR APP
5 solicitudes / 15 min
POR USUARIO
5 solicitudes / 15 min
POR APP
1 solicitud / 15 min
POR USUARIO
1 solicitud / 15 min
POR APP
POST /2/users/:id/bookmarks50 solicitudes/15 min
POR USUARIO
5 solicitudes/15 min
POR USUARIO
1 solicitud/15 min
POR USUARIO
Conformidad
GET /2/compliance/jobs150 solicitudes / 15 min
POR APP
5 solicitudes / 15 min
POR APP
1 solicitud / 15 min
POR APP
GET /2/compliance/jobs/:job_id150 solicitudes / 15 min
POR APP
5 solicitudes / 15 min
POR APP
1 solicitud / 15 min
POR APP
POST /2/compliance/jobs150 solicitudes / 15 min
POR APP
15 solicitudes / 15 min
POR APP
1 solicitud / 15 min
POR APP
Uso
GET /2/usage/tweets50 solicitudes / 15 min
POR APP
50 solicitudes / 15 min
POR APP
1 solicitud / 15 min
POR APP
Tendencias
GET /2/trends/by/woeid/:id75 solicitudes / 15 min
POR APP
15 solicitudes / 15 min
POR APP
GET /2/users/personalized_trends10 solicitudes / 15 min
POR USUARIO
200 solicitudes / 15 min
POR APP
1 solicitud / 15 min
POR USUARIO
20 solicitudes / 15 min
POR APP
1 solicitud / 15 min
POR USUARIO
1 solicitud / 24 h
POR APP
Comunidades
GET /2/communities/:id300 solicitudes / 15 min
POR USUARIO
300 solicitudes / 15 min
POR APP
1 solicitud / 15 min
POR USUARIO
25 solicitudes / 15 min
POR APP
1 solicitud / 15 min
POR USUARIO
1 solicitud / 15 min
POR APP
GET /2/communities/search300 solicitudes/15 min
POR USUARIO
300 solicitudes/15 min
POR APP
1 solicitud/15 min
POR USUARIO
25 solicitudes/15 min
POR APP
1 solicitud/15 min
POR USUARIO
1 solicitud/15 min
POR APP

Límites de velocidad y método de autenticación

Los límites de velocidad se establecen tanto a nivel de la App de desarrollador como del access token de usuario:
  • OAuth 2.0 Bearer Token: Límite de tasa de la App Este método permite realizar un número determinado de solicitudes en nombre de su App de desarrollador. Al usar este método de autenticación, los límites se determinan por las solicitudes realizadas con un Bearer Token.
    • Ejemplo: Con un límite de 450 solicitudes por intervalo de 15 minutos, puede realizar 450 solicitudes en nombre de su App dentro de ese intervalo.
  • Contexto de usuario de OAuth 1.0a: Límite de tasa por usuario Este método permite realizar solicitudes en nombre de un usuario de X identificado por el Access Token del usuario. Por ejemplo, si recupera métricas privadas de Posts, autentíquese con Access Tokens de usuario para ese usuario, generados mediante el flujo de OAuth de 3 fases.
    • Ejemplo: Con un límite de 900 solicitudes por 15 minutos por usuario, puede realizar hasta 900 solicitudes por usuario en ese período de tiempo.

Encabezados HTTP y códigos de respuesta

Use los encabezados HTTP para conocer la situación de su aplicación dentro de un límite de tasa determinado, según la solicitud más reciente.
  • x-rate-limit-limit: límite de tasa para el endpoint
  • x-rate-limit-remaining: solicitudes restantes en la ventana de 15 minutos
  • x-rate-limit-reset: tiempo restante antes de que el límite de tasa se reinicie (en segundos de época UTC)

Respuestas de error

Si una aplicación supera el límite de tasa de un endpoint, la API devolverá una respuesta HTTP 429 “Too Many Requests” con el siguiente mensaje de error en el cuerpo de la respuesta:
{ "errors": [ { "code": 88, "message": "Se superó el límite de tasa" } ] }

Recuperación tras alcanzar un límite de tasa

Cuando se superan estos límites de tasa, el endpoint devuelve un error 429 “Too Many Requests”. Como se explica a continuación, cuando se producen errores de límite de tasa, una buena práctica es examinar los encabezados HTTP que indican cuándo se restablece el límite y pausar las solicitudes hasta entonces.
Cuando se produce un error de “Too Many Requests” o de limitación por tasa, es necesario reducir la frecuencia de las solicitudes. Cuando se alcanza un error de límite de tasa, se puede consultar el encabezado HTTP x-rate-limit-reset: para saber cuándo se restablecerá la limitación

. Otro patrón común es el backoff exponencial, donde el tiempo entre solicitudes comienza siendo breve (por ejemplo, unos segundos) y luego se duplica antes de cada reintento. Esto se continúa hasta que una solicitud sea satisfactoria o se alcance un tiempo máximo razonable entre solicitudes (por ejemplo, unos minutos).

Idealmente, el cliente sea consciente de los límites de tasa existentes y pueda pausar las solicitudes hasta que expire la ventana actualmente excedida. Si superas un límite de 15 minutos, tiene sentido esperar uno o dos minutos antes de reintentar.

Ten en cuenta que, más allá de estos límites en el número de solicitudes, el nivel de acceso Standard Basic proporciona hasta 500,000 Posts por mes en los endpoints de búsqueda reciente y stream filtrado. Si has superado el límite mensual de Posts, tiene más sentido que tu App emita una notificación, conozca su día de renovación mensual y suspenda las solicitudes hasta ese día.

Consejos para evitar la limitación por tasa

Los siguientes consejos te ayudarán a programar de forma defensiva y a reducir la posibilidad de sufrir limitación por tasa. Algunas funcionalidades de la aplicación que quizá quieras ofrecer simplemente no son viables debido a la limitación por tasa, especialmente en lo relativo a la actualidad de los resultados. Si tu objetivo es proporcionar información en tiempo real, revisa los endpoints de stream filtrado y muestreado.

Almacenamiento en caché

Guarda las respuestas de la API si prevés un uso frecuente. En lugar de llamar a la API en cada carga de página, almacena la respuesta en caché de forma local.

Priorice a los usuarios activos

Si su sitio hace un seguimiento de muchos usuarios de X (por ejemplo, al obtener su estado actual o estadísticas sobre su uso de X), considere solicitar datos únicamente de los usuarios que hayan iniciado sesión recientemente en su sitio.

Adáptate a los resultados de búsqueda

Si tu aplicación supervisa un gran volumen de términos de búsqueda, consulta con menos frecuencia aquellas búsquedas que no arrojan resultados que las que sí. Al aplicar una estrategia de back-off puedes mantenerte al día con las query populares sin desperdiciar ciclos solicitando query que rara vez cambian. Como alternativa, considera usar el endpoint de stream filtrado y filtrar con tus query de búsqueda.

Lista de denegación

Si una aplicación abusa de los límites de velocidad, se le negará el acceso. Las Apps denegadas no pueden obtener respuesta de la X API. Si tú o tu aplicación han sido denegados y crees que ha habido un error, puedes usar nuestros formularios de asistencia de la plataforma para solicitar ayuda. Incluye la siguiente información:
  1. Explica por qué crees que tu aplicación fue denegada.
  2. Si ya no estás sujeto a límites de velocidad, describe en detalle cómo solucionaste el problema.
I