Pular para o conteúdo

API de menções do Twitter para qualquer conta do X

Todo post público que marca o @handle de uma conta, respostas incluídas, pode ser lido de volta como JSON em um endpoint de menções. O do próprio X, GET /2/users/{id}/mentions, cobra US$ 0,005 por post e devolve só as 800 mais recentes.

Resposta curta: O endpoint de menções da API oficial do X recebe um ID numérico de usuário e o bearer token de uma conta de desenvolvedor, e cobra US$ 5,00 por 1.000 menções. Para ler as menções de qualquer conta pelo handle, use o POST /mentions da Sorsa API: filtros de curtidas, respostas, retweets e data em um único corpo, a partir de US$ 0,07 por 1.000, com 100 requisições grátis para começar.

Endpoint
POST /mentions
Tamanho da página
até 20 menções por requisição
Preço
a partir de US$ 0,07 por 1.000

#O que uma API de menções do Twitter devolve

Uma API de menções do Twitter é um endpoint que recebe uma conta e devolve, como páginas de JSON, os posts públicos que marcam o @handle dela, dos mais novos para os mais antigos. Uma marcação conta onde quer que esteja: no começo de uma resposta, no meio de uma frase ou em uma fileira de vários handles.

Para ver as menções recentes de uma conta sem código, o Verificador de menções do Twitter, gratuito, as lista por período e mínimo de curtidas. O resto deste guia faz o mesmo trabalho em código, para qualquer número de contas e de páginas.

Cada menção volta como um post completo: o texto e o horário, as curtidas, respostas, reposts, quotes e visualizações, se ele responde a alguém e quem o escreveu. Posts de contas protegidas nunca aparecem. Um post que cita uma marca sem o @ não é uma menção: ele exige uma busca por palavra-chave, tratada mais adiante.

Na API oficial do X, as menções vêm de GET /2/users/{id}/mentions (referência do X (abre em uma nova aba)). Ele recebe o ID numérico de usuário da conta, então um handle exige antes uma consulta de usuário. Cada requisição devolve de 5 a 100 posts, e a timeline guarda apenas as 800 menções mais recentes de uma conta (visão geral de timelines do X (abre em uma nova aba)). Um post volta só com o ID e o texto; datas, contagens e o autor chegam apenas quando tweet.fields, expansions e user.fields os pedem.

O tempo é o único filtro que o endpoint oficial aceita: start_time, end_time, since_id e until_id. Ele não tem opção para curtidas nem respostas, então uma central de suporte e uma equipe de relações públicas baixam o mesmo feed e o ordenam do lado delas.

#Obtenha menções por handle com a Sorsa API

