Pular para o conteúdo principal
Todos os dias, milhares de desenvolvedores fazem requisições à X API. Para ajudar a gerenciar o grande volume dessas requisições, são aplicados limites ao número de chamadas que podem ser feitas. Esses limites ajudam a fornecer uma API confiável e escalável da qual nossa comunidade de desenvolvedores depende. O número máximo de requisições permitido é definido por um intervalo de tempo, normalmente um período ou janela específicos. O intervalo mais comum é de quinze minutos. Por exemplo, um endpoint com limite de 900 requisições por 15 minutos permite até 900 requisições em qualquer janela de 15 minutos. Os limites de requisições dependem do método de autenticação. Por exemplo, se estiver usando OAuth 1.0a User Context, cada conjunto de Access Tokens de usuários tem seu próprio limite por período. Alternativamente, se estiver usando OAuth 2.0 Bearer Token, sua App terá um limite próprio e separado por período. Quando esses limites são excedidos, um erro é retornado.

Sumário

Limites de requisições da X API v2

A tabela a seguir apresenta os limites de requisições de cada plano pago da X API. Esses limites também estão disponíveis na seção de produtos do portal do desenvolvedor.
EndpointLimite do Pro Limite do Básico Limite do Gratuito
Tweets
DELETE /2/tweets/:id50 solicitações / 15 min
POR USUÁRIO
5 solicitações / 15 min
POR USUÁRIO
17 solicitações / 24 horas
POR USUÁRIO
17 solicitações / 24 horas
POR APP
DELETE /2/users/:id/likes/:tweet_id50 solicitações/15 min
POR USUÁRIO
100 solicitações/24 horas
POR USUÁRIO
1 solicitação/15 min
POR USUÁRIO
DELETE /2/users/:id/retweets/:tweet_id50 solicitações/15 min
POR USUÁRIO
5 solicitações/15 min
POR USUÁRIO
1 solicitação/15 min
POR USUÁRIO
GET /2/tweets900 solicitações / 15 min
POR USUÁRIO
450 solicitações / 15 min
POR APP
15 solicitações / 15 min
POR USUÁRIO
15 solicitações / 15 min
POR APP
1 solicitação / 15 min
POR USUÁRIO
1 solicitação / 15 min
POR APP
GET /2/tweets/:id900 solicitações/15 min
POR USUÁRIO
450 solicitações/15 min
POR APP
15 solicitações/15 min
POR USUÁRIO
15 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
GET /2/tweets/:id/liking_users75 solicitações / 15 min
POR USUÁRIO
75 solicitações / 15 min
POR APP
5 solicitações / 15 min
POR USUÁRIO
25 solicitações / 15 min
POR APP
1 solicitação / 15 min
POR USUÁRIO
1 solicitação / 15 min
POR APP
GET /2/tweets/:id/quote_tweets75 solicitações/15 min
POR USUÁRIO
75 solicitações/15 min
POR APP
5 solicitações/15 min
POR USUÁRIO
5 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
GET /2/tweets/:id/retweeted_by75 solicitações/15 min
POR USUÁRIO
75 solicitações/15 min
POR APP
5 solicitações/15 min
POR USUÁRIO
5 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
GET /2/tweets/counts/all300 solicitações / 15 min
POR APP
GET /2/tweets/counts/recent300 solicitações/15 min
POR APP
5 solicitações/15 min
POR APP
1 solicitação/15 min
POR APP
GET /2/tweets/search/all1 solicitação/segundo
POR USUÁRIO
1 solicitação/segundo
POR APP
GET /2/tweets/search/recent300 solicitações/15 min
POR USUÁRIO
450 solicitações/15 min
POR APP
60 solicitações/15 min
POR USUÁRIO
60 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
GET /2/tweets/search/stream50 solicitações/15 min
POR APP
GET /2/tweets/search/stream/rules450 solicitações/15 min
POR APP
GET /2/users/:id/liked_tweets75 solicitações/15 min
POR USUÁRIO
75 solicitações/15 min
POR APP
5 solicitações/15 min
POR USUÁRIO
5 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
GET /2/users/:id/mentions300 solicitações/15 min
POR USUÁRIO
450 solicitações/15 min
POR APP
10 solicitações/15 min
POR USUÁRIO
15 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
GET /2/users/:id/timelines/reverse_chronological180 solicitações / 15 min
POR USUÁRIO
5 solicitações / 15 min
POR USUÁRIO
1 solicitação / 15 min
POR USUÁRIO
GET /2/users/:id/tweets900 solicitações/15 min
POR USUÁRIO
1.500 solicitações/15 min
POR APP
5 solicitações/15 min
POR USUÁRIO
10 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
GET /2/users/reposts_of_me75 solicitações / 15 min
POR USUÁRIO
75 solicitações / 15 min
POR USUÁRIO
1 solicitação / 15 min
POR USUÁRIO
POST /2/tweets100 solicitações / 15 min
POR USUÁRIO
10.000 solicitações / 24 horas
POR APP
100 solicitações / 24 horas
POR USUÁRIO
1.667 solicitações / 24 horas
POR APP
17 solicitações / 24 horas
POR USUÁRIO
17 solicitações / 24 horas
POR APP
POST /2/tweets/search/stream/rules100 solicitações/15 min
POR APP
POST /2/users/:id/likes1000 solicitações / 24 horas
POR USUÁRIO
200 solicitações / 24 horas
POR USUÁRIO
1 solicitação / 15 min
POR USUÁRIO
POST /2/users/:id/retweets50 solicitações/15 min
POR USUÁRIO
5 solicitações/15 min
POR USUÁRIO
1 solicitação/15 min
POR USUÁRIO
PUT /2/tweets/:tweet_id/hidden50 solicitações / 15 min
POR USUÁRIO
5 solicitações / 15 min
POR USUÁRIO
1 solicitação / 15 min
POR USUÁRIO
Usuários
DELETE /2/users/:source_user_id/following/:target_user_id50 solicitações / 15 min
POR USUÁRIO
5 solicitações / 15 min
POR USUÁRIO
1 solicitação / 15 min
POR USUÁRIO
DELETE /2/users/:source_user_id/muting/:target_user_id50 solicitações / 15 min
POR USUÁRIO
5 solicitações / 15 min
POR USUÁRIO
1 solicitação / 15 min
POR USUÁRIO
GET /2/users900 solicitações/15 min
POR USUÁRIO
300 solicitações/15 min
POR APP
100 solicitações/24 horas
POR USUÁRIO
500 solicitações/24 horas
POR APP
1 solicitação/24 horas
POR USUÁRIO
1 solicitação/24 horas
POR APP
GET /2/users/:id900 solicitações/15 min
POR USUÁRIO
300 solicitações/15 min
POR APP
100 solicitações/24 horas
POR USUÁRIO
500 solicitações/24 horas
POR APP
1 solicitação/24 horas
POR USUÁRIO
1 solicitação/24 horas
POR APP
GET /2/users/:id/blocking15 solicitações/15 min
POR USUÁRIO
5 solicitações/15 min
POR USUÁRIO
1 solicitação/15 min
POR USUÁRIO
GET /2/users/:id/muting15 solicitações / 15 min
POR USUÁRIO
100 solicitações / 24 horas
POR USUÁRIO
1 solicitação / 24 horas
POR USUÁRIO
GET /2/users/by900 solicitações/15 min
POR USUÁRIO
300 solicitações/15 min
POR APP
100 solicitações/24 horas
POR USUÁRIO
500 solicitações/24 horas
POR APP
1 solicitação/24 horas
POR USUÁRIO
1 solicitação/24 horas
POR APP
GET /2/users/by/username/:username900 solicitações / 15 min
POR USUÁRIO
300 solicitações / 15 min
POR APP
100 solicitações / 24 h
POR USUÁRIO
500 solicitações / 24 h
POR APP
3 solicitações / 15 min
POR USUÁRIO
3 solicitações / 15 min
POR APP
GET /2/users/me75 solicitações / 15 min
POR USUÁRIO
250 solicitações / 24 horas
POR USUÁRIO
25 solicitações / 24 horas
POR USUÁRIO
GET /2/users/search900 solicitações/15 min
POR USUÁRIO
300 solicitações/15 min
POR APP
POST /2/users/:id/following50 solicitações/15 min
POR USUÁRIO
5 solicitações/15 min
POR USUÁRIO
1 solicitação/15 min
POR USUÁRIO
POST /2/users/:id/muting50 solicitações/15 min
POR USUÁRIO
5 solicitações/15 min
POR USUÁRIO
1 solicitação/15 min
POR USUÁRIO
Spaces
GET /2/spaces300 solicitações/15 min
POR USUÁRIO
300 solicitações/15 min
POR APP
5 solicitações/15 min
POR USUÁRIO
25 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
GET /2/spaces/:id300 solicitações/15 min
POR USUÁRIO
300 solicitações/15 min
POR APP
5 solicitações/15 min
POR USUÁRIO
25 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
GET /2/spaces/:id/buyers300 solicitações/15 min
POR USUÁRIO
300 solicitações/15 min
POR APP
5 solicitações/15 min
POR USUÁRIO
25 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
GET /2/spaces/:id/tweets300 solicitações / 15 min
POR USUÁRIO
300 solicitações / 15 min
POR APP
5 solicitações / 15 min
POR USUÁRIO
25 solicitações / 15 min
POR APP
1 solicitação / 15 min
POR USUÁRIO
1 solicitação / 15 min
POR APP
GET /2/spaces/by/creator_ids300 solicitações/15 min
POR USUÁRIO
1 solicitação/segundo
POR APP
5 solicitações/15 min
POR USUÁRIO
25 solicitações/segundo
POR APP
1 solicitação/segundo
POR USUÁRIO
1 solicitação/15 min
POR APP
GET /2/spaces/search300 solicitações/15 min
POR USUÁRIO
300 solicitações/15 min
POR APP
5 solicitações/15 min
POR USUÁRIO
25 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
Mensagens diretas
DELETE /2/dm_events/:id1500 solicitações / 24 horas
POR USUÁRIO
4000 solicitações / 24 horas
POR APP
200 solicitações / 15 min
POR USUÁRIO
2500 solicitações / 24 horas
POR APP
GET /2/dm_conversations/:dm_conversation_id/dm_events15 solicitações / 15 min
POR USUÁRIO
1 solicitação / 24 horas
POR USUÁRIO
GET /2/dm_conversations/with/:participant_id/dm_events15 solicitações / 15 min
POR USUÁRIO
1 solicitação / 24 horas
POR USUÁRIO
GET /2/dm_events15 solicitações / 15 min
POR USUÁRIO
1 solicitação / 24 horas
POR USUÁRIO
GET /2/dm_events/:id15 solicitações / 15 min
POR USUÁRIO
5 solicitações / 24 horas
POR USUÁRIO
POST /2/dm_conversations15 solicitações / 15 min
POR USUÁRIO
1440 solicitações / 24 horas
POR APP
1 solicitação / 24 horas
POR USUÁRIO
1 solicitação / 24 horas
POR APP
POST /2/dm_conversations/:dm_conversation_id/messages15 solicitações / 15 min
POR USUÁRIO
1440 solicitações / 24 horas
POR APP
1 solicitação / 24 horas
POR USUÁRIO
1 solicitação / 24 horas
POR APP
POST /2/dm_conversations/with/:participant_id/messages1440 solicitações / 24 horas
POR USUÁRIO
1440 solicitações / 24 horas
POR APP
1 solicitação / 24 horas
POR USUÁRIO
1 solicitação / 24 horas
POR APP
Lists
DELETE /2/lists/:id300 solicitações/15 min
POR USUÁRIO
5 solicitações/15 min
POR USUÁRIO
1 solicitação/15 min
POR USUÁRIO
DELETE /2/lists/:id/members/:user_id300 solicitações / 15 min
POR USUÁRIO
5 solicitações / 15 min
POR USUÁRIO
1 solicitação / 15 min
POR USUÁRIO
DELETE /2/users/:id/followed_lists/:list_id50 solicitações/15 min
POR USUÁRIO
5 solicitações/15 min
POR USUÁRIO
1 solicitação/15 min
POR USUÁRIO
DELETE /2/users/:id/pinned_lists/:list_id50 solicitações / 15 min
POR USUÁRIO
5 solicitações / 15 min
POR USUÁRIO
1 solicitação / 15 min
POR USUÁRIO
GET /2/lists/:id75 solicitações/15 min
POR USUÁRIO
75 solicitações/15 min
POR APP
5 solicitações/15 min
POR USUÁRIO
5 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
GET /2/lists/:id/members900 solicitações/15 min
POR USUÁRIO
900 solicitações/15 min
POR APP
5 solicitações/15 min
POR USUÁRIO
25 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
GET /2/lists/:id/tweets900 solicitações/15 min
POR USUÁRIO
900 solicitações/15 min
POR APP
5 solicitações/15 min
POR USUÁRIO
25 solicitações/15 min
POR APP
GET /2/users/:id/list_memberships75 solicitações/15 min
POR USUÁRIO
75 solicitações/15 min
POR APP
5 solicitações/15 min
POR USUÁRIO
25 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
GET /2/users/:id/owned_lists15 solicitações/15 min
POR USUÁRIO
15 solicitações/15 min
POR APP
100 solicitações/24 horas
POR USUÁRIO
500 solicitações/24 horas
POR APP
1 solicitação/24 horas
POR USUÁRIO
1 solicitação/24 horas
POR APP
GET /2/users/:id/pinned_lists15 solicitações / 15 min
POR USUÁRIO
15 solicitações / 15 min
POR APP
100 solicitações / 24 horas
POR USUÁRIO
500 solicitações / 24 horas
POR APP
1 solicitação / 24 horas
POR USUÁRIO
1 solicitação / 24 horas
POR APP
POST /2/lists300 solicitações / 15 min
POR USUÁRIO
100 solicitações / 24 h
POR USUÁRIO
1 solicitação / 24 h
POR USUÁRIO
POST /2/lists/:id/members300 solicitações / 15 min
POR USUÁRIO
5 solicitações / 15 min
POR USUÁRIO
1 solicitação / 15 min
POR USUÁRIO
POST /2/users/:id/followed_lists50 solicitações / 15 min
POR USUÁRIO
5 solicitações / 15 min
POR USUÁRIO
1 solicitação / 15 min
POR USUÁRIO
POST /2/users/:id/pinned_lists50 solicitações/15 min
POR USUÁRIO
5 solicitações/15 min
POR USUÁRIO
1 solicitação/15 min
POR USUÁRIO
PUT /2/lists/:id300 solicitações / 15 min
POR USUÁRIO
5 solicitações / 15 min
POR USUÁRIO
1 solicitação / 15 min
POR USUÁRIO
Itens salvos
DELETE /2/users/:id/bookmarks/:tweet_id50 solicitações/15 min
POR USUÁRIO
5 solicitações/15 min
POR USUÁRIO
1 solicitação/15 min
POR USUÁRIO
GET /2/users/:id/bookmarks180 solicitações / 15 min
POR USUÁRIO
10 solicitações / 15 min
POR USUÁRIO
1 solicitação / 15 min
POR USUÁRIO
GET /2/users/:id/bookmarks/folders50 solicitações/15 min
POR USUÁRIO
50 solicitações/15 min
POR APP
5 solicitações/15 min
POR USUÁRIO
5 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
GET /2/users/:id/bookmarks/folders/:folder_id50 solicitações/15 min
POR USUÁRIO
50 solicitações/15 min
POR APP
5 solicitações/15 min
POR USUÁRIO
5 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
POST /2/users/:id/bookmarks50 solicitações/15 min
POR USUÁRIO
5 solicitações/15 min
POR USUÁRIO
1 solicitação/15 min
POR USUÁRIO
Conformidade
GET /2/compliance/jobs150 solicitações/15 min
POR APP
5 solicitações/15 min
POR APP
1 solicitação/15 min
POR APP
GET /2/compliance/jobs/:job_id150 solicitações / 15 min
POR APP
5 solicitações / 15 min
POR APP
1 solicitação / 15 min
POR APP
POST /2/compliance/jobs150 solicitações / 15 min
POR APP
15 solicitações / 15 min
POR APP
1 solicitação / 15 min
POR APP
Uso
GET /2/usage/tweets50 solicitações/15 min
POR APP
50 solicitações/15 min
POR APP
1 solicitação/15 min
POR APP
Tendências
GET /2/trends/by/woeid/:id75 solicitações / 15 min
POR APP
15 solicitações / 15 min
POR APP
GET /2/users/personalized_trends10 solicitações/15 min
POR USUÁRIO
200 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
20 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/24 horas
POR APP
Comunidades
GET /2/communities/:id300 solicitações/15 min
POR USUÁRIO
300 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
25 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP
GET /2/communities/search300 solicitações/15 min
POR USUÁRIO
300 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
25 solicitações/15 min
POR APP
1 solicitação/15 min
POR USUÁRIO
1 solicitação/15 min
POR APP

