Visualizador do Twitter: por que quase nenhum funciona para agentes de IA

Visualizador do Twitter: por que quase nenhum funciona para agentes de IA
Unif SEO team
Unif SEO team

Atualizado

Testamos com curl oito visualizadores de Twitter populares como um agent de AI faria. A maioria bloqueia scripts ou esconde dados. Veja o que funciona.

Em resumo: um visualizador do Twitter é uma página que mostra um perfil, um post ou a lista de tendências públicas do X sem precisar de conta no X. Existem dezenas, e para uma pessoa no navegador a maioria dá conta do recado. No dia 7 de outubro de 2026, buscamos oito dos mais conhecidos do jeito que um agente de IA faria: com curl e sem cookies. Dois devolveram um desafio da Cloudflare, duas instâncias do Nitter estavam fora do ar ou bloqueadas por motivos legais, três devolveram uma casca em JavaScript sem dado nenhum dentro, e um, o FxTwitter, devolveu JSON, mas só para posts e usuários individuais. Nenhuma das páginas de visualizador em si pôde ser lida por um script. Um visualizador do Twitter amigável para agentes coloca a requisição na URL, devolve JSON ou Markdown a partir dessa mesma URL, informa o limite de requisições nos headers e usa os mesmos nomes de campo de uma API medida. É assim que a série Visualizador do Twitter da UnifAPI foi construída, e todas as páginas são grátis, sem fazer login, sem precisar de conta e sem chave de API, com limite de 20 consultas a cada 10 minutos por visitante.

"Visualizador do Twitter" está entre as expressões mais buscadas em torno do X, e ela chega de muitas formas: "twitter viewer" em inglês, a grafia errada "twitter viwer", "ver perfil do twitter", "ver x sem conta", "site para ver twitter", a coreana "x 뷰어", a japonesa "twitterビューア". A intenção por trás de todas é a mesma: ver como está uma conta ou um post sem fazer login.

Quem digita essas buscas mudou. Uma parcela crescente das consultas nem é digitada. Elas vêm de um agente que recebeu a ordem de "dar uma olhada nessa conta", de um script que atualiza números de engajamento toda noite ou de um fluxo de pesquisa que se espalha por cinquenta handles. Esses chamadores não querem saber de banner bonito. Querem saber se a página pode ser endereçada, lida e considerada confiável por um programa. Este post é sobre essa lacuna, e sobre o que testamos antes de construir o nosso próprio visualizador.

O que um visualizador do Twitter faz e quem usa um

Um visualizador do Twitter lê os dados públicos do X e os exibe em uma página que você abre sem conta. Os visualizadores de perfil mostram a bio, a contagem de seguidores e os posts recentes. Os visualizadores de post mostram um post completo, com mídia e métricas. Os de tendências listam o que está em alta em uma localidade. Alguns sites juntam vários desses atrás de uma única caixa de busca.

O público tem duas metades, e elas precisam de coisas diferentes:

Quem chamaO que precisa de um visualizador
Uma pessoa no navegadorUma página rápida, um layout legível e um jeito de seguir os links até o original no X.
Um agente, script ou modeloUma URL que descreva a requisição por completo, um corpo legível por máquina e limites explícitos.

A maioria dos visualizadores foi projetada só para a primeira metade. Em 2022 isso fazia sentido. Hoje é um problema, porque é da segunda metade que vem o tráfego recorrente, e porque é a segunda metade que transforma um visualizador em fonte de dados para um fluxo de trabalho inteiro.

Testamos oito sites para ver Twitter do jeito que um agente faria

O método é simples de propósito, porque é exatamente o que um agente faz na primeira tentativa. Para cada visualizador, pedimos a página de perfil público de @NASA (ou o equivalente mais próximo que o site oferece) com curl, user agent padrão, sem cookies, sem JavaScript. Registramos o status HTTP, se os dados do perfil vinham na primeira resposta, se existia alguma alternativa em JSON, Markdown ou RSS e se o site documenta um caminho para agentes. Onde o site bloqueou o user agent padrão, tentamos de novo com uma string de user agent do Chrome.