Para puxar menções em código, use a Sorsa API, uma API e scraper do Twitter (X): POST /mentions devolve as menções de qualquer conta a partir de US$ 0,07 por 1.000, contra US$ 5,00 na API oficial do X. Ele recebe o handle como você o digita e filtra por curtidas, respostas, retweets e data no mesmo corpo JSON. Um único header ApiKey substitui uma conta de desenvolvedor e o OAuth, e a sua conta do X nunca entra no processo.

  1. Obtenha uma chave. Cadastre-se e copie a chave de API do seu painel. As 100 requisições grátis já estão nela.

  2. Indique a conta. Coloque o handle em query, sem o @, por exemplo northwind_billing. Pode ser a sua marca, um cliente ou um concorrente: qualquer conta pública serve.

  3. Envie a requisição. Faça POST do corpo para POST /mentions (abre em uma nova aba), com "order": "latest" para trazer as menções mais novas primeiro.

    Terminal
    curl -X POST "https://api.sorsa.io/v3/mentions" \
      -H "ApiKey: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"query": "northwind_billing", "order": "latest"}'
    
    Response200 OK
    {
      "tweets": [
        {
          "id": "2116933823886904728",
          "full_text": "@northwind_billing invoices still pending, is sync down?",
          "created_at": "2026-11-01T16:42:09Z",
          "lang": "en",
          "likes_count": 14,
          "retweet_count": 2,
          "reply_count": 3,
          "quote_count": 0,
          "view_count": 2310,
          "bookmark_count": 1,
          "is_reply": false,
          "is_quote_status": false,
          "conversation_id_str": "2116933823886904728",
          "entities": [],
          "user": {
            "id": "1587702913445103616",
            "username": "ops_notes_by_priya",
            "display_name": "Priya, ops notes",
            "followers_count": 4180,
            "verified": false,
            "created_at": "2022-11-02T08:31:44Z"
          }
        },
        {
          "id": "2116909085882164728",
          "full_text": "@northwind_billing the usage export saved me an afternoon",
          "created_at": "2026-11-01T15:03:51Z",
          "lang": "en",
          "likes_count": 87,
          "retweet_count": 9,
          "reply_count": 4,
          "quote_count": 1,
          "view_count": 11920,
          "bookmark_count": 6,
          "is_reply": true,
          "in_reply_to_username": "northwind_billing",
          "in_reply_to_tweet_id": "2116851177420881920",
          "is_quote_status": false,
          "conversation_id_str": "2116851177420881920",
          "entities": [],
          "user": {
            "id": "1371240448912351233",
            "username": "dana_ships_daily_x",
            "display_name": "Dana Okafor",
            "followers_count": 12650,
            "verified": true,
            "created_at": "2021-03-15T00:00:00Z"
          }
        }
      ],
      "next_cursor": "DAADDAABCgABHWD2c1tQkCsKAAIdYAk3gl1QYQ"
    }
    
  4. Siga o cursor. Uma página traz até 20 menções, cada uma com o perfil completo do autor dentro de user. Envie next_cursor de volta no mesmo corpo para a página seguinte e pare quando uma resposta vier sem ele.

Uma resposta 403 significa que a chave está ausente ou sem requisições, e um 401 que ela está errada. Um 429 significa mais de 20 requisições em um segundo: espere um segundo e envie de novo. Requisições com falha nunca são cobradas.

Digite um handle e as palavras que as pessoas usam para a marca abaixo. O montador escreve a requisição /mentions em curl, Python e Node.js, além da consulta de busca que encontra posts que citam a marca sem marcação.

Nomes, erros de digitação e seu domínio. Uma palavra com ponto é lida como link.

Ordem

POST /mentions posts que marcam o usuário

curl -X POST "https://api.sorsa.io/v3/mentions" \
  -H "ApiKey: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "northwind_billing", "order": "latest"}'

Até 20 menções por requisição: a partir de US$ 0,07 por 1,000 menções na Sorsa API, contra US$ 5,00 na API oficial do X. Use o ID do tweet como chave nos dois feeds para descartar os posts que voltam duas vezes.

As duas requisições para uma marca: menções com marcação de POST /mentions, menções sem marcação de POST /search-tweets. Troque YOUR_API_KEY antes de rodar.

#Filtre menções por curtidas, respostas e data

POST /mentions filtra do lado da Sorsa API, então uma requisição pede apenas as menções de que um trabalho precisa e percorre menos delas. Todo filtro fica no mesmo corpo JSON que o handle, e eles se combinam livremente:

CampoO que faz
queryO handle cujas menções você quer, sem o @
orderlatest, mais novas primeiro (o padrão), ou popular, mais engajadas primeiro
min_likesMantém menções com pelo menos essa quantidade de curtidas
min_repliesMantém menções com pelo menos essa quantidade de respostas
min_retweetsMantém menções com pelo menos essa quantidade de reposts
since_dateInício da janela de datas, como YYYY-MM-DD
until_dateFim da janela de datas, como YYYY-MM-DD
next_cursorO cursor da última resposta, para a página seguinte
  • query

    O que faz
    O handle cujas menções você quer, sem o @
  • order

    O que faz
    latest, mais novas primeiro (o padrão), ou popular, mais engajadas primeiro
  • min_likes

    O que faz
    Mantém menções com pelo menos essa quantidade de curtidas
  • min_replies

    O que faz
    Mantém menções com pelo menos essa quantidade de respostas
  • min_retweets

    O que faz
    Mantém menções com pelo menos essa quantidade de reposts
  • since_date

    O que faz
    Início da janela de datas, como YYYY-MM-DD
  • until_date

    O que faz
    Fim da janela de datas, como YYYY-MM-DD
  • next_cursor

    O que faz
    O cursor da última resposta, para a página seguinte