Limites de requisições e método de autenticação

Os limites de requisições são definidos nos níveis de App de desenvolvedor e de access token do usuário:
  • OAuth 2.0 Bearer Token: limite de taxa do App Este método permite realizar um determinado número de requisições em nome do seu App de desenvolvedor. Ao usar este método de autenticação, os limites são determinados pelas requisições feitas com um Bearer Token.
    • Exemplo: Com um limite de 450 requisições por intervalo de 15 minutos, você pode fazer 450 requisições em nome do seu App dentro desse intervalo.
  • Contexto de Usuário do OAuth 1.0a: limite de taxa do usuário Este método permite que as requisições sejam feitas em nome de um usuário do X identificado pelo Access Token do usuário. Por exemplo, ao recuperar metrics privadas de Posts, autentique com Access Tokens de usuário para esse usuário, gerados usando o fluxo OAuth de 3 etapas.
    • Exemplo: Com um limite de 900 requisições por 15 minutos por usuário, você pode fazer até 900 requisições por usuário nesse período.

Cabeçalhos HTTP e códigos de resposta

Use os cabeçalhos HTTP para entender a situação da sua aplicação em relação a um determinado limite de taxa, com base na solicitação mais recente.
  • x-rate-limit-limit: limite máximo de taxa para o endpoint
  • x-rate-limit-remaining: solicitações restantes na janela de 15 minutos
  • x-rate-limit-reset: tempo restante até o reinício do limite de taxa (em segundos de época UTC)