VisualizadorO que o curl recebeuDados na primeira respostaJSON / Markdown / RSSCaminho documentado para agentes
Nitter (nitter.net)Sem respostaNãoRSS, quando alguma instância está no arNenhum
xcancel.com (instância do Nitter)HTTP 451, indisponível por motivos legais, RSS incluídoNãoNãoNenhum
SotweHTTP 403, desafio "Just a moment" da CloudflareNãoNãoNenhum
TwstalkerHTTP 403, desafio "Just a moment" da CloudflareNãoNãoNenhum
twitterviewer.netHTTP 200, uma casca em JavaScript de 5 KBNãoNão; o llms.txt do site diz que as páginas não são feedsUm servidor MCP atrás de registro OAuth 2.1
TwitterShots viewerHTTP 200, página baseada em formulário; /twitter-viewer/NASA dá 404NãoNãoUm llms.txt, nenhum endpoint para máquinas
SnaplyticsHTTP 200 na landing page, o visualizador redireciona para um formulárioNãoNãoNenhum
FxTwitter (api.fxtwitter.com)HTTP 200, JSONSimJSON para um post ou um usuárioA própria URL; sem headers de rate limit, sem busca nem tendências
O próprio x.comHTTP 200, uma aplicação JavaScript de 147 KBNãoNãoA API oficial, com chave e plano

Três coisas chamam a atenção.

Primeiro, a era do Nitter acabou para quem automatiza. O Nitter parou de funcionar em janeiro de 2024, quando o X removeu as contas de convidado, voltou em 2025 rodando sobre contas reais e, em agosto de 2026, o projeto e suas maiores instâncias públicas receberam notificações extrajudiciais (cease-and-desist) da X Corp. No dia do teste, a maior instância devolvia HTTP 451 para qualquer caminho, incluindo o RSS. Um fluxo de trabalho montado sobre o RSS do Nitter não tem para onde ir.

Segundo, os dois visualizadores que ranqueiam bem nas buscas feitas por pessoas, Sotwe e Twstalker, estão atrás de um desafio anti-bot da Cloudflare para qualquer cliente que não seja navegador. É uma escolha razoável para um site cujo único público são pessoas, mas significa que um agente recebe um 403 e uma página HTML dizendo "Just a moment".

Terceiro, os sites que pensam em agentes deixam isso em um canto à parte. O twitterviewer.net publica um llms.txt que afirma com todas as letras que suas páginas de perfil e de tweet são interfaces de navegador, não feeds rastreáveis, e aponta os agentes para um servidor MCP que exige registro OAuth. O FxTwitter, que existe para consertar prévias de link, é o único que responde a uma URL simples com JSON, e cobre posts individuais e registros de usuário, não busca, respostas, grade de mídia, tendências nem seguidores.

Então o resumo honesto não é "nenhum visualizador atende agentes". É "nenhum visualizador atende agentes pela mesma URL que uma pessoa usa, e os que atendem de alguma forma cobrem uma fatia mínima do X".

Sete formas como os visualizadores do Twitter falham com agentes

A tabela acima é o dado de uma manhã. O padrão por trás dela se repete na categoria inteira, e vale nomear cada falha, porque cada uma tem uma correção diferente.

#FalhaComo aparecePor que quebra a automação
1Sem URL de link diretoO handle entra em um formulário; a URL do resultado é a mesma da página vazia.O agente não consegue montar a requisição. Precisa controlar um navegador e preencher um formulário.
2Só HTMLNão há JSON, Markdown nem alternativa em texto puro.O modelo tem que raspar um layout que nunca foi feito para ser lido por um programa.
3Renderizado por JavaScriptO primeiro byte é uma casca vazia; os dados chegam por um fetch no lado do cliente.O curl não recebe nada. Navegação headless é lenta e frágil.
4Barreira anti-botUm CAPTCHA ou um desafio em JavaScript aparece para qualquer cliente que não seja navegador.Scripts são bloqueados de cara; agentes não conseguem resolver um desafio.
5Limites de requisição silenciososNada na resposta diz quantas requisições são permitidas nem quando a janela reinicia.O agente descobre o limite ao ser banido, e aí não faz ideia de quando tentar de novo.
6Nomes de campo instáveisOs números ficam em tags <span> cujas classes mudam a cada redesign.Um parser que funciona hoje falha no mês que vem, em silêncio.
7Beco sem saída em escalaO visualizador não leva a nenhuma API documentada e medida com os mesmos campos.As equipes acabam construindo um scraper em cima de uma página que foi feita para humanos.