Quatro corpos cobrem o que a maioria das equipes envia. Cada um é um corpo de requisição completo para o comando curl acima:

Corpos de requisição
# Support queue: every mention, newest first, no thresholds
{"query": "northwind_billing", "order": "latest"}

# PR and reputation: mentions that reached people
{"query": "northwind_billing", "order": "popular", "min_likes": 100}

# Campaign report: one month of mentions
{"query": "northwind_billing",
 "since_date": "2026-10-01", "until_date": "2026-10-31"}

# Competitor: what people tell a rival, with some traction
{"query": "ledgerly_founder_hq", "order": "popular", "min_retweets": 10}

Mantenha limites fora de um feed de suporte: um relato de bug com duas curtidas precisa de resposta mais cedo do que uma piada com quinhentas. Os limites pertencem a relatórios e alertas, em que um punhado de menções que viajaram importa mais do que toda resposta. Para colocar as menções de um concorrente ao lado dos seguidores e dos hábitos de postagem dele, veja o nosso guia de análise de concorrentes no Twitter.

#Colete todas as páginas e depois só as menções novas

Um backfill e um monitor são a mesma requisição com uma regra de parada diferente. Um backfill lê uma janela de datas até o cursor acabar; um monitor lê as menções mais novas e para na primeira que já guardou.

O backfill abaixo grava um mês de menções em um arquivo JSON Lines, uma menção por linha, conforme as páginas chegam. Um orçamento de páginas o detém, de modo que uma conta movimentada não consuma suas requisições sem limite.

import json
import requests

API = "https://api.sorsa.io/v3/mentions"
HEADERS = {"ApiKey": "YOUR_API_KEY"}


def mentions(handle, max_pages=100, **filters):
    body = {"query": handle, "order": "latest", **filters}
    for _ in range(max_pages):
        r = requests.post(API, json=body, headers=HEADERS, timeout=30)
        r.raise_for_status()
        page = r.json()
        yield from page.get("tweets", [])
        cursor = page.get("next_cursor")
        if not cursor:
            break
        body["next_cursor"] = cursor


with open("mentions.jsonl", "w", encoding="utf-8") as f:
    for t in mentions("northwind_billing",
                      since_date="2026-10-01",
                      until_date="2026-10-31"):
        f.write(json.dumps(t) + "\n")

Para manter um feed atualizado, rode a função abaixo em intervalos. Ela percorre as menções mais novas página a página e para no primeiro ID que já viu, então uma verificação que não encontra nada de novo custa uma única requisição. Os IDs de tweets crescem com o tempo, mas chegam como strings, então a comparação os transforma em inteiros.

Python
from pathlib import Path

STATE = Path("last_mention_id.txt")


def new_mentions(handle):
    last = int(STATE.read_text()) if STATE.exists() else 0
    fresh = []
    for t in mentions(handle, max_pages=10):
        if int(t["id"]) <= last:
            break
        fresh.append(t)
    if fresh:
        STATE.write_text(fresh[0]["id"])
    return fresh

A primeira execução não tem ID guardado, então lê até 10 páginas e guarda a mais nova. Com que frequência rodá-la depois disso depende da rapidez com que alguém precisa responder: uma central de suporte verifica a cada minuto, um relatório semanal uma vez por dia.

Bom saber

