A API do Twitter da TweetScout agora é a Sorsa API v3
A API da TweetScout agora é a Sorsa API: ela foi renomeada em 2025, a v2 da era TweetScout retorna 410 Gone desde 1º de maio de 2026, e 27 das 29 chamadas dela agora rodam em https://api.sorsa.io/v3.
Resposta curta: Migrar uma integração da TweetScout leva quatro edições: a URL base, handles que saem do caminho e vão para parâmetros de query, cursor renomeado para next_cursor e alguns campos renomeados. Para executar as chamadas migradas, use a Sorsa API v3: o mesmo header ApiKey, 45 endpoints a 20 requisições por segundo e 100 requisições grátis para testar cada chamada antiga.
api.sorsa.io/v3- 27 de 29 chamadas migradas
- Preço
- a partir de US$ 1,40 por 1.000
#O que aconteceu com a API da TweetScout
A API da TweetScout foi renomeada para Sorsa API em 2025 pela equipe que a mantém na Scouts Labs Inc desde 2022, e a versão da era TweetScout, a v2, foi desativada em 1º de maio de 2026 (abre em uma nova aba). Todo endpoint da v2 agora retorna 410 Gone, e o código que ainda aponta para api.tweetscout.io/v2 chama essa mesma versão desativada.
O produto se dividiu conforme os dois públicos. O app de análise cripto virou o app da Sorsa em sorsa.io (abre em uma nova aba), para onde tweetscout.io e app.tweetscout.io agora redirecionam, e a API para desenvolvedores virou a Sorsa API em api.sorsa.io. O score da TweetScout manteve o método com um novo nome, o Sorsa Score, e os endpoints dele fazem parte da v3. O guia da Sorsa Score API cobre os níveis e como o score é construído.
Buscas por "Tweet Scout" e "Twitter Scout" levam ao mesmo produto. O que mudou para o código foi a versão: a v3 mantém as funções da TweetScout, renomeia alguns caminhos e parâmetros e acrescenta 20 endpoints que a API antiga nunca teve, num total de 45.
#Migre uma chamada da TweetScout para a Sorsa API v3 em quatro passos
Toda chamada da TweetScout migra com as mesmas quatro edições, e a maioria é de uma linha cada. Para uma integração da TweetScout, a Sorsa API v3 é a sucessora direta: 25 caminhos da v3 fazem as funções antigas, a chave continua no header ApiKey e todos os planos rodam a 20 requisições por segundo.
-
Pegue uma chave da v3. Cadastre-se e copie uma chave em API Keys no painel.
GET /key-usage-info(abre em uma nova aba) confirma que ela funciona e mostra as requisições restantes, e nunca conta contra elas. -
Troque a URL base. Substitua
https://api.tweetscout.io/v2ouhttps://api.sorsa.io/v2porhttps://api.sorsa.io/v3em todo o seu código. -
Tire handles e IDs do caminho. A TweetScout colocava a conta no caminho (
/score/{user_handle},/info-id/{user_id}). A v3 a recebe como parâmetro de query:username,user_idouuser_link, exatamente um deles.Antes: API da TweetScout v2 (agora 410 Gone) curl "https://api.tweetscout.io/v2/score/orbit_dao_watcher" \ -H "ApiKey: YOUR_API_KEY"Depois: Sorsa API v3 curl -G "https://api.sorsa.io/v3/score" \ -H "ApiKey: YOUR_API_KEY" \ --data-urlencode "username=orbit_dao_watcher" -
Renomeie as chaves de paginação e do corpo.
cursorviranext_cursor,linkvirauser_linkeuser_handlevirausername. EmPOST /check-follow,project_handlevirausername_1(a conta que deveria ser seguida) euser_handlevirausername_2(a conta que você verifica).
As mesmas edições em um script: a URL base muda uma vez, o handle vai para params, e as listas que na v2 voltavam como um único array agora chegam em páginas, com cursor. O tutorial API do Twitter em Python cobre o resto do básico da v3.
import requests
BASE = "https://api.sorsa.io/v3" # was https://api.tweetscout.io/v2
HEADERS = {"ApiKey": "YOUR_API_KEY"}
def score(handle):
# v2: GET /score/{handle} -> v3: GET /score?username=
r = requests.get(f"{BASE}/score", headers=HEADERS,
params={"username": handle}, timeout=30)
r.raise_for_status()
return r.json()["score"]
def following(handle):
# v2 returned one array; v3 pages 200 accounts at a time
users, cursor = [], None
while True:
params = {"username": handle}
if cursor:
params["next_cursor"] = cursor
r = requests.get(f"{BASE}/follows", headers=HEADERS,
params=params, timeout=30)
r.raise_for_status()
page = r.json()
users += page["users"]
cursor = page.get("next_cursor")
if not cursor:
return users
print(score("orbit_dao_watcher"))
print(len(following("orbit_dao_watcher")))
Um 401 significa que a chave está errada, um 403 significa que ela está ausente ou sem requisições, e um 429 significa mais de 20 requisições em um segundo, então espere um segundo e envie de novo. Os endpoints de score respondem por contas que estão no banco de dados do Sorsa Score, e a v3 agora informa a data em que cada seguidor passou a seguir, como nesta resposta de GET /top-followers:
{
"users": [
{
"id": "1600000000000000004",
"username": "lattice_fund_research",
"display_name": "Lattice Fund Research",
"followers_count": 48210,
"followings_count": 612,
"verified": true,
"score": 1873,
"follower_date": "2026-03-14T09:21:07Z"
}
]
}
#O mapa de endpoints da API da TweetScout, da v2 para a v3
Dos 29 endpoints da referência da v2 da era TweetScout, 27 migraram para a v3 e 2 foram desativados. Os 27 caem em 25 caminhos da v3, porque dois pares se fundiram: /info e /info-id viraram um único GET /info, e /score e /score-id viraram um único GET /score.
Cole qualquer chamada antiga do seu código ou dos seus logs no conversor para obter a requisição da v3 e as edições de que ela precisa.
Movido TweetScout GET /v2/score/{user_handle} agora é GET /v3/score na Sorsa API.
curl -G "https://api.sorsa.io/v3/score" \
-H "ApiKey: YOUR_API_KEY" \
--data-urlencode "username=orbit_dao_watcher"
- URL base:
https://api.tweetscout.io/v2virahttps://api.sorsa.io/v3. - O handle sai do caminho e vai em
?username=;?user_id=e?user_link=também funcionam. - Uma requisição por conta, a partir de US$ 1,40 por 1,000 contas.
Cole uma chamada da TweetScout API, ou escolha um exemplo, para ver a requisição da Sorsa API v3 que a substitui.
O mapa completo lista cada chamada da v2 nos grupos da referência antiga, com o caminho da v3 que a substitui e a única edição de que ela precisa. As chamadas cujo caminho não mudou ainda precisam da nova URL base.
| API da TweetScout v2 | Sorsa API v3 | O que muda |
|---|---|---|
GET /info/{user_handle} | GET /info | O handle vai para ?username= |
GET /info-id/{user_id} | GET /info | O ID vai para ?user_id= |
GET /about | GET /about | link vira user_link; username também funciona |
GET /follows | GET /follows | link vira user_link; 200 por página com next_cursor |
GET /handle-to-id/{user_handle} | GET /username-to-id/{user_handle} | Caminho renomeado |
GET /id-to-handle/{user_id} | GET /id-to-username/{user_id} | Caminho renomeado; a resposta ainda contém handle |
POST /user-tweets | POST /user-tweets | link vira user_link, cursor vira next_cursor |
POST /tweet-info | POST /tweet-info | Mesmo corpo; campos do tweet renomeados |
POST /tweet-info-bulk | POST /tweet-info-bulk | Mesmo corpo; resposta envolvida em tweets |
POST /comments | POST /comments | order_by opcional; a chave da resposta comments vira tweets |
POST /search-tweets | POST /search-tweets | Sem mudança |
POST /search-users | POST /search-users | Sem mudança |
GET /list-members | GET /list-members | Acrescenta paginação com next_cursor |
GET /list-tweets | GET /list-tweets | cursor vira next_cursor |
POST /community-tweets | POST /community-tweets | cursor vira next_cursor, order_by vira order |
POST /check-member | POST /check-community-member | Caminho renomeado |
POST /check-follow | POST /check-follow | project_* vira *_1, user_* vira *_2 |
POST /check-quoted | POST /check-quoted | user_handle vira username |
POST /check-retweet | POST /check-retweet | user_handle vira username |
GET /check-comment | GET /check-comment | user_handle vira username |
GET /score/{user_handle} | GET /score | O handle vai para ?username= |
GET /score-id/{user_id} | GET /score | O ID vai para ?user_id= |
GET /score-changes | GET /score-changes | user_handle vira username |
GET /followers-stats | GET /followers-stats | user_handle vira username |
GET /top-followers/{user_handle} | GET /top-followers | O handle vai para ?username=; from removido |
GET /top-following/{user_handle} | GET /top-following | O handle vai para ?username= |
GET /new-following-7d | GET /new-following-7d | user_handle vira username |
POST /when-follow | Desativado | POST /check-follow responde sim ou não |
GET /handle-history | Desativado | GET /about retorna a quantidade de mudanças e a última data |
GET /info/{user_handle}- Sorsa API v3
GET /info- O que muda
- O handle vai para
?username=
GET /info-id/{user_id}- Sorsa API v3
GET /info- O que muda
- O ID vai para
?user_id=
GET /about- Sorsa API v3
GET /about- O que muda
linkvirauser_link;usernametambém funciona
GET /follows- Sorsa API v3
GET /follows- O que muda
linkvirauser_link; 200 por página comnext_cursor
GET /handle-to-id/{user_handle}- Sorsa API v3
GET /username-to-id/{user_handle}- O que muda
- Caminho renomeado
GET /id-to-handle/{user_id}- Sorsa API v3
GET /id-to-username/{user_id}- O que muda
- Caminho renomeado; a resposta ainda contém
handle
POST /user-tweets- Sorsa API v3
POST /user-tweets- O que muda
linkvirauser_link,cursorviranext_cursor
POST /tweet-info- Sorsa API v3
POST /tweet-info- O que muda
- Mesmo corpo; campos do tweet renomeados
POST /tweet-info-bulk- Sorsa API v3
POST /tweet-info-bulk- O que muda
- Mesmo corpo; resposta envolvida em
tweets
POST /comments- Sorsa API v3
POST /comments- O que muda
order_byopcional; a chave da respostacommentsviratweets
POST /search-tweets- Sorsa API v3
POST /search-tweets- O que muda
- Sem mudança
POST /search-users- Sorsa API v3
POST /search-users- O que muda
- Sem mudança
GET /list-members- Sorsa API v3
GET /list-members- O que muda
- Acrescenta paginação com
next_cursor
GET /list-tweets- Sorsa API v3
GET /list-tweets- O que muda
cursorviranext_cursor
POST /community-tweets- Sorsa API v3
POST /community-tweets- O que muda
cursorviranext_cursor,order_byviraorder
POST /check-member- Sorsa API v3
POST /check-community-member- O que muda
- Caminho renomeado
POST /check-follow- Sorsa API v3
POST /check-follow- O que muda
project_*vira*_1,user_*vira*_2
POST /check-quoted- Sorsa API v3
POST /check-quoted- O que muda
user_handlevirausername
POST /check-retweet- Sorsa API v3
POST /check-retweet- O que muda
user_handlevirausername
GET /check-comment- Sorsa API v3
GET /check-comment- O que muda
user_handlevirausername
GET /score/{user_handle}- Sorsa API v3
GET /score- O que muda
- O handle vai para
?username=
GET /score-id/{user_id}- Sorsa API v3
GET /score- O que muda
- O ID vai para
?user_id=
GET /score-changes- Sorsa API v3
GET /score-changes- O que muda
user_handlevirausername
GET /followers-stats- Sorsa API v3
GET /followers-stats- O que muda
user_handlevirausername
GET /top-followers/{user_handle}- Sorsa API v3
GET /top-followers- O que muda
- O handle vai para
?username=;fromremovido
GET /top-following/{user_handle}- Sorsa API v3
GET /top-following- O que muda
- O handle vai para
?username=
GET /new-following-7d- Sorsa API v3
GET /new-following-7d- O que muda
user_handlevirausername
POST /when-follow- Sorsa API v3
- Desativado
- O que muda
POST /check-followresponde sim ou não
GET /handle-history- Sorsa API v3
- Desativado
- O que muda
GET /aboutretorna a quantidade de mudanças e a última data
As duas linhas desativadas ainda têm um caminho para a mesma resposta, e a seção sobre chamadas sem endpoint equivalente, abaixo, mostra o caminho de cada uma.
#Campos de resposta que mudaram de nome
As respostas da v3 mantêm o formato das respostas da TweetScout, mas 10 nomes de campos mudaram, e as listas que a v2 retornava como arrays soltos agora vêm dentro de um objeto ({"users": [...]} ou {"tweets": [...]}). Os parsers quebram nessas renomeações antes de qualquer outra coisa, então procure primeiro os nomes antigos no seu código.
| Campo da API da TweetScout v2 | Campo da Sorsa API v3 | Onde aparece |
|---|---|---|
screen_name | username | Perfis, autores de tweets, membros de listas |
name | display_name | Perfis, autores de tweets |
friends_count | followings_count | Perfis, autores de tweets |
statuses_count | tweets_count | Autores de tweets |
register_date | created_at | Perfis |
avatar | profile_image_url | Perfis, autores de tweets |
banner | profile_background_image_url | Perfis |
id_str | id | Tweets, autores de tweets |
favorite_count | likes_count | Tweets |
in_reply_to_status_id_str | in_reply_to_tweet_id | Tweets |
screen_name- Campo da Sorsa API v3
username- Onde aparece
- Perfis, autores de tweets, membros de listas
name- Campo da Sorsa API v3
display_name- Onde aparece
- Perfis, autores de tweets
friends_count- Campo da Sorsa API v3
followings_count- Onde aparece
- Perfis, autores de tweets
statuses_count- Campo da Sorsa API v3
tweets_count- Onde aparece
- Autores de tweets
register_date- Campo da Sorsa API v3
created_at- Onde aparece
- Perfis
avatar- Campo da Sorsa API v3
profile_image_url- Onde aparece
- Perfis, autores de tweets
banner- Campo da Sorsa API v3
profile_background_image_url- Onde aparece
- Perfis
id_str- Campo da Sorsa API v3
id- Onde aparece
- Tweets, autores de tweets
favorite_count- Campo da Sorsa API v3
likes_count- Onde aparece
- Tweets
in_reply_to_status_id_str- Campo da Sorsa API v3
in_reply_to_tweet_id- Onde aparece
- Tweets
As chaves em camelCase das listas antigas de top followers (screeName, followersCount, friendsCount, registerDate) passaram a ter os mesmos nomes em snake_case de todos os outros perfis da v3. Os campos que mantiveram o nome incluem full_text, retweet_count, reply_count, quote_count, view_count, bookmark_count e can_dm, e cada perfil da v3 acrescenta location, bio_urls, pinned_tweet_ids e protected.
Bom saber
A data em que o seguidor passou a seguir tem duas grafias na v3:
follower_dateemGET /top-followersefollowerDateemGET /new-followers-7deGET /new-following-7d. Os IDs são strings em todo lugar, como na v2, então guarde-os como texto no seu banco de dados: IDs Snowflake longos perdem dígitos quando tratados como números em JavaScript.
#Chamadas da TweetScout sem endpoint equivalente na v3
Dois endpoints da v2 foram desativados, e três coisas que as pessoas procuram com o nome TweetScout nunca foram endpoints da API. Cada uma ainda tem um caminho na v3 para a mesma resposta.
/when-followretornava a data em que uma conta passou a seguir outra, e apenas para contas que já estavam no banco de dados da TweetScout. Na v3,POST /check-follow(abre em uma nova aba) responde se o follow existe. Para datas,GET /top-followerscobre os 20 seguidores mais fortes de uma conta, eGET /new-followers-7d(abre em uma nova aba) lista as contas cripto que passaram a seguir nos últimos 7 dias./handle-historyretornava os handles anteriores de uma conta.GET /about(abre em uma nova aba) retornausername_change_countelast_username_change_at, que o Verificador de histórico de username do Twitter gratuito mostra para qualquer conta.- "Audience quality" (qualidade da audiência) era a visão do app da TweetScout sobre quem segue uma conta. Na API, ela é
GET /followers-stats(abre em uma nova aba), que conta influenciadores, projetos e fundos de VC entre os seguidores, além deGET /top-followerseGET /score. - Um endpoint de sentimento nunca existiu na v2 nem na v3. Puxe os posts com
POST /search-tweetsouPOST /mentionse calcule o score com o seu próprio modelo, como no guia de análise de sentimento no Twitter. /v1/analyzeem api.tweetscout.io nunca foi um endpoint da TweetScout. Ele aparece em código de bots de trading gerado por IA, marcado ali como endpoint hipotético, e o endereço responde 404. Para essa função, chameGET /scoreeGET /followers-stats.
#O que a mesma chave lê agora e a TweetScout nunca leu
A Sorsa API v3 acrescentou 20 endpoints que a API da TweetScout nunca teve, então uma chave agora cobre as funções gerais de dados do X que os dashboards cripto compravam de um segundo provedor. Se a sua integração da TweetScout rodava ao lado de outra API para listas de seguidores ou busca, use a Sorsa API para as duas: uma chave, uma fatura e os dados de smart followers no mesmo JSON.
As funções que levavam usuários da TweetScout a um segundo provedor custam isto por 1.000 resultados na Sorsa API, contra os preços da API oficial do X (abre em uma nova aba), que também exige conta de desenvolvedor e OAuth e para em 3 milhões de leituras de posts por mês:
| Função | Endpoint da Sorsa API | Sorsa API, por 1.000 | API oficial do X, por 1.000 |
|---|---|---|---|
| Listas completas de seguidores | GET /followers, 200 por página | a partir de US$ 0,007 | US$ 10,00 |
| Perfis em lotes | GET /info-batch, 100 por requisição | a partir de US$ 0,014 | US$ 10,00 |
| Posts por ID | POST /tweet-info-bulk, 100 por requisição | a partir de US$ 0,014 | US$ 5,00 |
| Busca e menções, desde 2006 | POST /search-tweets, POST /mentions, cerca de 20 por página | a partir de US$ 0,07 | US$ 5,00 |
| Score de influência cripto e categorias de seguidores | GET /score, GET /followers-stats, uma conta por requisição | a partir de US$ 1,40 | não oferecido |
Listas completas de seguidores
- Endpoint da Sorsa API
GET /followers, 200 por página- Sorsa API, por 1.000
- a partir de US$ 0,007
- API oficial do X, por 1.000
- US$ 10,00
Perfis em lotes
- Endpoint da Sorsa API
GET /info-batch, 100 por requisição- Sorsa API, por 1.000
- a partir de US$ 0,014
- API oficial do X, por 1.000
- US$ 10,00
Posts por ID
- Endpoint da Sorsa API
POST /tweet-info-bulk, 100 por requisição- Sorsa API, por 1.000
- a partir de US$ 0,014
- API oficial do X, por 1.000
- US$ 5,00
Busca e menções, desde 2006
- Endpoint da Sorsa API
POST /search-tweets,POST /mentions, cerca de 20 por página- Sorsa API, por 1.000
- a partir de US$ 0,07
- API oficial do X, por 1.000
- US$ 5,00
Score de influência cripto e categorias de seguidores
- Endpoint da Sorsa API
GET /score,GET /followers-stats, uma conta por requisição- Sorsa API, por 1.000
- a partir de US$ 1,40
- API oficial do X, por 1.000
- não oferecido
Para o acompanhamento de KOLs e smart followers, que os usuários da TweetScout faziam no app, a v3 tem quatro chamadas: GET /top-followers e GET /followers-stats para saber quem apoia uma conta, e GET /new-followers-7d e GET /new-following-7d para os follows cripto da última semana. As listas completas de todos os seguidores, cripto ou não, vêm de GET /followers (abre em uma nova aba); o guia da API de seguidores do Twitter mostra a exportação de ponta a ponta.
Os outros endpoints novos leem citações, quem deu repost, as respostas e os reposts de um usuário, X Articles, Spaces, trends por localização, seguidores verificados, seguidores de listas, informações, membros e busca de comunidades, e a verificação de shadowban. Equipes que também leem da API oficial do X podem migrar da API do Twitter/X com o mesmo tipo de mapa.
#Migre sua primeira chamada da TweetScout hoje
A API da TweetScout continua viva como a Sorsa API v3: mude a URL base, mova os handles para parâmetros de query, renomeie cursor, e 27 das 29 chamadas antigas voltam a funcionar. A Sorsa API é onde executá-las: 45 endpoints, o Sorsa Score incluído, 20 requisições por segundo em todos os planos e 100 requisições grátis para converter e testar uma integração inteira antes de escolher um plano.
#FAQ
A TweetScout é a mesma coisa que a Sorsa API?
Sim. A TweetScout era ao mesmo tempo um app de análise cripto e sua API para desenvolvedores, mantidos pela Scouts Labs Inc desde 2022. Em 2025, o app virou o app da Sorsa em sorsa.io e a API virou a Sorsa API em api.sorsa.io, com a mesma equipe por trás dos dois. A Sorsa API lê apenas dados públicos do X, nunca publica e nunca pede seu login do X, então sua conta do X nunca corre risco.
Onde está a documentação da API da TweetScout agora?
A documentação da API da TweetScout agora é a referência da Sorsa API v3 em docs.sorsa.io (abre em uma nova aba), gerada a partir do arquivo OpenAPI no ar, com todos os 45 endpoints, seus parâmetros e seus campos de resposta. A documentação da v2 da era TweetScout saiu junto com a v2 em 1º de maio de 2026. O mapa desta página mantém cada caminho da v2 ao lado da chamada da v3 que o substitui.
Minha chave antiga da API da TweetScout ainda funciona?
Use a chave listada em API Keys no painel da sua Sorsa API: é a chave que todos os endpoints da v3 aceitam, no mesmo header ApiKey. Qualquer requisição a um caminho /v2 falha com 410 Gone, seja qual for a chave. Se você não consegue mais abrir a conta que guardava sua chave da TweetScout, uma conta nova leva um minuto e começa com 100 requisições grátis.
Qual API devo usar no lugar da API da TweetScout?
Use a Sorsa API, a sucessora da própria API da TweetScout: 27 das 29 chamadas da TweetScout migraram, e o Sorsa Score continua vindo de GET /score. A mesma chave lê listas completas de seguidores a partir de US$ 0,007 por 1.000 e posts a partir de US$ 0,014 por 1.000. Ela roda a 20 requisições por segundo em todos os planos, sem conta de desenvolvedor do X e sem OAuth.
Ainda consigo obter o score da TweetScout pela API?
Sim, como o Sorsa Score, o score da TweetScout com o novo nome e o mesmo método: ele conta quais influenciadores, projetos e fundos cripto seguem uma conta. GET /score (abre em uma nova aba) o retorna para uma conta por requisição, e GET /score-changes retorna a variação dele na última semana e no último mês. Os scores são atualizados cerca de uma vez por dia.
Quanto a Sorsa API custa para ex-usuários da TweetScout?
A Sorsa API cobra uma requisição por chamada em todos os endpoints, de US$ 4,90 por 1.000 requisições no plano Starter a US$ 1,40 no Hyperscale, e requisições com falha nunca são cobradas. Toda conta nova começa com 100 requisições grátis que nunca expiram e não exigem cartão, o suficiente para converter e testar uma integração pequena da TweetScout.
#Como verificamos
Em 2 de novembro de 2026, lemos o arquivo de referência da v2 da era TweetScout, que api.sorsa.io/v2/swagger.json ainda serve, ao lado da referência da v3 no ar. Um script comparou os 29 endpoints da v2, seus parâmetros e seus campos de resposta com a v3. Confirmamos a data de desativação da v2 na documentação da Sorsa API e os preços da API oficial do X em docs.x.com no mesmo dia. Nenhuma chave de API foi usada neste artigo: as requisições e a resposta seguem a referência da v3, com contas de demonstração.