As falhas 1 a 3 explicam por que "twitter viewer API" e "twitter viewer json" viraram buscas por conta própria. As pessoas acham um visualizador que funciona para os olhos delas e depois descobrem que não há como chamá-lo.

Como é um visualizador do Twitter amigável para agentes

Inverta as sete falhas e você tem uma especificação curta. Um visualizador amigável para agentes deve:

  1. Colocar a requisição na URL. ?q=<handle> no visualizador de perfil, ?q=<post URL or ID> no visualizador de post. A URL sozinha reproduz a visualização, então dá para registrar em log, cachear, compartilhar e repetir.
  2. Devolver um formato de máquina a partir dessa mesma URL. ?format=json para programas, ?format=md ou Accept: text/markdown para um modelo que vai ler o resultado como texto. Não um produto separado, não um fluxo de cadastro.
  3. Entregar os dados na primeira requisição. Nenhuma casca vazia, nenhum segundo fetch para descobrir.
  4. Tratar clientes que não são navegador como clientes normais. Script e navegador recebem a mesma resposta. O controle de abuso roda na borda da rede e é calibrado por volume, não por tipo de cliente.
  5. Declarar seus limites. X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset em toda resposta. Um 429 traz Retry-After e diz onde o teto pode ser levantado.
  6. Manter os nomes de campo estáveis e documentados. profile.followers continua sendo profile.followers.
  7. Levar a algum lugar. Quando uma consulta vira quinhentas, os mesmos nomes de campo devem estar disponíveis em uma API medida com chave, para que o código não mude.

É assim que a série gratuita de visualizadores do X na UnifAPI foi construída. Cada página de visualizador é uma camada fina sobre um endpoint gratuito em /tools/x/, então o navegador e o agente leem exatamente o mesmo registro, e o registro tem o mesmo formato da API do X / Twitter paga.

Como os agentes encontram um visualizador do Twitter, para começo de conversa

Descoberta para agentes é um problema à parte, e não é a mesma coisa que ranquear para "visualizador do twitter".

Quando alguém pede a um assistente para "olhar os posts recentes da @NASA", o assistente normalmente tenta https://x.com/NASA primeiro e recebe uma aplicação JavaScript sem dado nenhum. O passo seguinte é uma busca na web, e as consultas que ele escreve não são as que uma pessoa digita. São descrições de problema. Na nossa experiência construindo e testando agentes sobre dados públicos, as consultas se parecem com:

  • view x profile without login json
  • get tweet by url as json no api key
  • x.com returns empty page curl how to read profile
  • twitter trends api free no key
  • nitter alternative api 2026
  • fetch twitter replies for a tweet id

As páginas que vencem essas buscas têm alguns traços em comum. Colocam o padrão literal da URL no texto, não atrás de um botão. Mostram um exemplo com curl e uma resposta de amostra. Usam as palavras que o agente está varrendo: JSON, Markdown, sem chave de API, rate limit, Retry-After. Publicam um llms.txt e, de preferência, uma alternativa em Markdown de cada página, para que o modelo leia tudo em uma única requisição. E dizem o que a ferramenta não faz, porque um agente que conhece a fronteira para de gastar chamadas em contas protegidas.

Aplicamos isso às próprias páginas de visualizador. Todo visualizador do X na UnifAPI declara seu endpoint, seus parâmetros e seu limite no primeiro parágrafo, tem uma alternativa em Markdown e está listado no llms.txt do site. A ideia não é burlar nada; é responder à pergunta do agente no vocabulário do agente, na página em que ele cai.

Como ver perfil do X sem conta pela linha de comando

Todo visualizador da série tem uma forma de URL e uma forma de endpoint. As duas são gratuitas, as duas têm limite por visitante e as duas devolvem o mesmo corpo.

Um perfil público em JSON:

curl -s "https://unifapi.com/tools/x/profile?handle=nasa" | jq '.profile.followers, .engagementRate'

O mesmo perfil em Markdown, que é o que você quer quando o resultado vai direto para o contexto de um modelo:

curl -s -H "Accept: text/markdown" "https://unifapi.com/tools/x-profile-viewer?q=nasa"

Para ver um post do X pela URL:

curl -s "https://unifapi.com/tools/x/post?url=https://x.com/NASA/status/1234567890123456789"

As respostas abaixo dele, as mais curtidas primeiro, e depois a próxima página:

curl -s "https://unifapi.com/tools/x/replies?id=1234567890123456789&sort=top"
curl -s "https://unifapi.com/tools/x/replies?id=1234567890123456789&sort=top&cursor=<nextCursor>"

Tendências ao vivo de uma localidade, em Markdown:

curl -s "https://unifapi.com/tools/x/trends?location=japan&format=md"

Toda resposta traz os headers de rate limit, então um agente bem-comportado lê X-RateLimit-Remaining e dosa o próprio ritmo em vez de chutar:

HTTP/2 200
X-RateLimit-Limit: 20
X-RateLimit-Remaining: 17
X-RateLimit-Reset: 1791356400
Content-Type: application/json

Quando a janela acaba, o corpo do 429 também é JSON, e ele nomeia o caminho de upgrade em vez de deixar quem chama procurando por um:

{
  "error": {
    "type": "rate_limited",
    "message": "Free limit of 20 requests per 10 minutes reached. Retry after 412s, or use a UnifAPI workspace key (pay as you go) for uncapped access.",
    "retryAfterSeconds": 412,
    "upgrade": "https://unifapi.com/apis/twitter"
  }
}

Referência de endpoints

Os nove visualizadores compartilham um único envelope. Listas voltam como { items, hasMore, nextCursor }; passe cursor=<nextCursor> para paginar. Todo erro é { error: { type, message } } com um de validation_error, not_found, rate_limited, upstream_error, upstream_unavailable.

EndpointObrigatórioOpcionalRetorna
/tools/x/profilehandle (ou q, username)posts (1–10), cursorprofile, engagementRate, página de posts
/tools/x/postid (ou url, q)post com author, media, quoted, metrics
/tools/x/mediahandlecursorprofile, página de posts com mídia
/tools/x/repliesid (ou url)sort=top|recent, cursorpost, página de replies
/tools/x/searchqcursorquery, página de posts; os operadores de busca do X funcionam
/tools/x/trendslocation (slug ou WOEID), woeidwoeid, locationSlug, generatedAt, trends[]
/tools/x/communitiesqcursorquery, página de communities
/tools/x/followershandlekind=followers|following, cursorprofile, kind, página de users

Adicione format=md a qualquer um deles, ou envie Accept: text/markdown, para receber o mesmo conteúdo em Markdown. Toda página de visualizador aceita os mesmos parâmetros via ?q= mais format=, então /tools/x-profile-viewer?q=nasa&format=json e /tools/x/profile?handle=nasa são a mesma requisição.

A série completa

Um visualizador só raramente basta. Avaliar um criador exige o perfil, a aba de mídia e algumas threads de resposta. Acompanhar uma pauta exige busca mais tendências. A série cobre a superfície pública do X em nove páginas.

VisualizadorEndpoint gratuitoLê
Visualizador do Twitterencaminha para os outrosCole qualquer coisa; o hub abre a página certa.
Visualizador de perfil do Twitter/tools/x/profileBanner, bio, contagens, posts recentes, taxa de engajamento.
Visualizador de posts do Twitter/tools/x/postUm post com mídia, post citado e todas as métricas.
Visualizador de mídia do Twitter/tools/x/mediaAs fotos e os vídeos de uma conta em grade.
Visualizador de respostas do Twitter/tools/x/repliesA conversa abaixo de um post, as mais curtidas ou as mais recentes primeiro.
Busca avançada do Twitter/tools/x/searchPosts que batem com uma consulta, com os operadores de busca do X.
Em alta no X (Twitter) agora/tools/x/trendsO que está em alta no X hoje em dez localidades.
Buscador de Comunidades do X/tools/x/communitiesComunidades públicas por tema, com contagem de membros.
Visualizador de seguidores do Twitter/tools/x/followersQuem segue uma conta, e quem ela segue.

A página hub aceita um handle, o link de um post, uma hashtag ou uma busca em texto livre e encaminha tudo para o visualizador que consegue responder. Para um agente, isso significa um único ponto de entrada: mande a entrada para /tools/twitter-viewer?q=…&format=json e leia o resultado.

O que os visualizadores não fazem