Guarde o último ID fora do processo: em um arquivo, uma linha de banco de dados ou uma chave do Redis. Um monitor que reinicia sem ele ou avisa de novo sobre menções antigas ou pula tudo o que foi postado enquanto esteve fora do ar.

Para alertas no Slack ou por e-mail e agendas para muitas contas, o nosso guia de monitoramento do Twitter em tempo real monta o pipeline inteiro. Acompanhar o que um grupo de contas posta é um trabalho diferente de ler o que os outros dizem a elas. Uma Lista do X cobre até 5.000 contas em um único feed: veja o guia da API de Listas e Comunidades do X.

#Pegue as menções que nunca marcam você

POST /mentions devolve os posts que levam o @handle. As pessoas também escrevem sobre uma marca sem marcá-la: pelo nome, com um erro de digitação, com um link para o site dela ou citando um de seus posts. Cada um desses formatos tem o seu próprio endpoint na Sorsa API.

Tag @northwind_billing is the sync down? Resposta @northwind_billing fixed now, thanks POST /mentions posts que marcam o handle, respostas incluídas Nome northwind billing is down again? Digitação northwnd broke our checkout today Link migramos nossas faturas para northwind.io POST /search-tweets nomes, erros e links, menos os posts da própria marca Quote “isso mesmo” + seu post de lançamento POST /quotes quotes de um post Repost repostou seu post de lançamento POST /retweeters quem repostou
O @handle é só uma das formas de as pessoas falarem de uma marca. Nomes, erros de digitação e links exigem uma busca; quotes e reposts são lidos por post.

Para nomes, erros de grafia e links, envie uma consulta para POST /search-tweets (abre em uma nova aba) e deixe de fora os posts da própria marca:

Consulta sem marcação
("northwind billing" OR northwnd OR url:northwind.io) -from:northwind_billing

Um post que marca a marca e a nomeia volta dos dois endpoints, então use o ID do tweet como chave nos dois feeds e guarde uma única cópia. Leia cem resultados de uma consulta nova antes de agendá-la: um nome de marca que também é uma palavra do dia a dia precisa de mais exclusões, não de menos páginas.

Os quotes de um único post vêm de POST /quotes (abre em uma nova aba), com o texto do quote e o autor dele, quer o quote marque a marca ou não. As contas que repostaram um post vêm de POST /retweeters (abre em uma nova aba) como perfis. O nosso guia da API de busca do Twitter explica a sintaxe das consultas e o loop de busca, e a lista de operadores de busca do Twitter cobre todos os filtros que uma consulta pode levar.

#O endpoint oficial de menções, lado a lado

O GET /2/users/{id}/mentions da API oficial do X e o POST /mentions da Sorsa API devolvem os mesmos posts públicos. Eles diferem no que você envia, no que volta e no que custa. Sete critérios decidem um trabalho de menções: preço por 1.000, histórico, filtros, dados do autor, configuração, limite de requisições e o que acontece com a sua conta do X.

X API oficial Consulta de usuário handle para ID numérico, mais uma requisição GET /2/users/{id}/mentions 5 a 100 posts por requisição, só os 800 mais recentes US$ 5,00 por 1.000 menções, +US$ 0,010 por autor Sorsa API Handle + filtros curtidas, respostas, reposts e um período POST /mentions até 20 menções por requisição, com o perfil do autor dentro desde US$ 0,07 por 1.000 menções
Uma consulta a menos, filtros na requisição e o autor incluído: as mesmas menções por US$ 0,07 por 1.000 em vez de US$ 5,00.

A tabela coloca os dois endpoints lado a lado, com os limites oficiais tirados da tabela de limites de requisições do X (abre em uma nova aba). A Sorsa API custa cerca de 71 vezes menos por 1.000 menções de qualquer conta, e 14 vezes menos que a tarifa oficial para ler as da sua própria.

