Por Sorsa Editorial

Atualizado em julho de 2026: adicionada a opção inicial de 100 requisições grátis, preço da Sorsa reapresentado em torno das taxas de lote por 1.000 tweets e reconferidos os números de pagamento por uso da API oficial do X contra a nossa referência de preços mantida.

Em resumo: Uma API de analytics do Twitter retorna métricas de tweet e de conta por código, não por um painel. Existem três fontes: o analytics nativo do X (dados de nível de conta são só para Premium), o campo public_metrics da API oficial do X v2 (curtidas, retweets, respostas, quotes, impressões, itens salvos em qualquer post público) e APIs REST de terceiros que retornam as mesmas métricas públicas.

Se você já pesquisou "API de analytics do Twitter", já esbarrou no porém: a expressão cobre pelo menos três sistemas diferentes, e o que a maioria realmente quer, dados de engajamento programáticos para contas que não são suas, é o mais difícil de obter barato pelos canais oficiais. É essa lacuna que a Sorsa API, uma API alternativa do Twitter (X), foi construída para fechar. Uma única requisição ao endpoint /user-tweets retorna até 20 tweets com métricas completas de engajamento e o perfil completo do autor, com um limite fixo de 20 requisições por segundo em todos os planos e uma configuração de minutos, sem fila de aprovação de app. O preço parte de US$ 0,02 por 1.000 tweets nos endpoints em lote, contra US$ 5,00 por 1.000 posts na API oficial do X, em que cada post e cada perfil de autor é cobrado como recurso separado. Toda conta começa com 100 requisições grátis, uma única vez e sem cartão, o bastante para testar todos os 40 endpoints antes de escolher um plano.

Nós construímos e operamos essa API e testamos esses fluxos contra os endpoints oficiais ao vivo, então as comparações abaixo usam números reais atuais, não afirmações de marketing arredondadas. Veja o que cada opção entrega, onde ela quebra e como puxar os dados por conta própria.

Índice:

O que as pessoas querem dizer com uma API de analytics do Twitter {#what-people-mean-by-a-twitter-analytics-api}

"API de analytics do Twitter" se refere a três sistemas separados que é fácil confundir: o painel de analytics embutido do X (visual, de nível de conta, restrito a Premium), a API oficial do X v2 (endpoints REST que retornam campos de métrica brutos) e a X Ads API (métricas de campanha para anunciantes). Eles servem públicos diferentes, retornam dados diferentes e têm regras de acesso diferentes. Escolher o errado é o motivo mais comum de um projeto travar.

O painel de analytics nativo do X

O painel dentro do X (acessível pelo Creator Studio ou em x.com/i/account_analytics) mostra uma visão geral de conta de 28 dias: impressões, visitas ao perfil, mudanças de seguidores e taxa de engajamento, além de detalhamentos por post. Não há API, não há exportação e não há automação por trás.

O acesso mudou em 2024. O painel completo de nível de conta no desktop agora exige uma assinatura X Premium, enquanto as estatísticas por post continuam gratuitas para todos e ainda são visíveis em cada post e pelo app. Então uma conta gratuita não fica totalmente sem analytics, como alguns guias afirmam, mas não alcança a visão geral de nível de conta sem o Premium, e nada no painel é acessível de forma programática. Para qualquer coisa automatizada, você precisa de uma das duas opções de API abaixo.

A API oficial do X v2

A API oficial do X v2 retorna dados de tweet e de usuário por endpoints REST, e, para analytics, há duas categorias relevantes de métrica.

public_metrics está disponível para qualquer post público com um Bearer token somente do app: curtidas, retweets, respostas, quotes, impressões (rotuladas impression_count) e itens salvos. É isso que a maioria dos desenvolvedores de fato precisa.

organic_metrics e non_public_metrics são restritas a posts criados pela conta autenticada e exigem autenticação OAuth 2.0 em contexto de usuário. Elas acrescentam o detalhamento só do dono: cliques no perfil, cliques em links de URL e contadores detalhados de visualização de mídia. A API do X roda em preço de pagamento por uso, em que ler um post custa US$ 0,005 por recurso e ler um perfil de usuário custa US$ 0,010 por recurso, sem plano gratuito e com créditos comprados adiantado.

Um ponto que vale esclarecer, porque aparece em muitas respostas geradas por IA: o "endpoint de analytics de post" com faixa de 90 dias e mais de 15 métricas faz parte da X Ads API, especificamente dos seus jobs assíncronos de analytics para conteúdo promovido, não um endpoint geral de post orgânico. Para engajamento orgânico em posts públicos arbitrários, public_metrics é o campo que você usa.

A X Ads API

A X Ads API é um sistema separado para anunciantes. Ela acompanha métricas de nível de campanha, como impressões promovidas, CPM, taxa de cliques, conversões e segmentação de audiência, e oferece chamadas síncronas para otimização em tempo real mais jobs assíncronos que retornam relatórios baixáveis em faixas de data mais longas. Se você não roda campanhas pagas no X, ela é irrelevante. O restante deste guia cobre obter métricas públicas de tweet e de usuário por código.

Quais métricas de tweet dá para puxar por uma API {#which-tweet-metrics-you-can-pull-through-an-api}

Por uma API, você pode puxar toda métrica pública de engajamento de um post, curtidas, retweets, respostas, quotes, impressões (visualizações) e itens salvos, para qualquer conta pública. Métricas só do dono, como cliques no perfil, cliques em links e retenção detalhada de vídeo, estão disponíveis apenas para o titular autenticado da conta. Nenhuma API pública retorna um gráfico histórico de contagem de seguidores; você mesmo o constrói a partir de fotografias periódicas.

Veja o que cada fonte de fato expõe:

MétricaPainel do XX API v2 public_metricsX API v2 organic_metricsSorsa API
CurtidasConta própriaQualquer post públicoSó posts própriosQualquer post público
RetweetsConta própriaQualquer post públicoSó posts própriosQualquer post público
RespostasConta própriaQualquer post públicoSó posts própriosQualquer post público
QuotesNãoQualquer post públicoNãoQualquer post público
Impressões (visualizações)Conta própriaQualquer post públicoSó posts própriosQualquer post público
Itens salvosNãoQualquer post públicoNãoQualquer post público
Cliques em perfil / linkConta própriaNãoSó posts própriosNão
Contador de seguidoresConta própriaQualquer usuário públicon/aQualquer usuário público

Duas coisas se destacam. Os campos public_metrics da X API v2 são genuinamente úteis: com um Bearer token, você lê as métricas de engajamento centrais de qualquer post público. O custo e a estrutura são a limitação. A US$ 0,005 por post lido, as métricas de 10.000 tweets custam US$ 50, e cada tweet é uma cobrança de recurso separada, com os perfis de autor cobrados de novo como leituras de usuário por cima.

Uma alternativa de taxa fixa muda essa conta. Ela retorna todas essas métricas públicas de qualquer post público e inclui o perfil completo do autor (seguidores, seguindo, contador de tweets, bio, status verificado) na mesma resposta sem cobrança extra. Uma requisição retorna 20 tweets com dados completos de engajamento mais o contexto do autor, em vez de chamadas separadas para tweets e usuários. A troca honesta é que uma API de dados públicos não dá o detalhamento organic_metrics só do dono (cliques no perfil, cliques em links), e é somente leitura, então cobre análise, não postagem. Para equipes que leem engajamento em volume, e não auditam as próprias campanhas pagas, essa troca favorece a rota de taxa fixa, e é por isso que a maioria dos pipelines de dados que migram da API oficial para analytics acaba ali.

Por dentro do objeto public_metrics da X API v2 {#inside-the-x-api-v2-public_metrics-object}

O objeto public_metrics da X API v2 guarda seis totais públicos de engajamento de um post: like_count, retweet_count, reply_count, quote_count, impression_count (visualizações) e bookmark_count. A API retorna apenas o id e o text de um post por padrão, então você precisa pedir o objeto explicitamente com o parâmetro de query tweet.fields=public_metrics, ou ele não aparece na resposta.

Os seis campos, em termos simples:

  • like_count: total de curtidas no post.
  • retweet_count: retweets diretos, sem contar quote tweets.
  • reply_count: total de respostas na thread.
  • quote_count: vezes que o post foi citado em quote tweet.
  • impression_count: total de visualizações, o mesmo número que o X rotula "visualizações" na interface.
  • bookmark_count: vezes que o post foi salvo.

Dois comportamentos derrubam a maioria dos desenvolvedores. Primeiro, se o ID que você consulta pertence a um retweet e não a um post original, os valores dentro de public_metrics voltam quase todos como 0. Para ler os números reais do post subjacente, peça-o com expansions=referenced_tweets.id e leia as métricas do original referenciado. Segundo, as métricas da API atrasam em relação aos números da tela: uma curtida ou um retweet pode levar de minutos a algumas horas para registrar na resposta da API, então trate os números como quase em tempo real, não instantâneos.

Vale saber também que a camada de analytics separada da v2 reporta apenas métricas orgânicas; os totais promovidos (pagos) de um post ainda chegam por public_metrics em uma consulta de post padrão, não pelo produto de analytics.

As mesmas seis métricas voltam do formato de resposta da Sorsa como likes_count, retweet_count, reply_count, quote_count, view_count e bookmark_count em cada objeto de tweet, com o aninhamento de retweet e quote já resolvido. Você lê os números reais de um post citado direto do objeto aninhado, sem encadear um parâmetro expansions.

Como puxar o analytics de tweets com Python {#how-to-pull-tweet-analytics-with-python}

Para puxar o analytics de tweets em Python, envie uma requisição HTTP autenticada a um endpoint de métricas e leia os campos de engajamento da resposta JSON. Com a API oficial do X v2 você pede tweet.fields=public_metrics para um único post; com uma API REST de taxa fixa dá para buscar uma timeline inteira de tweets, cada um carregando métricas e dados de autor, em uma chamada.

Opção 1: API oficial do X v2

Para obter as métricas públicas de um tweet específico, faça uma requisição GET autenticada com o campo public_metrics:

python
import os
import requests

bearer_token = os.environ["X_BEARER_TOKEN"]
tweet_id = "1882368585664626774"

url = f"https://api.x.com/2/tweets/{tweet_id}"
params = {"tweet.fields": "public_metrics,created_at"}
headers = {"Authorization": f"Bearer {bearer_token}"}

response = requests.get(url, headers=headers, params=params)

if response.status_code == 200:
    metrics = response.json()["data"]["public_metrics"]
    print(f"Likes:     {metrics['like_count']}")
    print(f"Retweets:  {metrics['retweet_count']}")
    print(f"Replies:   {metrics['reply_count']}")
    print(f"Views:     {metrics['impression_count']}")
    print(f"Bookmarks: {metrics['bookmark_count']}")
else:
    print(f"Error: {response.status_code} - {response.text}")

Isso funciona por post. A autenticação é um Bearer token para public_metrics em qualquer post, ou OAuth 2.0 em contexto de usuário para organic_metrics nos seus próprios posts. O custo é US$ 0,005 por post lido, e puxar os últimos 100 tweets de um usuário significa várias requisições paginadas, cada uma cobrada por recurso retornado.

Opção 2: uma API REST de taxa fixa

Com uma única chamada a um endpoint de timeline, você recebe até 20 tweets com todas as métricas de engajamento e o perfil completo do autor. A configuração leva um minuto; a requisição em si é um POST:

python
import requests

api_key = "YOUR_SORSA_API_KEY"
url = "https://api.sorsa.io/v3/user-tweets"

payload = {"username": "elonmusk"}
headers = {"ApiKey": api_key}

response = requests.post(url, json=payload, headers=headers)

if response.status_code == 200:
    for tweet in response.json()["tweets"]:
        interactions = (
            tweet["likes_count"]
            + tweet["retweet_count"]
            + tweet["reply_count"]
            + tweet["quote_count"]
        )
        views = tweet["view_count"]
        rate = (interactions / views * 100) if views else 0
        print(f"{tweet['full_text'][:50]}... "
              f"views={views:,} rate={rate:.2f}%")
else:
    print(f"Error: {response.status_code}")

No plano Pro, uma chamada de timeline sai por US$ 0,00199 para até 20 tweets, cerca de US$ 0,10 por 1.000 tweets nessa base de estilo busca, e o perfil do autor dentro de cada objeto de tweet não custa nada extra. Os endpoints em lote vão mais baixo: o endpoint /tweet-info-bulk aceita até 100 IDs em uma requisição, o que traz as coleções de IDs conhecidos para a partir de US$ 0,02 por 1.000 tweets e é bem mais barato do que iterar consultas de post único em qualquer uma das APIs.

Como calcular a taxa de engajamento a partir dos dados da API {#how-to-calculate-engagement-rate-from-api-data}

A taxa de engajamento a partir dos dados da API é a soma das interações públicas dividida pelas impressões, vezes 100: (curtidas + retweets + respostas + quotes) / visualizações x 100. Para uma conta acima de cerca de 50.000 seguidores, uma taxa acima de mais ou menos 0,2% nesta fórmula baseada em impressões é geralmente considerada saudável. O valor sai menor que o do painel nativo do X, que também conta cliques no perfil, cliques em links e expansões de mídia no numerador.

Uma função reutilizável que funciona sobre dados de tweet em lote:

python
def engagement_rate(tweet: dict) -> float:
    interactions = (
        tweet.get("likes_count", 0)
        + tweet.get("retweet_count", 0)
        + tweet.get("reply_count", 0)
        + tweet.get("quote_count", 0)
    )
    views = tweet.get("view_count", 0)
    if not views:
        return 0.0
    return round(interactions / views * 100, 4)

Um exemplo resolvido: um post com 891 curtidas, 142 retweets, 38 respostas, 23 quotes e 284.500 visualizações tem uma taxa de (891 + 142 + 38 + 23) / 284.500 x 100 = 0,38%. A fórmula usa apenas métricas públicas, então os números ficam consistentes e comparáveis entre contas, ainda que apareçam menores que o valor combinado do painel.

Esta seção é a referência de métricas e taxa. Se o que você precisa são as pessoas e o texto por trás desses números, as respostas de fato, os quote tweets e os perfis de quem deu retweet, isso é um trabalho diferente, coberto no guia da API de engajamento do Twitter. Para uma checagem rápida sem escrever código, a calculadora de engajamento gratuita computa a taxa nos tweets recentes de uma conta.

O que dá para analisar além dos números brutos {#what-you-can-analyze-beyond-raw-counts}

Além dos números por post, os dados de API sustentam as dimensões de analytics que um painel mostra: crescimento de seguidores ao longo do tempo, razão seguidores/seguindo, localização e idioma da audiência, padrões de melhor horário para postar, desempenho de hashtags e temas, share of voice contra concorrentes e identificação dos seus seguidores de maior valor. Cada uma é construída coletando o endpoint certo em uma agenda e agregando no seu próprio código, porque a camada de analytics vive no seu stack, não na API.

Como as dimensões comuns mapeiam para dados reais:

  • Crescimento de seguidores. Nenhuma API retorna um gráfico histórico de seguidores, então você fotografa um perfil pelo endpoint /info em uma agenda e guarda followers_count. Fotografias diárias bastam para a maioria dos relatórios.
  • Geografia e idioma da audiência. A distribuição de seguidores por país é uma entrada padrão para segmentação e é coberta em detalhe no guia de análise de seguidores por país.
  • Benchmark de concorrentes e share of voice. Puxe a timeline de cada rival e calcule volume e engajamento médio, depois agregue entre as contas para ranquear o share of voice.
  • Análise de sentimento e de tema. Classificar a opinião por trás das menções é um pipeline próprio (extração, limpeza, pontuação), percorrido em análise de sentimento no Twitter em vez de duplicado aqui.
  • Seguidores de maior valor. Para audiências de cripto e Web3 especificamente, o Sorsa Score ranqueia os seguidores de uma conta por influência, para você ver quem de fato importa na audiência dela.
  • Menções de marca com filtros de alcance. O endpoint /mentions suporta min_likes, min_retweets e limites de data, então você analisa menções com alcance real em vez de ruído de zero engajamento.

A visualização fica por cima. Um stack comum é puxar tweets com requests, carregá-los em um DataFrame do pandas, calcular taxas e médias móveis e plotar tendências com matplotlib. A API entrega JSON limpo; as dimensões acima são o que você deriva dele.

Na prática: monitoramento competitivo com orçamento fixo {#in-practice-competitive-monitoring-on-a-flat-budget}

Um padrão que vemos com frequência: uma agência de marketing direto ao consumidor de médio porte precisava acompanhar cerca de 15 contas de concorrentes para um cliente, volume semanal de tweets, taxas de engajamento e alcance de menções de marca. O setup anterior deles rodava no antigo nível Pro da X API a US$ 5.000 por mês e, depois que o X migrou para pagamento por uso, os custos ficaram difíceis de prever porque cada busca de recurso era cobrada individualmente.

Reestruturamos o pipeline em torno de três chamadas. Um job semanal acerta /user-tweets para cada concorrente e coleta os últimos 20 tweets com métricas, o que dá 15 requisições por semana. As menções de marca vêm de /mentions filtrado por min_likes e um since_date, então o relatório só revela menções com alcance. Uma fotografia mensal de /info por conta acompanha os deltas de seguidores ao longo do tempo.

O volume total fica em torno de 7.000 requisições por mês, confortavelmente dentro do plano Starter a US$ 49. A queda de custo é real, não pontual: para esse tipo de trabalho de leitura intensa, o plano fixo sai até 50x mais barato que o preço oficial por recurso, ancorado nas taxas publicadas, não em uma promessa. Os dados também saíram mais granulares que os relatórios antigos deles, já que os contadores de quotes e de itens salvos vêm em cada objeto de tweet. O mesmo formato de três endpoints sustenta a maioria das ferramentas de relatório de agência; a lógica de analytics, os sinalizadores de anomalia e a detecção de tendência vivem em código por cima do JSON. Os custos escalam de forma previsível, e o mesmo pipeline escala para um setup completo de acompanhamento de concorrentes.

O que aconteceu com o acesso para pesquisa acadêmica {#what-happened-to-academic-research-access}

O X descontinuou o acesso gratuito da API de Academic Research para novos candidatos em 2023. Pesquisadores que o tinham antes disso mantêm o acesso, mas nenhuma nova conta acadêmica está sendo emitida. O único caminho especial que resta é para pesquisadores ligados à União Europeia estudando riscos sistêmicos sob a Lei de Serviços Digitais (Artigo 40), e as aprovações ali são estreitas. Todo o resto usa os níveis pagos de pagamento por uso ou uma API de terceiros.

Se a sua pesquisa só precisa de métricas públicas de tweet e dados de engajamento, não de informação privada de usuário nem de streaming de firehose, uma API REST de terceiros é a rota prática. Você recebe JSON estruturado com as mesmas métricas públicas, sem aprovação de meses, e cobertura completa de dados históricos de tweets desde 2006, e equipes de pesquisa podem se candidatar a acesso com desconto para pesquisa acadêmica. As métricas retornadas refletem o estado atual de cada post, que é o comportamento padrão da coleta retroativa de métricas em qualquer API.

Perguntas frequentes {#frequently-asked-questions}

Dá para obter analytics dos tweets de outra pessoa?

Sim, mas só métricas públicas. O campo public_metrics da X API v2 (curtidas, retweets, respostas, quotes, visualizações, itens salvos) está disponível para qualquer tweet público com um Bearer token. O detalhamento organic_metrics só do dono, que acrescenta cliques em perfil e em links, é restrito a posts criados pela conta autenticada. APIs de terceiros como a Sorsa retornam as mesmas métricas públicas de qualquer post ou conta pública.

O painel de analytics do Twitter é gratuito?

Em parte. Desde 2024, o painel completo de analytics de nível de conta do X no desktop exige uma assinatura X Premium. As estatísticas por post seguem gratuitas para todos e continuam visíveis em cada post e pelo app. Então uma conta gratuita ainda vê como posts individuais performam, mas não alcança a visão geral de conta de 28 dias sem o Premium, e nada do painel é acessível de forma programática.

Quanto a API do X cobra para ler métricas de tweet?

A API do X usa preço de pagamento por uso, sem plano gratuito. Ler um post custa US$ 0,005 por recurso e ler um perfil de usuário custa US$ 0,010 por recurso. Você compra créditos adiantado e eles são descontados por chamada, sem assinatura mensal. Puxar 10.000 tweets com seus autores custa cerca de US$ 150, já que cada tweet e cada perfil de autor é cobrado à parte.

Qual é a diferença entre visualizações e impressões no X?

Para dados públicos de tweet, "visualizações" e "impressões" são o mesmo número: quantas vezes um post apareceu em uma tela. A X API v2 rotula esse campo impression_count dentro de public_metrics, enquanto a Sorsa API o rotula view_count. Na X Ads API, "impressões" se refere especificamente à entrega de anúncio pago, que é uma métrica separada, então os dois não devem ser confundidos.

Qual é uma forma acessível de puxar dados de engajamento do X em escala em 2026?

A maioria das equipes usa uma API de terceiros de taxa fixa. A Sorsa API cobra uma requisição por chamada, não importa o endpoint, mantém um fixo de 20 requisições por segundo em todos os planos e retorna até 20 tweets com métricas completas e perfis de autor por chamada /user-tweets, cerca de US$ 0,10 por 1.000 tweets no plano Pro. Para lotes de IDs conhecidos, o /tweet-info-bulk aceita 100 tweets em uma única requisição, derrubando o custo para a partir de US$ 0,02 por 1.000 tweets.

Uma API de terceiros pode substituir a X API v2 para analytics?

Para ler engajamento público, em grande parte sim. A Sorsa API retorna as mesmas seis métricas públicas de qualquer conta pública e embute o perfil completo do autor em cada resposta de tweet sem custo extra, o que a API oficial cobra à parte. Os limites genuínos: é somente leitura, então não posta nem envia DMs, e, como API de dados públicos, não expõe o detalhamento organic_metrics só do dono. Para cargas de análise, esses raramente importam.

Dá para obter analytics histórico de tweets por uma API?

Sim. Tanto a busca de arquivo completo da API oficial do X v2 quanto o /search-tweets da Sorsa conseguem recuperar tweets desde 2006, e cada tweet retornado carrega as métricas de engajamento atuais. Os números refletem o estado presente, então você vê quantas curtidas um post de 2020 tem agora, não quantas tinha na época. Para acompanhar a mudança ao longo do tempo, guarde fotografias periódicas no seu próprio banco de dados.

Primeiros passos {#getting-started}

Se você quer explorar o que é possível antes de escrever código, comece pelas ferramentas gratuitas que dispensam chave de API:

  • O playground da API deixa você testar qualquer endpoint do navegador e ver dados de tweet ao vivo com todas as métricas.
  • A calculadora de taxa de engajamento retorna a taxa de qualquer conta pública a partir dos tweets recentes, sem exigir chave.

Toda conta começa com 100 requisições grátis, uma única vez e sem cartão, o bastante para testar todos os 40 endpoints. Quando estiver pronto para o código, pegue uma chave de API e siga o início rápido para fazer a primeira requisição em poucos minutos, sem aprovação de app e com um fixo de 20 requisições por segundo a partir do primeiro plano. Os planos pagos começam em US$ 49 por 10.000 requisições (Starter) e US$ 199 por 100.000 (Pro), com custos por 1.000 tweets a partir de US$ 0,02 nos endpoints em lote. Para um detalhamento completo de custos contra a API oficial, veja preços da API do Twitter em 2026, e, para dúvidas de configuração, a equipe está acessível no Discord.


Revisado por Keksich, fundador da Sorsa, profissional de marketing e pesquisador da API do X.

Como preparamos este conteúdo: o código e os mapeamentos de métrica vêm do nosso próprio trabalho construindo e operando a API da Sorsa e de testar requisições contra os endpoints oficiais ao vivo. Do lado oficial, checamos o dicionário de dados public_metrics e a documentação de métricas do X e a documentação de analytics da X Ads API para os detalhes de métricas de campanha e do relatório de 90 dias. A divisão de acesso do painel nativo, Premium para nível de conta contra gratuito por post, foi confirmada contra os guias atuais de analytics do X publicados no início de 2026, e as taxas de pagamento por uso da API do X vêm da nossa referência de preços mantida, cruzada com os preços de desenvolvedor do X. Preço e acesso no X mudam com frequência, então cada número aqui foi reverificado em 4 de julho de 2026. Mais sobre quem mantém isto está na página sobre a Sorsa.