Respostas de erro

Se um aplicativo exceder o limite de taxa de um endpoint, a API retornará uma resposta HTTP 429 “Too Many Requests” com a seguinte mensagem de erro no corpo da resposta:
{ "errors": [ { "code": 88, "message": "Limite de taxa excedido" } ] }

Recuperando de um limite de taxa

Quando esses limites de requisições são excedidos, o endpoint retorna um erro 429 “Too Many Requests”. Conforme discutido abaixo, quando ocorrerem erros de limite de taxa, uma prática recomendada é examinar os cabeçalhos HTTP que indicam quando o limite será redefinido e pausar as requisições até lá.
Quando ocorrer um erro de “Too Many Requests” ou de limitação de taxa, a frequência de requisições precisa ser reduzida. Quando um erro de limite de taxa ocorrer, verifique o cabeçalho HTTP x-rate-limit-reset: para saber quando a limitação será redefinida

. Outro padrão comum é o backoff exponencial, em que o intervalo entre requisições começa pequeno (por exemplo, alguns segundos) e depois é dobrado antes de cada nova tentativa. Isso continua até que uma requisição seja bem-sucedida ou que se atinja um intervalo máximo razoável entre requisições (por exemplo, alguns minutos).

Idealmente, o cliente tem consciência dos limites de requisições existentes e pode pausar as requisições até que a janela atualmente excedida expire. Se você exceder um limite de 15 minutos, faz sentido esperar um ou dois minutos antes de tentar novamente.