Sorsa APIAPI oficial do X
Entrada da contaO handleO ID numérico de usuário, depois de uma consulta
Menções por requisiçãoAté 20De 5 a 100
Até onde no passadoQualquer janela de datas que você defina; anos atrás por /search-tweetsAs 800 mais recentes
FiltrosCurtidas, respostas, reposts, datasDatas e IDs de posts
Perfil do autorDentro de cada mençãoPor expansions, US$ 0,010 cada a partir de 22 de nov. de 2026
Limite de requisições20 requisições por segundo por chave450 requisições a cada 15 minutos por app
Preço por 1.000 mençõesA partir de US$ 0,07US$ 5,00; US$ 1,00 para a sua própria conta
ConfiguraçãoUma chave de APIConta de desenvolvedor, app, bearer token
Sua conta do XNunca usadaVinculada à conta de desenvolvedor
  • Entrada da conta

    Sorsa API
    O handle
    API oficial do X
    O ID numérico de usuário, depois de uma consulta
  • Menções por requisição

    Sorsa API
    Até 20
    API oficial do X
    De 5 a 100
  • Até onde no passado

    Sorsa API
    Qualquer janela de datas que você defina; anos atrás por /search-tweets
    API oficial do X
    As 800 mais recentes
  • Filtros

    Sorsa API
    Curtidas, respostas, reposts, datas
    API oficial do X
    Datas e IDs de posts
  • Perfil do autor

    Sorsa API
    Dentro de cada menção
    API oficial do X
    Por expansions, US$ 0,010 cada a partir de 22 de nov. de 2026
  • Limite de requisições

    Sorsa API
    20 requisições por segundo por chave
    API oficial do X
    450 requisições a cada 15 minutos por app
  • Preço por 1.000 menções

    Sorsa API
    A partir de US$ 0,07
    API oficial do X
    US$ 5,00; US$ 1,00 para a sua própria conta
  • Configuração

    Sorsa API
    Uma chave de API
    API oficial do X
    Conta de desenvolvedor, app, bearer token
  • Sua conta do X

    Sorsa API
    Nunca usada
    API oficial do X
    Vinculada à conta de desenvolvedor

A Sorsa API é somente leitura por projeto, então nunca pede o seu login do X e a sua conta nunca corre risco. Para responder a menções por código, combine-a com a API oficial do X para as respostas: a leitura fica na Sorsa API, e a postagem passa pelo X.

#Quanto custam as menções por 1.000

Na Sorsa API, as menções custam a partir de US$ 0,07 por 1.000: uma requisição devolve até 20 e é cobrada como uma requisição, seja qual for o conteúdo. A API oficial do X cobra cada post que devolve a US$ 0,005, o que dá US$ 5,00 por 1.000 menções (tabela de preços do X (abre em uma nova aba)).

Menções que você coleta

API oficial do X

US$ 500

para 100 mil menções

US$ 0,005 por post

Sorsa API

a partir deUS$ 7

para 100 mil menções

a partir de US$ 0,07 por 1.000

71x mais barato

Três detalhes mexem na conta oficial. As menções da sua própria conta, lidas pelo seu próprio app de desenvolvedor, contam como leituras próprias a US$ 0,001 por post. A partir de 22 de novembro de 2026, cada autor devolvido por expansions acrescenta US$ 0,010 (aviso do X de 23 de outubro (abre em uma nova aba)), então 1.000 menções de 1.000 pessoas diferentes chegam a US$ 15,00. E o pagamento por uso para em 3 milhões de leituras de posts por mês, depois do que o X vende apenas contratos Enterprise. Todas as tarifas oficiais estão no nosso detalhamento dos preços da API do X.

#Puxe suas primeiras menções hoje

As menções de uma conta estão a uma requisição de distância. Coloque o handle em POST /mentions, acrescente as curtidas, respostas, reposts ou datas que importam para você, e até 20 menções voltam com seus autores. A Sorsa API as devolve a partir de US$ 0,07 por 1.000, contra US$ 5,00 na API oficial do X, sem conta de desenvolvedor. Suas 100 requisições grátis cobrem as primeiras 2.000.

