Saltar al contenido principal
Los límites de tasa controlan la cantidad de solicitudes que puedes hacer a cada endpoint. Si excedes los límites, recibirás un error 429 hasta que la ventana se reinicie.

Cómo funcionan los límites de tasa

ConceptoDescripción
Ventana de tiempoNormalmente 15 minutos o 24 horas
Límites por usuarioSe aplican con OAuth 1.0a o tokens de usuario de OAuth 2.0
Límites por AppSe aplican con Bearer Token (solo App)
Límites por endpointCada endpoint tiene sus propios límites

Comprobar tus límites

Los encabezados de la respuesta muestran el estado actual de tus límites de frecuencia:
x-rate-limit-limit: 900
x-rate-limit-remaining: 847
x-rate-limit-reset: 1705420800
EncabezadoDescripción
x-rate-limit-limitLímite máximo de solicitudes permitidas
x-rate-limit-remainingSolicitudes restantes en la ventana
x-rate-limit-resetMarca de tiempo Unix cuando la ventana se restablece

Tablas de límites de uso

Consulta el límite de uso para cada endpoint a continuación. También puedes ver estos límites en la Consola de desarrollador.
Los límites se muestran en intervalos de 15 minutos, a menos que se indique lo contrario (por ejemplo, “/24hrs” o “/sec”).

Publicaciones (25 endpoints)

Consulta de Tweets

MétodoEndpointPor AppPor usuario
GET/2/tweets3,500/15min5,000/15min
GET/2/tweets/:id450/15min900/15min
MétodoEndpointPor AppPor usuarioNotas
GET/2/tweets/search/recent450/15min300/15min10 por defecto, 100 resultados como máximo; longitud de la consulta de 512 caracteres
MethodEndpointPer AppPer UserNotas
GET/2/tweets/search/all1/seg, 300/15 min1/seg10 por defecto, máximo 500 resultados; longitud máxima de la consulta: 1024 caracteres

Recuento de publicaciones

MétodoEndpointPor AppPor usuarioNotas
GET/2/tweets/counts/recent300/15minlongitud de la consulta: 512
GET/2/tweets/counts/all300/15minlongitud de la consulta: 1024

Flujo filtrado

MétodoEndpointPor AppPor usuarioNotas
GET/2/tweets/search/stream50/15min1 conexión; 1000 reglas; longitud de regla: 1024; 250 publicaciones/seg
GET/2/tweets/search/stream/rules450/15min1 conexión; 1000 reglas; longitud de regla: 1024
POST/2/tweets/search/stream/rules100/15min1 conexión; 1000 reglas; longitud de regla: 1024

Administrar publicaciones

MétodoEndpointPor AppPor usuario
POST/2/tweets10,000/24 h100/15 min
DELETE/2/tweets/:id50/15 min

Cronologías

MétodoEndpointPor AppPor usuario
GET/2/users/:id/tweets10,000/15min900/15min
GET/2/users/:id/mentions450/15min300/15min
GET/2/users/:id/timelines/reverse_chronological180/15min

Búsqueda de Me gusta

MétodoEndpointPor AppPor usuario
GET/2/tweets/:id/liking_users75/15min75/15min
GET/2/users/:id/liked_tweets75/15min75/15min

Administrar Me gusta

MétodoEndpointPor AppPor usuario
POST/2/users/:id/likes50/15 min, 1.000/24 h
DELETE/2/users/:id/likes/:tweet_id50/15 min, 1.000/24 h

Consulta de retweets

MétodoEndpointPor AppPor usuarioNotas
GET/2/tweets/:id/retweeted_by75/15min75/15min
GET/2/tweets/:id/quote_tweets75/15min75/15min
GET/2/users/reposts_of_me75/15minHasta 100 resultados

Administrar retweets

MétodoEndpointPor aplicaciónPor usuario
POST/2/users/:id/retweets50/15min
DELETE/2/users/:id/retweets/:tweet_id50/15min

Ocultar respuestas

MétodoEndpointPor AppPor usuario
PUT/2/tweets/:tweet_id/hidden50/15min

Usuarios (14 endpoints)

Consulta de usuarios

MethodEndpointPor AppPor usuario
GET/2/users300/15min900/15min
GET/2/users/:id300/15min900/15min
GET/2/users/by300/15min900/15min
GET/2/users/by/username/:username300/15min900/15min
GET/2/users/me75/15min

Buscar usuarios

MétodoEndpointPor AppPor usuario
GET/2/users/search300/15min900/15min