Amigável para agentes não quer dizer ilimitado, nem quer dizer privado.

  • Eles leem apenas dados públicos. Contas protegidas mostram o cabeçalho público e nada mais.
  • Eles têm limite por visitante: 20 consultas a cada 10 minutos, aplicado na borda e impresso nos headers.
  • Eles nunca fazem login no X. Nenhuma conta sua está envolvida, e nada é escrito, curtido, seguido ou enviado.
  • O vídeo toca a partir da própria CDN do X. Nada é re-hospedado nem oferecido para download.
  • Eles não substituem os termos do X. Use os registros como usaria qualquer página pública.

Essas fronteiras também são o que torna a saída segura de citar. Um agente pode apontar para um registro público e deixar o operador no controle do que acontece em seguida.

Quando um visualizador deixa de ser suficiente

Visualizadores gratuitos servem para olhar. No momento em que um fluxo de trabalho precisa de volume ou garantias, os mesmos registros ficam disponíveis pela API do X / Twitter da UnifAPI com uma chave de workspace. O preço é pay as you go, sem um nível gratuito para estourar e sem assinatura para dimensionar, e os nomes de campo batem com os dos visualizadores, então o prompt que funcionou contra /tools/x/profile funciona contra a API sem precisar ser reescrito.

Um caminho típico:

  1. Uma pessoa testa o Visualizador de perfil do Twitter em três handles.
  2. Um agente recebe a mesma URL com ?format=json e a tarefa de pontuar cinquenta handles durante a noite. Ele bate no limite por visitante e lê o 429.
  3. A equipe adiciona uma chave de workspace e move o loop para a API. O código de pontuação não muda.

Essa continuidade é o motivo de construir o visualizador e a API sobre a mesma camada de dados.

FAQ

O que é um visualizador do Twitter? Um site que exibe um perfil, um post ou a lista de tendências públicas do X sem exigir que você faça login no X. É o jeito mais comum de ver o X sem fazer login: ele lê só o que a conta tornou público. "X viewer", "visualizador do X" e "site para ver twitter" são a mesma coisa com outros nomes.

Qual é o melhor site para ver Twitter sem conta? Para uma pessoa, qualquer um dos sites acima que carregar para você resolve; a diferença fica mais nos anúncios e na velocidade. Para um script ou um agente de IA, a pergunta é outra: escolha um visualizador que responda a uma URL simples com JSON e informe o limite de requisições. No dia do teste, o FxTwitter fazia isso para posts e usuários individuais, e os visualizadores da UnifAPI fazem isso para perfis, posts, respostas, mídia, busca, tendências, Comunidades e seguidores.

Existe uma alternativa ao Nitter que ainda funcione para scripts? Não uma que seja substituição direta. As instâncias públicas do Nitter estão fora do ar ou bloqueadas, e nenhum fork usa as mesmas rotas. Para leitura, use um visualizador que devolva Markdown ou JSON a partir de uma URL. Para feeds, use uma API que devolva os mesmos posts em JSON e permita paginar com cursor.

Por que agentes de IA têm dificuldade com a maioria dos visualizadores do Twitter? A maioria coloca a requisição em um formulário em vez de na URL, devolve só HTML, renderiza os resultados com JavaScript, bloqueia clientes que não são navegador e nunca diz quais são seus limites de requisição. Um agente precisa do oposto em cada um desses pontos.

Dá para receber os resultados de um visualizador do Twitter em JSON? Nos visualizadores da UnifAPI, sim. Adicione format=json a qualquer URL de visualizador ou chame diretamente o endpoint /tools/x/ correspondente. Adicione format=md ou envie Accept: text/markdown para Markdown.

O visualizador gratuito do X é gratuito mesmo? Qual é o limite? Sim. Cada visualização é uma consulta real e não custa nada. As visualizações gratuitas têm limite de 20 consultas a cada 10 minutos por visitante, os headers dizem quantas restam e quando a janela reinicia, e o acesso sem teto é pay as you go com uma chave de workspace da UnifAPI.

Dá para ver perfil do X sem conta se ele for privado ou protegido? Não. Uma conta protegida mostra só o cabeçalho público. Os visualizadores leem dados públicos e nunca usam um login do X.

O que ler a seguir

Visualizador do Twitter - a página hub; cole um handle, um link, uma hashtag ou uma busca.

Fluxo de trabalho de visualizador de perfil do Twitter - a checagem de cinco minutos para avaliar uma conta antes da abordagem.

Skills de dados públicos Agent First - como empacotar consultas a dados públicos para que um agente as use sem supervisão.

API do X / Twitter - a superfície medida para quando uma consulta vira muitas.