Verifique follows e retweets do Twitter por API
Uma API verifica um follow, retweet, quote ou resposta no X conferindo uma conta contra uma ação e respondendo true ou false; a API oficial do X não tem essa verificação, então ali isso significa ler listas inteiras a US$ 0,010 por conta.
Resposta curta: Cada ação tem a sua verificação: follow, retweet, quote, resposta ou entrada em uma Comunidade. Curtidas não têm nenhuma, porque desde junho de 2024 só o autor de um post vê quem curtiu. A Sorsa API responde a cada verificação em uma requisição, POST /check-follow e mais quatro, a partir de US$ 1,40 por 1.000 verificações; suas 100 requisições grátis cobrem as primeiras 100.
- Endpoints
/check-follow+ 4 outros- Custo
- 1 requisição por verificação
- Preço
- a partir de US$ 0,0014 por verificação
#O que você pode verificar no X, e o que não pode
Cinco ações no X são públicas, então uma API consegue confirmar cada uma para uma conta por vez: um follow, um retweet, um quote, uma resposta e a participação em uma Comunidade. Verificação aqui significa prova de que uma conta fez uma coisa, como seguir você ou repostar o seu post; não tem nada a ver com o selo azul do X.
Para um único par de contas, o Verificador de follow do Twitter, gratuito, mostra se uma segue a outra, nos dois sentidos, sem código. Para sortear vencedores entre os reposts, respostas e quotes de um post, o Sorteador do X (Twitter), também gratuito, verifica o follow de cada vencedor sorteado. Verificar todos os participantes de uma campanha exige uma API.
Toda tarefa, exceto a curtida, pode ser comprovada, mas a API oficial do X não comprova nenhuma delas diretamente: ela entrega listas para você vasculhar e não tem rota alguma para a participação em Comunidades.
| Tarefa | O que a verificação precisa | Rota da API oficial do X |
|---|---|---|
| Seguiu uma conta | os dois handles | ler uma lista de seguindo ou de seguidores |
| Deu retweet em um post | o link do post e o handle | ler os retweeters do post, 100 por página |
| Fez quote de um post | o link do post e o handle | ler os quotes do post |
| Respondeu a um post | o link do post e o handle | buscar na conversa do post |
| Entrou em uma Comunidade do X | a Comunidade e o handle | sem endpoint |
| É dono do handle | o handle e um código que a pessoa posta | ler os posts da conta |
| Curtiu um post | não dá para verificar | só o autor do post vê quem curtiu |
Seguiu uma conta
- O que a verificação precisa
- os dois handles
- Rota da API oficial do X
- ler uma lista de seguindo ou de seguidores
Deu retweet em um post
- O que a verificação precisa
- o link do post e o handle
- Rota da API oficial do X
- ler os retweeters do post, 100 por página
Fez quote de um post
- O que a verificação precisa
- o link do post e o handle
- Rota da API oficial do X
- ler os quotes do post
Respondeu a um post
- O que a verificação precisa
- o link do post e o handle
- Rota da API oficial do X
- buscar na conversa do post
Entrou em uma Comunidade do X
- O que a verificação precisa
- a Comunidade e o handle
- Rota da API oficial do X
- sem endpoint
É dono do handle
- O que a verificação precisa
- o handle e um código que a pessoa posta
- Rota da API oficial do X
- ler os posts da conta
Curtiu um post
- O que a verificação precisa
- não dá para verificar
- Rota da API oficial do X
- só o autor do post vê quem curtiu
O X tornou as curtidas privadas em 11 de junho de 2024: o autor de um post ainda vê quem curtiu, mas ninguém mais vê (Engadget, citando a X Engineering (abre em uma nova aba)). Troque "curta este post" por um retweet, um quote ou uma resposta; os três continuam públicos e verificáveis.
#Seis verificações na Sorsa API, uma requisição cada
Para verificar as tarefas de uma campanha participante por participante, use a Sorsa API, uma API e scraper do Twitter (X): cada verificação é uma requisição que responde true ou false, a partir de US$ 0,0014 por verificação, com uma única chave de API, sem OAuth e com 20 requisições por segundo em todos os planos.
Cinco endpoints cobrem as cinco ações públicas, e uma sexta requisição lê os posts mais recentes de um participante para procurar um código de propriedade.
| Tarefa | Requisição da Sorsa API | O que volta |
|---|---|---|
| Seguiu a sua conta | POST /check-follow | follow: true ou false |
| Deu retweet no seu post | POST /check-retweet | retweet e next_cursor além dos 100 mais recentes |
| Fez quote do seu post | POST /check-quoted | status: quoted, retweet ou not_found, com o texto do quote |
| Respondeu ao seu post | GET /check-comment | commented e a própria resposta |
| Entrou na sua Comunidade do X | POST /check-community-member | is_member: true ou false |
| É dono do handle | POST /user-tweets | os posts mais recentes, onde você procura o código |
Seguiu a sua conta
- Requisição da Sorsa API
POST /check-follow- O que volta
follow: true ou false
Deu retweet no seu post
- Requisição da Sorsa API
POST /check-retweet- O que volta
retweetenext_cursoralém dos 100 mais recentes
Fez quote do seu post
- Requisição da Sorsa API
POST /check-quoted- O que volta
status: quoted, retweet ou not_found, com o texto do quote
Respondeu ao seu post
- Requisição da Sorsa API
GET /check-comment- O que volta
commentede a própria resposta
Entrou na sua Comunidade do X
- Requisição da Sorsa API
POST /check-community-member- O que volta
is_member: true ou false
É dono do handle
- Requisição da Sorsa API
POST /user-tweets- O que volta
- os posts mais recentes, onde você procura o código
Toda verificação aceita o participante como handle, ID numérico de usuário ou link de perfil, e o post como link ou ID puro. As respostas trazem mais do que um sim: o texto do quote, a própria resposta e um flag user_protected nas verificações de follow, retweet e quote quando a conta do participante é privada. A sua própria conta do X nunca participa, então nenhuma campanha a coloca em risco.
#Verifique um participante em quatro passos
Verificar um participante custa uma requisição por tarefa. Este exemplo verifica um follow, um retweet e uma resposta, as regras de sorteio mais comuns, com a chave no header ApiKey.
-
Obtenha uma chave. Cadastre-se e copie sua chave de API no painel. As primeiras 100 requisições são grátis e não pedem cartão.
-
Verifique o follow. Envie o seu handle como
username_1e o do participante comousername_2.Terminal curl -X POST "https://api.sorsa.io/v3/check-follow" \ -H "ApiKey: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"username_1": "lumenharbor_labs", "username_2": "maya_quest_runner"}'Response200 OK { "follow": true, "user_protected": false } -
Verifique as tarefas do post. Envie o link do seu post e o handle do participante para
POST /check-retweetem um corpo JSON e paraGET /check-commentcomo parâmetros de consulta. -
Combine as respostas. Marque o participante como elegível somente quando todas as verificações exigidas voltarem true, e guarde cada resposta como registro.
import requests BASE = "https://api.sorsa.io/v3" HEADERS = {"ApiKey": "YOUR_API_KEY"} BRAND = "lumenharbor_labs" POST = "https://x.com/lumenharbor_labs/status/2115459618305512658" def call(method, path, **kwargs): r = requests.request(method, BASE + path, headers=HEADERS, timeout=20, **kwargs) r.raise_for_status() return r.json() def verify_entrant(handle): follow = call("POST", "/check-follow", json={"username_1": BRAND, "username_2": handle}) retweet = call("POST", "/check-retweet", json={"tweet_link": POST, "username": handle}) reply = call("GET", "/check-comment", params={"tweet_link": POST, "username": handle}) result = { "handle": handle, "follow": follow["follow"], "retweet": retweet["retweet"], "reply": reply["commented"], "protected": follow.get("user_protected", False), } result["eligible"] = all( result[k] for k in ("follow", "retweet", "reply")) return result print(verify_entrant("maya_quest_runner"))
Três verificações, três requisições: verificar este participante custou a partir de US$ 0,0042. Um 403 significa que a chave está ausente ou que as requisições acabaram. Um 429 significa que mais de 20 requisições chegaram em um segundo: espere um segundo e envie de novo. Requisições com falha nunca são cobradas.
#Verifique se uma conta do X segue outra
POST /check-follow (abre em uma nova aba) responde se a segunda conta segue a primeira: username_1 é a conta que deveria ser seguida, username_2 é a conta que você verifica, e follow volta true ou false em uma requisição, não importa quantos seguidores qualquer um dos lados tenha.
Cada lado aceita um identificador: um handle, um ID numérico (user_id_1, user_id_2) ou um link de perfil (user_link_1, user_link_2). A resposta cobre um sentido só, então um follow mútuo exige duas chamadas com os lados trocados. Quando user_protected é true, a conta verificada é protegida: os follows dela não são públicos, e nenhum serviço externo consegue confirmá-los.
A API oficial do X não tem um endpoint que responda a um par. A rota dela lê uma lista inteira: GET /2/users/:id/following devolve até 1.000 contas por página, cobradas a US$ 0,010 por conta em Following/Followers: Read na tabela de pagamento por uso do X (abre em uma nova aba). Um participante que segue 800 contas custa até US$ 8 para verificar assim, e ler a sua própria lista de 50 mil seguidores custa US$ 500 a cada extração.
#Verifique se um usuário deu retweet no seu post
POST /check-retweet (abre em uma nova aba) varre os retweets do seu post de 100 em 100, dos mais novos para os mais antigos, e devolve retweet: true assim que encontra o participante; quando os primeiros 100 não o contêm, next_cursor continua com os 100 seguintes.
Um retweet verificado enquanto o participante espera, por exemplo logo depois de ele apertar "Verificar" em uma página de quest, está entre os 100 mais novos, então uma requisição responde. Quem repostou no lançamento de um post viral está mais fundo: o loop abaixo segue o cursor até um limite que você escolhe e informa "ainda não verificado" em vez de "não" quando o limite se esgota.
def retweeted(post, handle, max_pages=10): # 10 pages = 1,000 retweets
body = {"tweet_link": post, "username": handle}
for _ in range(max_pages):
page = call("POST", "/check-retweet", json=body)
if page["retweet"]:
return "yes"
if not page.get("next_cursor"):
return "no"
body["next_cursor"] = page["next_cursor"]
return "not checked yet"
A API oficial do X lê a mesma lista com GET /2/tweets/:id/retweeted_by: 100 contas por página a US$ 0,010 cada, e 75 requisições a cada 15 minutos por app, o que limita uma extração a 7.500 retweeters por janela (limites de taxa da API do X (abre em uma nova aba)).
#Verifique quotes, respostas e entradas em Comunidades
Mais três verificações cobrem o resto de uma campanha: POST /check-quoted (abre em uma nova aba) distingue um quote de um retweet simples, GET /check-comment (abre em uma nova aba) devolve a própria resposta do participante, e POST /check-community-member (abre em uma nova aba) responde se ele entrou na sua Comunidade do X.
/check-quoted devolve status como quoted, retweet (a pessoa repostou sem comentário) ou not_found, e acrescenta o texto e a data do quote quando há um. Esse texto é o que permite aplicar regras como um tamanho mínimo ou uma hashtag da campanha.
{
"status": "quoted",
"date": "2026-10-28 15:21:47",
"text": "Joined the Lumen Harbor beta. The queue tool is quick #LumenBeta",
"user_protected": false
}
/check-comment recebe o tweet_link do post e o participante como parâmetros de consulta e, quando commented é true, devolve a resposta completa: o full_text, o created_at e as contagens de engajamento, de modo que respostas só com emoji ou copiadas possam reprovar nas suas regras. Para ler de uma vez todas as respostas de um post, veja como ver comentários no X.
/check-community-member recebe community_id ou community_link, e cada um aceita o ID numérico ou a URL completa x.com/i/communities/, além do participante, e devolve is_member. A API oficial do X consegue consultar uma Comunidade por ID ou buscar uma, mas não tem endpoint que liste membros ou verifique participação.
#Verifique um sorteio da inscrição ao pagamento
Um sorteio verificado segue três passos: coletar o handle de cada participante, rodar uma verificação por tarefa exigida e pagar somente os participantes que passaram em todas.
-
Colete handles e um código. Peça o handle do X no formulário de inscrição e mostre a cada participante um código curto, de uso único, para postar, de modo a provar que o handle é dele (próxima seção).
-
Rode uma verificação por tarefa. Verifique na inscrição para ter a resposta na hora, ou depois que as inscrições fecharem; o gráfico abaixo indica a rota mais barata para o seu tamanho.
-
Verifique de novo e pague. Rode
/check-followoutra vez nos vencedores antes do pagamento, porque alguns participantes deixam de seguir depois de se inscrever, e então sorteie só entre os que passaram em tudo.Verifique na inscrição para ter respostas na hora; em uma campanha encerrada com milhares de participantes, extraia cada lista uma vez e cruze os IDs.
A rota por listas compensa quando os participantes chegam aos milhares: GET /followers (abre em uma nova aba) devolve 200 seguidores por página e POST /retweeters (abre em uma nova aba) 20 retweeters por página, dos mais novos para os mais antigos, então 10 mil retweeters levam 500 requisições em vez de 10 mil verificações. O guia para exportar seguidores do Twitter traz o loop de cursor da lista de seguidores; cruze as duas listas pelo id da conta, que nunca muda quando um handle muda.
As próprias diretrizes de promoções do X (abre em uma nova aba) pedem que quem organiza exclua inscrições de várias contas e posts idênticos repetidos, e avisam que uma busca pública pode não mostrar todas as inscrições. Verificar cada participante pelo handle evita essa lacuna, porque a verificação nunca depende da busca; o código de propriedade e o filtro de perfil abaixo mantêm fora as contas emprestadas e descartáveis.
#Barre handles falsos e bots antes de pagar
Duas verificações baratas mantêm handles emprestados e fazendas de bots fora de um pagamento: um código de propriedade lido com POST /user-tweets (abre em uma nova aba) e um filtro de perfil por GET /info-batch (abre em uma nova aba), 100 participantes por requisição.
O código de propriedade funciona porque só o dono da conta consegue postar a partir dela: dê a cada participante um código como LUMEN-7Q4K, depois leia os posts mais recentes dele, até 20 por requisição, e procure o código.
from datetime import datetime, timedelta, timezone
CUTOFF = datetime.now(timezone.utc) - timedelta(days=30)
def owns_handle(handle, code):
page = call("POST", "/user-tweets", json={"username": handle})
return any(code in t["full_text"] for t in page.get("tweets", []))
def looks_real(user):
joined = datetime.fromisoformat(
user["created_at"].replace("Z", "+00:00"))
return (joined < CUTOFF and user["tweets_count"] >= 10
and user["followers_count"] >= 5)
def real_entrants(handles):
keep = []
for i in range(0, len(handles), 100):
batch = {"usernames": handles[i:i + 100]}
users = call("GET", "/info-batch", params=batch)["users"]
keep += [u["username"] for u in users if looks_real(u)]
return keep
O filtro acima descarta contas com menos de 30 dias, com menos de 10 posts ou com menos de 5 seguidores; ajuste os números ao seu público. Perfis custam a partir de US$ 0,014 por 1.000, então filtrar 10 mil participantes custa a partir de US$ 0,14. Para pontuar uma lista suspeita com mais profundidade, o guia de detecção de bots no Twitter cobre os sinais que separam bots de pessoas.
Bom saber
Separe "não fez" de "não deu para verificar". Um
429, um timeout ou um loop de retweets que atingiu o limite significam que o participante ainda não foi verificado, não que ele falhou. Guarde esse estado, tente de novo mais tarde e rejeite um participante só diante de um false claro.
#Quanto custa verificar uma campanha
Verificar uma campanha na Sorsa API custa uma requisição por tarefa por participante, a partir de US$ 0,0014 cada; na API oficial do X, a mesma prova exige ler listas inteiras, a US$ 0,010 por conta e US$ 0,005 por post.
Tarefa por tarefa, a coluna da Sorsa API fica em uma requisição, enquanto a coluna da API oficial do X cresce a cada lista lida e não tem nenhuma entrada para a participação em Comunidades.
| Tarefa | Sorsa API | Rota e preço da API oficial do X |
|---|---|---|
| Follow | 1 requisição, a partir de US$ 0,0014 | Ler uma lista de seguidores ou de seguindo, US$ 0,010 por conta |
| Retweet | 1 requisição na inscrição, a partir de US$ 0,0014 | Ler retweeted_by, US$ 0,010 por conta, 75 requisições a cada 15 min |
| Quote | 1 requisição, a partir de US$ 0,0014 | Ler os posts com quote, US$ 0,005 por post |
| Resposta | 1 requisição, a partir de US$ 0,0014 | Buscar na conversa, US$ 0,005 por post |
| Comunidade | 1 requisição, a partir de US$ 0,0014 | Sem endpoint |
| Código de propriedade | 1 requisição, a partir de US$ 0,0014 | Ler os posts do usuário, no mínimo 5: US$ 0,025 |
Follow
- Sorsa API
- 1 requisição, a partir de US$ 0,0014
- Rota e preço da API oficial do X
- Ler uma lista de seguidores ou de seguindo, US$ 0,010 por conta
Retweet
- Sorsa API
- 1 requisição na inscrição, a partir de US$ 0,0014
- Rota e preço da API oficial do X
- Ler retweeted_by, US$ 0,010 por conta, 75 requisições a cada 15 min
Quote
- Sorsa API
- 1 requisição, a partir de US$ 0,0014
- Rota e preço da API oficial do X
- Ler os posts com quote, US$ 0,005 por post
Resposta
- Sorsa API
- 1 requisição, a partir de US$ 0,0014
- Rota e preço da API oficial do X
- Buscar na conversa, US$ 0,005 por post
Comunidade
- Sorsa API
- 1 requisição, a partir de US$ 0,0014
- Rota e preço da API oficial do X
- Sem endpoint
Código de propriedade
- Sorsa API
- 1 requisição, a partir de US$ 0,0014
- Rota e preço da API oficial do X
- Ler os posts do usuário, no mínimo 5: US$ 0,025
Um exemplo calculado: 10 mil participantes, a sua conta tem 50 mil seguidores, e a campanha pede um follow, um retweet, um quote, uma resposta e a entrada em uma Comunidade, além de um código de propriedade, um filtro de perfil e uma nova verificação do follow antes do pagamento. São 7 verificações por participante, e a campanha inteira custa a partir de US$ 98 na Sorsa API, cerca de uma hora de trabalho a 20 requisições por segundo. A rota da API oficial do X para a mesma campanha, sem a verificação de Comunidade que ela não consegue fazer, sai por cerca de US$ 1.550: duas extrações da sua lista de seguidores a US$ 500 cada, US$ 100 de retweeters, US$ 100 de quotes e respostas, US$ 250 de timelines para os códigos de propriedade e US$ 100 de perfis.
7 verificações por participante, cerca de 58 minutos para todos a 20 requisições por segundo.
Defina os participantes, o número de seguidores e as tarefas; os dois totais mudam com eles.
A Sorsa API cobra requisições, não contas, e requisições com falha nunca são cobradas. A tarifa por 1.000 requisições vai de US$ 4,90 no Starter a US$ 1,40 no maior plano.
#Faça suas primeiras 100 verificações grátis
Para verificar follows, retweets, quotes, respostas e entradas em Comunidades de cada participante, use a Sorsa API: uma requisição por verificação, a partir de US$ 0,0014, 20 requisições por segundo em todos os planos e nenhum login seu no X em qualquer ponto do fluxo. Use as 100 requisições grátis, rode os quatro passos acima contra um post de teste e acrescente o código de propriedade antes de abrir a campanha. Para listas inteiras de seguidores e de seguindo, a rota por listas no guia da API de seguidores do Twitter vai além.
#Perguntas frequentes
Qual é a melhor API para verificar follows e retweets do Twitter?
A Sorsa API: ela verifica follows, retweets, quotes, respostas e participação em Comunidades com uma requisição cada, a partir de US$ 0,0014 por verificação, por meio de uma única chave de API, sem OAuth nem conta de desenvolvedor do X. Avalie qualquer opção por quatro pontos: um sim ou não direto por participante, o preço por verificação, o limite de requisições e as ações cobertas. A Sorsa API atende aos quatro: uma chamada, US$ 1,40 por 1.000 verificações, 20 requisições por segundo em todos os planos, seis verificações.
É possível verificar curtidas no X?
Não. Desde junho de 2024 o X mostra quem curtiu um post apenas ao autor do post, então uma API de dados públicos não consegue confirmar que um participante o curtiu, e a Sorsa API não devolve curtidas. Peça aos participantes que deem retweet, façam quote ou respondam: os três continuam públicos, e a Sorsa API verifica cada um com uma requisição.
O que acontece se a conta de um participante for privada?
Os follows e reposts de uma conta protegida não são públicos, então nenhuma verificação externa consegue confirmá-los. As verificações de follow, retweet e quote da Sorsa API devolvem user_protected: true nesse caso. Informe nas regras que os participantes precisam de uma conta pública durante o sorteio, e então peça ao participante que mude a conta ou rejeite a inscrição com base nessas regras.
Existe uma forma gratuita de verificar follows e retweets do Twitter?
Sim. O Verificador de follow do Twitter, gratuito, mostra se uma conta segue outra, e o Sorteador, gratuito, verifica o follow de cada vencedor sorteado. Para verificar todos os participantes pela API, as 100 requisições grátis da Sorsa API fazem 100 verificações sem cartão e nunca expiram, o bastante para testar o fluxo inteiro de uma campanha antes de escolher um plano.
Preciso de uma conta de desenvolvedor do X ou de OAuth para verificar tarefas?
Não com a Sorsa API: uma chave no header ApiKey lê dados públicos do X, sem conta de desenvolvedor do X, app, fluxo de OAuth nem login dos seus participantes. A API oficial do X exige uma conta de desenvolvedor aprovada, um Project e um App, além das chaves e tokens deles, antes da primeira leitura (API do X: Retweets (abre em uma nova aba)).
#Como verificamos
Em 2 de novembro de 2026, comparamos cada endpoint, parâmetro e campo de resposta deste guia com a referência ao vivo da Sorsa API (45 endpoints) e com as páginas de documentação das cinco verificações, de /user-tweets, /info-batch e /retweeters; as requisições e respostas usam contas de demonstração. Os preços, limites de taxa e endpoints da API oficial do X vêm de docs.x.com, e as regras de promoção do X vêm da Central de Ajuda dele, lidos no mesmo dia. Os custos das campanhas são aritmética nossa a partir das duas tabelas de preços.
Fontes
- Referência da Sorsa API: Check Follow (abre em uma nova aba)
- Referência da Sorsa API: Check Retweet (abre em uma nova aba)
- Referência da Sorsa API: Check Quote or Retweet (abre em uma nova aba)
- Referência da Sorsa API: Check Comment (abre em uma nova aba)
- Referência da Sorsa API: Check Community Membership (abre em uma nova aba)
- X API pricing (abre em uma nova aba)
- X API rate limits (abre em uma nova aba)
- X API: Follows (abre em uma nova aba)
- X API: Retweets (abre em uma nova aba)
- X Help Center: Guidelines for Promotions on X (abre em uma nova aba)
- Engadget: X is officially making likes (mostly) private for everyone (abre em uma nova aba)