Consulta de follows

MethodEndpointPor AppPor usuario
GET/2/users/:id/following300/15min300/15min
GET/2/users/:id/followers300/15min300/15min

Administrar seguimientos

MétodoEndpointPor AppPor usuario
POST/2/users/:id/following50/15min
DELETE/2/users/:source_user_id/following/:target_user_id50/15min

Consulta de bloqueos

MétodoEndpointPor AppPor usuario
GET/2/users/:id/blocking15/15min

Consulta de cuentas silenciadas

MétodoEndpointPor AppPor usuario
GET/2/users/:id/muting15/15min

Gestionar silencios

MétodoEndpointPor aplicaciónPor usuario
POST/2/users/:id/muting50/15min
DELETE/2/users/:source_user_id/muting/:target_user_id50/15min

Spaces (6 endpoints)

Consulta de Spaces

MethodEndpointPor AppPor usuario
GET/2/spaces/:id300/15min300/15min
GET/2/spaces300/15min300/15min
GET/2/spaces/:id/tweets300/15min300/15min
GET/2/spaces/by/creator_ids300/15min, 1/sec300/15min, 1/sec
GET/2/spaces/:id/buyers300/15min300/15min

Buscar Spaces

MétodoEndpointPor AppPor usuario
GET/2/spaces/search300/15min300/15min

Mensajes Directos (8 endpoints)

Consulta de Mensajes Directos

MétodoEndpointPor AppPor usuario
GET/2/dm_events15/15min
GET/2/dm_events/:id15/15min
GET/2/dm_conversations/:dm_conversation_id/dm_events15/15min
GET/2/dm_conversations/with/:participant_id/dm_events15/15min

Administrar Mensajes Directos

MétodoEndpointPor AppPor usuario
POST/2/dm_conversations1,440/24 h15/15 min, 1,440/24 h
POST/2/dm_conversations/with/:participant_id/messages1,440/24 h15/15 min, 1,440/24 h
POST/2/dm_conversations/:dm_conversation_id/messages1,440/24 h15/15 min, 1,440/24 h
DELETE/2/dm_events/:id4,000/24 h300/15 min, 1,500/24 h

Listas (14 endpoints)

Consulta de Listas

MétodoEndpointPor AppPor usuario
GET/2/lists/:id75/15min75/15min
GET/2/users/:id/owned_lists15/15min15/15min

Búsqueda de Tweets de listas

MétodoEndpointPor AppPor usuario
GET/2/lists/:id/tweets900/15min900/15min

Búsqueda de miembros de la lista

MétodoEndpointPor AppPor usuario
GET/2/lists/:id/members900/15min900/15min
GET/2/users/:id/list_memberships75/15min75/15min

Administrar listas

MétodoEndpointPor AppPor usuario
POST/2/lists300/15min
DELETE/2/lists/:id300/15min
PUT/2/lists/:id300/15min

Gestionar miembros de Listas

MétodoEndpointPor AppPor usuario
POST/2/lists/:id/members300/15min
DELETE/2/lists/:id/members/:user_id300/15min

Administrar seguimientos de Listas

MétodoEndpointPor AppPor usuario
POST/2/users/:id/followed_lists50/15min
DELETE/2/users/:id/followed_lists/:list_id50/15min

Listas fijadas

MétodoEndpointPor AppPor usuario
GET/2/users/:id/pinned_lists15/15min15/15min
POST/2/users/:id/pinned_lists50/15min
DELETE/2/users/:id/pinned_lists/:list_id50/15min

Marcadores (5 endpoints)

Consulta de marcadores

MethodEndpointPor AppPor usuario
GET/2/users/:id/bookmarks180/15 min
GET/2/users/:id/bookmarks/folders50/15 min50/15 min
GET/2/users/:id/bookmarks/folders/:folder_id50/15 min50/15 min

Administrar marcadores

MétodoEndpointPor AppPor usuario
POST/2/users/:id/bookmarks50/15min
DELETE/2/users/:id/bookmarks/:tweet_id50/15min

Cumplimiento (3 endpoints)

Cumplimiento por lotes

MétodoEndpointPor AppPor usuario
POST/2/compliance/jobs150/15min
GET/2/compliance/jobs/:job_id150/15min
GET/2/compliance/jobs150/15min

Uso (1 endpoint)

MétodoEndpointPor AppPor usuario
GET/2/usage/tweets50/15min

