Saltar al contenido principal
Cada día, muchos miles de desarrolladores realizan solicitudes a la X API. Para gestionar el gran volumen de estas solicitudes, se establecen límites en la cantidad de solicitudes que se pueden realizar. Estos límites ayudan a ofrecer una API confiable y escalable en la que confía nuestra comunidad de desarrolladores. El número máximo de solicitudes permitidas se basa en un intervalo de tiempo, generalmente un período o ventana específicos. 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 uso dependen del método de Autenticación. Por ejemplo, si usas el Contexto de usuario de OAuth 1.0a, cada conjunto de Access Tokens de los usuarios tiene su propio límite por período. Alternativamente, si usas el 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 contenido

Límites de tasa de X API v2

La siguiente tabla muestra los límites de tasa 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 Pro Límite Básico Límite Gratis
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 minutos
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 h
POR USUARIO
GET /2/dm_conversations/with/:participant_id/dm_events15 solicitudes / 15 min
POR USUARIO
1 solicitud / 24 horas
POR USUARIO
GET /2/dm_events15 solicitudes / 15 min
POR USUARIO
1 solicitud / 24 horas
POR USUARIO
GET /2/dm_events/:id15 solicitudes / 15 min
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
Listas
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 min
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 horas
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 uso y método de Autenticación

Los límites de uso se establecen tanto a nivel de la App de desarrollador como a nivel del token de acceso de usuario:
  • OAuth 2.0 Bearer Token: Límite de uso de la App Este método permite realizar una cierta cantidad de solicitudes en nombre de tu 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, puedes realizar 450 solicitudes en nombre de tu App dentro de ese intervalo.
  • OAuth 1.0a User Context: Límite de uso 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 recuperas métricas privadas de Posts, autentícate con Access Tokens de usuario para ese usuario, generados mediante el flujo de OAuth de 3 etapas.
    • Ejemplo: Con un límite de 900 solicitudes por cada 15 minutos por usuario, puedes realizar hasta 900 solicitudes por usuario en ese período.

Encabezados HTTP y códigos de respuesta

Use los encabezados HTTP para entender en qué situación se encuentra su App con respecto a un límite de uso determinado, según la solicitud más reciente realizada.
  • x-rate-limit-limit: límite máximo de solicitudes para el endpoint
  • x-rate-limit-remaining: solicitudes restantes en la ventana de 15 minutos
  • x-rate-limit-reset: tiempo restante antes de que se restablezca el límite de uso (en segundos de época UTC)

Respuestas de error

Si una App supera el límite de solicitudes 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": "Límite de velocidad excedido" } ] }

Recuperación tras un límite de tasa

Cuando se superan estos límites, 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 revisar 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 de tasa, es necesario reducir la frecuencia de las solicitudes. Al encontrarse con 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 se basa en el retroceso exponencial, donde el tiempo entre solicitudes comienza siendo breve (por ejemplo, unos segundos) y luego se duplica antes de cada reintento. Esto se mantiene hasta que una solicitud tiene éxito o se alcanza un tiempo máximo razonable entre solicitudes (por ejemplo, unos minutos).

Idealmente, el cliente debería ser consciente de los límites de tasa existentes y poder pausar las solicitudes hasta que venza la ventana actualmente superada. Si excede un límite de 15 minutos, tiene sentido esperar uno o dos minutos antes de reintentar.

Tenga en cuenta que, más allá de estos límites en el número de solicitudes, el nivel de acceso Básico estándar proporciona hasta 500,000 Posts por mes desde los endpoints de búsqueda reciente y flujo filtrado. Si ha excedido el límite mensual de Posts, tiene más sentido que su App muestre una notificación, identifique su día de renovación mensual y posponga las solicitudes hasta esa fecha.

Consejos para evitar que se apliquen límites de uso

Los siguientes consejos te ayudarán a programar de forma preventiva y a reducir la posibilidad de alcanzar los límites de uso. Algunas funciones de la aplicación que quizá quieras ofrecer simplemente no son viables debido a la limitación de uso, especialmente en lo referente a la actualidad de los resultados. Si tu aplicación requiere información en tiempo real, consulta los endpoints de streaming filtrado y muestreado.

Almacenamiento en caché

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

Prioriza a los usuarios activos

Si tu sitio realiza un seguimiento de muchos usuarios de X (por ejemplo, al obtener su estado actual o estadísticas sobre su uso de X), considera solicitar datos solo de aquellos que hayan iniciado sesión recientemente en tu sitio.

Adáptate a los resultados de búsqueda

Si tu aplicación monitoriza un alto volumen de términos de búsqueda, consulta con menor frecuencia aquellas búsquedas que no devuelven resultados que aquellas que sí los tienen. Al aplicar una estrategia de backoff, puedes mantenerte al día con las consultas populares sin desperdiciar ciclos solicitando consultas que rara vez cambian. Como alternativa, considera usar el endpoint de flujo filtrado y aplicar tus consultas de búsqueda como filtros.

Lista de denegación

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