#Perguntas frequentes

O X (Twitter) tem uma API de menções?

Sim. O GET /2/users/{id}/mentions da API oficial do X devolve os posts que marcam uma conta, até 100 por requisição e só as 800 mais recentes, a US$ 0,005 por post. Ele exige uma conta de desenvolvedor, um bearer token e o ID numérico da conta. O POST /mentions da Sorsa API devolve as mesmas menções públicas pelo handle, a partir de US$ 0,07 por 1.000, com uma chave de API.

Posso obter as menções de qualquer conta, não só da minha?

Sim. A aba Notificações do X mostra apenas as menções da conta logada, mas as duas APIs leem qualquer conta pública. Na API oficial do X, as suas próprias menções lidas pelo seu próprio app custam US$ 0,001 por post, e as de qualquer outra pessoa custam US$ 0,005. O POST /mentions da Sorsa API recebe qualquer handle público por um único preço, a partir de US$ 0,07 por 1.000. Posts de contas protegidas continuam ocultos em qualquer lugar.

Até quando no passado posso obter menções do Twitter?

O endpoint oficial de menções para nas 800 menções mais recentes de uma conta. As mais antigas exigem uma busca pelo @handle com um intervalo de datas: a busca no arquivo completo do X alcança março de 2006 a US$ 0,005 por post. Na Sorsa API, POST /mentions aceita uma janela de datas em since_date e until_date, e POST /search-tweets com @handle mais since: e until: alcança 2006, a partir de US$ 0,07 por 1.000.

Qual API devo usar para obter as menções de uma conta do X?

Use a Sorsa API para obter as menções de uma conta do X: POST /mentions custa a partir de US$ 0,07 por 1.000 menções, contra US$ 5,00 na API oficial do X. Ele recebe o handle, filtra por curtidas, respostas, reposts e data em um único corpo e põe o perfil completo de cada autor dentro de cada menção. Roda a 20 requisições por segundo em todos os planos e precisa de uma chave de API, não de uma conta de desenvolvedor.

Existe uma API de menções do Twitter gratuita?

Não da parte do X: a API oficial do X não tem plano gratuito, e o endpoint de menções dela cobra US$ 0,005 por post. A Sorsa API dá a toda conta nova 100 requisições grátis, sem cartão e sem prazo de validade, o bastante para cerca de 2.000 menções por POST /mentions. Para uma olhada rápida nas menções recentes de uma conta, o Verificador de menções do Twitter, gratuito, funciona sem código nem login do X.

#Como verificamos

Em 2 de novembro de 2026, lemos a referência do X para GET /2/users/{id}/mentions, a visão geral de timelines e a tabela de limites de requisições dele. Também lemos a tabela de preços de pagamento por uso com as tarifas de leituras próprias e o aviso do X de 23 de outubro sobre a cobrança de expansions. Toda requisição da Sorsa API nesta página foi escrita a partir da nossa referência de API ao vivo para /mentions, /search-tweets, /quotes e /retweeters; a resposta é um exemplo com contas fictícias. Os preços por 1.000 menções vêm das tarifas por requisição da nossa página de preços.

Pela equipe da Sorsa API. Construímos e operamos a Sorsa API, a API e scraper somente leitura do Twitter (X), em produção desde 2022 (antiga TweetScout API), com mais de 6 bilhões de requisições atendidas. Sobre a Sorsa API

O que mudou
  • Reescrito do zero: menções por handle com POST /mentions, um montador de requisições para menções com e sem marcação, receitas de filtros, um backfill e um loop de novas menções em Python e Node.js, um mapa de qual endpoint pega qual menção, os limites de 2026 do endpoint oficial (800 mais recentes, leituras próprias, cobrança de autores a partir de 22 de novembro) e preços por 1.000.
  • Primeira publicação.