MétodoEndpointPor AppPor usuario
GET/2/users/personalized_trends200/24hrs, 200/15min100/24hrs, 10/15min
MétodoEndpointPor AppPor usuario
GET/2/trends/by/woeid/:id75/15min

Comunidades (2 endpoints)

MétodoEndpointPor AppPor usuarioNotas
GET/2/communities/:id300/15min300/15min
GET/2/communities/search300/15min300/15min100 resultados máx.

Analíticas (1 endpoint)

MétodoEndpointPor AppPor usuario
GET/2/tweets/analytics300/15min300/15min

Contenido multimedia (8 endpoints)

MétodoEndpointPor AppPor usuario
POST/2/media/upload50,000/24hrs500/15min
GET/2/media/upload100,000/24hrs1,000/15min
POST/2/media/upload/initialize180,000/24hrs1,875/15min
POST/2/media/upload/:id/append180,000/24hrs1,875/15min
POST/2/media/upload/:id/finalize180,000/24hrs1,875/15min
POST/2/media/metadata50,000/24hrs500/15min
POST/2/media/subtitles10,000/24hrs100/15min
DELETE/2/media/subtitles10,000/24hrs100/15min

Actividad y webhooks

MétodoEndpointPor AppPor usuarioNotas
GET/2/activity/stream450/15min2 conexiones; 250 publicaciones/s
POST/2/activity/subscriptions500/15min
GET/2/activity/subscriptions500/15min
PUT/2/activity/subscriptions/:subscription_id500/15min
DELETE/2/activity/subscriptions/:subscription_id500/15min
POST/2/webhooks450/15min
GET/2/webhooks450/15min
PUT/2/webhooks/:webhook_id450/15min
DELETE/2/webhooks/:webhook_id450/15min
POST/2/webhooks/replay100/15min

Otros endpoints

MétodoEndpointPor AppPor usuario
GET/2/tweets/sample10/stream100/15 min
GET/2/news/:id200/15 min
GET/2/news/search200/15 min200/15 min
POST/2/users/:id/dm/block25/15 min, 1,000/24 h10/15 min, 400/24 h
POST/2/users/:id/dm/unblock25/15 min, 1,000/24 h10/15 min, 400/24 h
GET/2/users/by/username/:username/tweets1,500/15 min900/15 min
GET/2/users/by/username/:username/mentions450/15 min180/15 min
GET/2/users/:id/following/spaces300/15 min300/15 min
GET/2/tweets/:id/retweets75/15 min75/15 min
DELETE/2/connections/all25/15 min25/15 min

Gestión de los límites de tasa

Cuando superes un límite de tasa, recibirás una respuesta 429:
{
  "errors": [{
    "code": 88,
    "message": "Rate limit exceeded"
  }]
}

Estrategia de recuperación

  1. Comprueba x-rate-limit-reset para saber cuándo se reinicia la ventana
  2. Espera hasta ese momento antes de volver a intentarlo
  3. Utiliza una estrategia de backoff exponencial si es necesario
import time

def make_request_with_backoff(url, headers):
    response = requests.get(url, headers=headers)
    
    if response.status_code == 429:
        reset_time = int(response.headers.get('x-rate-limit-reset', 0))
        wait_time = max(reset_time - time.time(), 60)
        time.sleep(wait_time)
        return make_request_with_backoff(url, headers)
    
    return response

Mejores prácticas

Almacenar en caché las respuestas

Almacena los resultados localmente para reducir solicitudes repetidas.

Usar streaming

Para datos en tiempo real, usa un stream filtrado en lugar de hacer polling.

Supervisar encabezados

Realiza un seguimiento de las solicitudes restantes para evitar alcanzar los límites.

Distribuir solicitudes

Distribuye las solicitudes a lo largo del intervalo de tiempo.

Límites de tasa vs. facturación

Los límites de tasa y la facturación son conceptos separados:
ConceptoPropósito
Límites de tasaControlan la frecuencia de las solicitudes para mantener la estabilidad del sistema
Facturación por usoCobra por los datos obtenidos (pago por uso)
Puedes estar dentro de los límites de tasa y aun así generar costos de uso, o alcanzar los límites de tasa sin que ello implique un costo adicional.

Límites de tasa de Enterprise

Los clientes de Enterprise tienen límites de tasa personalizados. Póngase en contacto con su representante de cuenta o solicite acceso a Enterprise.

Próximos pasos

Manejo de errores

Gestiona el 429 y otros errores.

Primeros pasos

Conoce los niveles de acceso y las funcionalidades.