Observe que, além desses limites no número de requisições, o nível de acesso Standard Basic fornece até 500.000 Posts por mês a partir dos endpoints de busca recente e de stream filtrado. Se você tiver excedido o limite mensal de Posts, faz mais sentido que sua App emita uma notificação, registre o dia de adesão no mês e aguarde para retomar as requisições até esse dia.

Dicas para evitar atingir o limite de taxa

As dicas abaixo ajudam você a programar de forma defensiva e a reduzir a chance de atingir o limite de taxa. Alguns recursos do aplicativo que você talvez queira oferecer são simplesmente inviáveis devido ao rate limiting, especialmente quanto à atualidade dos resultados. Se informações em tempo real forem um objetivo do seu aplicativo, considere os endpoints de stream filtrado e amostrado.

Cache

Armazene as respostas da API se esperar uso frequente. Em vez de chamar a API a cada carregamento da página, armazene a resposta em cache localmente.

Priorize usuários ativos

Se o seu site acompanha muitos usuários do X (por exemplo, ao obter o status atual ou estatísticas sobre o uso do X), considere solicitar dados apenas para usuários que fizeram login recentemente no seu site.

Adapte-se aos resultados da pesquisa

Se sua App monitora um grande volume de termos de pesquisa, faça consultas com menos frequência para buscas sem resultados do que para aquelas que retornam resultados. Ao aplicar um backoff, você pode manter-se atualizado em query populares sem desperdiçar ciclos solicitando query que raramente mudam. Como alternativa, considere usar o endpoint filtered stream e aplicar filtros com suas query de pesquisa.

Lista de bloqueio

Se um aplicativo abusar dos limites de requisições, ele será bloqueado. Apps bloqueados não conseguem obter resposta da X API. Se você ou seu aplicativo foi bloqueado e acredita que houve um engano, use nossos formulários de Suporte da Plataforma para solicitar assistência. Inclua as seguintes informações:
  1. Explique por que você acha que seu aplicativo foi bloqueado.
  2. Se você não estiver mais sujeito a limites de requisições, descreva em detalhes como resolveu o problema.
I