Alternativas ao Nitter em 2026: o que ainda funciona para scripts e agentes

Atualizado
Testamos com curl instâncias do Nitter, visualizadores, APIs de preview, embeds do X e a UnifAPI em outubro de 2026. O que funciona para scripts e agents.
Em resumo: o Nitter como serviço público acabou. No dia 7 de outubro de 2026, o
nitter.netdeu timeout, onitter.privacydev.netrecusou a conexão e oxcancel.comrespondeu HTTP 451 (bloqueado por motivos legais). Os sites de visualizador que o substituíram nos resultados de busca, sotwe e twstalker, respondem com um desafio da Cloudflare a qualquer coisa que não seja navegador. O que ainda funciona para um script: FxTwitter e vxTwitter para um post ou um usuário, o endpoint de syndication do X para um post, e os endpoints gratuitos/tools/x/*da UnifAPI para perfis, posts, mídia, respostas, busca, tendências, comunidades e seguidores, tudo em JSON ou Markdown, grátis, sem fazer login e sem precisar de conta, com limite por visitante. Nada gratuito dá garantia de vazão.
Por cinco anos, o Nitter foi a resposta para "ler o Twitter sem conta": um front end focado em privacidade que renderizava perfis, threads e busca em HTML puro. Isso fez dele o padrão para scripts e, mais tarde, para os primeiros agentes de IA, que podiam dar um curl em uma URL do Nitter e ler o resultado. No início de 2024, o X fechou o caminho de contas de convidado de que o Nitter dependia, e as instâncias vêm morrendo desde então. O nome ainda ranqueia (em português, as buscas chegam como "nitter caiu", "nitter alternativa" ou "nitter não funciona"), então as pessoas continuam caindo em instâncias mortas e em sites de visualizador que se comportam pior do que aquilo que substituíram.
Isto é o que encontramos quando testamos o terreno com as ferramentas que um agente tem de fato: curl, User-Agent padrão, sem cookies.
O teste
Duas requisições por alvo: o perfil da NASA e um post público (x.com/NASA/status/2107237881668313108). Registramos o status HTTP, o content type e se um programa conseguia ler o texto e a contagem de curtidas do post a partir do corpo sem executar JavaScript.
| Alvo | Perfil | Post | Legível por um script | Observações |
|---|---|---|---|---|
nitter.net | timeout | timeout | Não | Sem resposta em 7 s |
nitter.privacydev.net | recusado | recusado | Não | Conexão recusada |
xcancel.com | 451 | 451 | Não | "Unavailable for legal reasons" (indisponível por motivos legais) |
sotwe.com | 403 | 403 | Não | Desafio "Just a moment…" da Cloudflare |
twstalker.com | 403 | 403 | Não | Desafio da Cloudflare |
x.com | 200 | 200 | Não | Casca em HTML de 147 KB; os dados carregam via JavaScript |
api.fxtwitter.com | 200 JSON | 200 JSON | Sim | Usuário único, post único; sem busca nem respostas |
api.vxtwitter.com | n/d | 200 JSON | Sim | Post único |
cdn.syndication.twimg.com/tweet-result | n/d | 200 JSON | Sim | Sem documentação; post único |
publish.twitter.com/oembed | n/d | 200 JSON | HTML dentro de JSON | Marcação de embed, sem métricas |
unifapi.com/tools/x/* | 200 JSON | 200 JSON | Sim, JSON ou Markdown | Mais mídia, respostas, busca, tendências, comunidades, seguidores |
Três tipos de falha, e vale distingui-los.
Sumiu. As instâncias do Nitter. Não há conserto; o acesso upstream que elas usavam não existe mais. Qualquer código ou prompt que ainda monte uma URL nitter.net/<handle> deve ser apagado.
Murado. sotwe e twstalker funcionam no navegador e servem um desafio da Cloudflare a todo o resto. Para uma pessoa, servem. Para um script, são um 403, e um navegador headless que passa pelo desafio hoje pode não passar amanhã.
Casca vazia. O próprio x.com devolve uma página sem conteúdo nenhum. Renderizá-la exige um navegador de verdade, uma barreira de login aparece rápido, e é contra os termos.
O que funciona, e para quê
FxTwitter e vxTwitter
As APIs de prévia de link. api.fxtwitter.com/<user>/status/<id> devolve um objeto JSON com texto, métricas, mídia e o post citado; api.fxtwitter.com/<user> devolve as contagens e a bio do perfil. O vxTwitter faz o mesmo para posts, com um formato mais plano. Os dois são gratuitos, sem chave, mantidos pela comunidade e feitos para um post de cada vez. Não têm busca, respostas, timeline nem limite de requisições declarado. Para um bot do Discord que expande links, são a ferramenta certa. Para um fluxo de trabalho, são o primeiro passo sem um segundo.
Os endpoints do próprio X
cdn.syndication.twimg.com/tweet-result?id=<id>&token=x devolve um post em JSON porque é isso que o widget de embed do X consome. É oficial no sentido de que o X o serve e sem documentação em todos os outros sentidos; as regras do parâmetro token já mudaram antes. publish.twitter.com/oembed é documentado, mas devolve HTML de embed, não dados. Use o primeiro como contraprova e nunca o segundo para dados.
Os endpoints gratuitos do X da UnifAPI
O motivo de termos construído estes é o resto da tabela: tudo o que um agente pede depois do primeiro post. Oito GETs sem chave em https://unifapi.com/tools/x/:
curl -s "https://unifapi.com/tools/x/profile?handle=nasa"
curl -s "https://unifapi.com/tools/x/post?id=2107237881668313108"
curl -s "https://unifapi.com/tools/x/replies?id=2107237881668313108&sort=top"
curl -s "https://unifapi.com/tools/x/search?q=from%3Anasa%20filter%3Amedia"
curl -s "https://unifapi.com/tools/x/trends?location=japan&format=md"
Toda resposta traz headers X-RateLimit-*, todo erro é { error: { type, message } }, toda lista é { items, hasMore, nextCursor }, e format=md devolve Markdown. O limite gratuito é de 20 consultas a cada 10 minutos por visitante, e uma busca conta como duas. As mesmas URLs funcionam como páginas para humanos: /tools/twitter-viewer encaminha um handle, um link, uma hashtag ou uma consulta para o visualizador certo, e adicionar format=json a qualquer URL de visualizador devolve os dados que a página mostra.
O que eles não fazem: contas protegidas ou vazão garantida. Para vazão, existe a API do X / Twitter medida com uma chave de workspace, pay as you go, com os mesmos nomes de campo para que nada precise ser reescrito.
Como escolher
| Você precisa de | Use |
|---|---|
| Um post expandido em um app de chat | FxTwitter |
| Uma checagem de que o texto de um post é o que o X serve | O endpoint de syndication |
| Um perfil com posts recentes, como dados | /tools/x/profile |
| Respostas, busca, mídia, seguidores, tendências, comunidades | /tools/x/* |
| Uma página que uma pessoa abre | Qualquer visualizador, incluindo /tools/twitter-viewer |
| Volume, um SLA | A API medida com uma chave |
FAQ
O Nitter morreu?
Como serviço público, sim. As instâncias que responderam em 7 de outubro de 2026 responderam com timeout, conexão recusada ou HTTP 451. Hospedar por conta própria ainda funciona para quem tem os próprios cookies de sessão do X para alimentá-lo, o que não é algo em que um agente deveria se apoiar.
Qual é a melhor alternativa ao Nitter para scripts?
Para um post, o FxTwitter. Para qualquer coisa além de um post (respostas, busca, timelines, seguidores), os endpoints gratuitos da UnifAPI, que devolvem JSON ou Markdown sem login e sem precisar de conta, com limite por visitante.
O que é o xcancel?
Uma instância do Nitter que foi, até pouco tempo atrás, a mais confiável entre as públicas. Agora ela devolve HTTP 451 para toda requisição.
Dá para usar o sotwe ou o twstalker a partir de um script?
Não sem passar por um desafio de navegador da Cloudflare, o que é frágil e vai contra o espírito do desafio. São ferramentas de navegador.