Como obter a chave de API do Twitter (X)
Para obter a chave de API do Twitter (X), entre em console.x.com com a sua conta do X, aceite o Developer Agreement, crie um app e guarde as chaves e o Bearer token dele, e depois compre créditos: as leituras custam US$ 0,005 por post.
Resposta curta: O console emite a chave de API, o secret dela, um Bearer token e as credenciais OAuth quando o app é criado, e mostra cada um uma única vez. Enquanto você não compra créditos, toda requisição responde HTTP 402 CreditsDepleted. Para ler dados públicos do X com uma única chave, use a Sorsa API: tweets a partir de US$ 0,014 por 1.000, e 100 requisições grátis não pedem cartão.
ApiKey: YOUR_API_KEY- uma chave, sem OAuth
- Preço
- a partir de US$ 0,014 por 1.000 tweets
#Como obter uma chave oficial da API do X, passo a passo
Uma chave oficial da API do X sai do X Developer Console, em console.x.com, o site em que o X emite todas as credenciais da API dele, e o caminho tem seis passos. O guia Getting Access (abre em uma nova aba) do X lista os quatro primeiros. Os créditos do passo 5 estão na página de preços dele, e a requisição do passo 6 falha sem eles.
Abrir uma conta de desenvolvedor e criar um app não custa nada. Ler custa: o X cobra US$ 0,005 por cada post que uma resposta devolve e US$ 0,010 por cada perfil ou seguidor, de um saldo que você recarrega adiantado. Nosso detalhamento dos preços da API do X lista todas as tarifas.
-
Entre em console.x.com. Use a conta do X que deve ser dona do app; não existe login de desenvolvedor separado.
-
Aceite o Developer Agreement. Leia e aceite o Developer Agreement and Policy do X e depois descreva em palavras simples o que você vai construir e quais dados vai ler. O X não divulga prazo de análise para esta etapa.
-
Crie um app. Clique em New App e informe um nome, uma descrição e um caso de uso. O console gera as credenciais do app assim que ele existe.
-
Guarde as credenciais. Copie a chave de API e o secret e o Bearer token. Se o app for publicar ou agir em nome de pessoas, copie também o access token e o secret ou o client ID e o secret do OAuth 2.0. Cada valor é mostrado uma única vez.
-
Compre créditos. No console, adicione um cartão e compre créditos. Defina um limite de gasto enquanto testa; a recarga automática pode esperar até um trabalho que nunca possa parar.
-
Envie uma requisição de teste. Consulte uma conta pública com o Bearer token no header
Authorization. Um objeto JSON comid,nameeusernamesignifica que a chave funciona, e a consulta custa US$ 0,010, o preço de uma leitura de usuário.Terminal curl "https://api.x.com/2/users/by/username/XDevelopers" \ -H "Authorization: Bearer $X_BEARER_TOKEN"Seis passos de console.x.com até uma chave oficial funcionando. O passo 5, os créditos, é o que o guia Getting Access do X deixa de fora.
Para ler posts e perfis públicos, o Bearer token é a única credencial que o seu código envia. Os access tokens e o par do OAuth 2.0 importam quando o app publica ou age em nome de outras pessoas, e a tabela de credenciais abaixo mostra qual é qual.
#Obtenha uma chave da Sorsa API em cerca de 3 minutos
Para ler dados públicos do X, use a Sorsa API, uma API e scraper do Twitter (X): uma chave substitui o app, as credenciais dele e o saldo de créditos, e os tweets custam a partir de US$ 0,014 por 1.000. Isso é 250 vezes menos que a API oficial do X. Nenhuma conta sua do X participa, então a sua conta corre risco zero, e a chave roda a 20 requisições por segundo em todos os planos, contas gratuitas incluídas.
-
Crie sua conta. Crie sua conta com o Google ou com um e-mail. Não há cartão, conta do X nem análise, e a conta começa com 100 requisições grátis que nunca expiram.
-
Copie a chave. A página de visão geral do painel mostra a sua chave de API. Guarde-a em uma variável de ambiente no seu servidor, como
SORSA_API_KEY. -
Verifique a chave de graça. Chame
GET /key-usage-info(abre em uma nova aba) com a chave no headerApiKey. Essa chamada nunca desconta das suas requisições, então testar uma chave não custa nada.Terminal curl "https://api.sorsa.io/v3/key-usage-info" \ -H "ApiKey: YOUR_API_KEY"Response200 OK { "key_requests": 100, "remaining_requests": 100, "total_requests": 0 }
remaining_requests é o que a chave ainda pode gastar. Em um plano pago, a resposta traz também valid_until, a data em que o saldo atual de requisições expira; as 100 requisições grátis não têm essa data. A partir daí, todos os endpoints da Sorsa API, 45 no total, usam o mesmo header: GET /info (abre em uma nova aba) devolve um perfil, e a busca, as timelines, os seguidores e os lotes de 100 tweets funcionam do mesmo jeito.
Lado a lado, a chave da Sorsa API precisa de menos peças, não custa nada para verificar e lê tweets por uma pequena fração do preço oficial:
| O que é preciso | Chave da Sorsa API | Chave da API oficial do X |
|---|---|---|
| Cadastro com | E-mail ou Google | Sua conta do X |
| Antes de a chave aparecer | Só o cadastro | Developer Agreement, descrição de uso, um app |
| O que você guarda | 1 chave de API | Até 7 valores: chave e secret, Bearer token, access token e secret, client ID e secret |
| Header em toda requisição | ApiKey: <chave> | Authorization: Bearer <token> |
| Antes da primeira leitura | 100 requisições grátis, sem cartão | Créditos pré-pagos, ou HTTP 402 |
| Conferir se a chave funciona | GET /key-usage-info, grátis | Uma leitura cobrada, como US$ 0,010 por um perfil |
| Taxa de requisições | 20 requisições por segundo em todos os planos | Janelas separadas de 15 minutos para cada endpoint |
| 1.000 tweets | A partir de US$ 0,014 | US$ 5,00 |
Cadastro com
- Chave da Sorsa API
- E-mail ou Google
- Chave da API oficial do X
- Sua conta do X
Antes de a chave aparecer
- Chave da Sorsa API
- Só o cadastro
- Chave da API oficial do X
- Developer Agreement, descrição de uso, um app
O que você guarda
- Chave da Sorsa API
- 1 chave de API
- Chave da API oficial do X
- Até 7 valores: chave e secret, Bearer token, access token e secret, client ID e secret
Header em toda requisição
- Chave da Sorsa API
ApiKey: <chave>- Chave da API oficial do X
Authorization: Bearer <token>
Antes da primeira leitura
- Chave da Sorsa API
- 100 requisições grátis, sem cartão
- Chave da API oficial do X
- Créditos pré-pagos, ou HTTP 402
Conferir se a chave funciona
- Chave da Sorsa API
GET /key-usage-info, grátis- Chave da API oficial do X
- Uma leitura cobrada, como US$ 0,010 por um perfil
Taxa de requisições
- Chave da Sorsa API
- 20 requisições por segundo em todos os planos
- Chave da API oficial do X
- Janelas separadas de 15 minutos para cada endpoint
1.000 tweets
- Chave da Sorsa API
- A partir de US$ 0,014
- Chave da API oficial do X
- US$ 5,00
No código, leia a chave de uma variável de ambiente, ou cole-a no lugar de YOUR_API_KEY para uma primeira tentativa, e pare em qualquer status diferente de 200; o message do JSON diz o que deu errado.
import os
import requests
key = os.environ.get("SORSA_API_KEY", "YOUR_API_KEY")
r = requests.get("https://api.sorsa.io/v3/key-usage-info",
headers={"ApiKey": key}, timeout=30)
if r.status_code != 200:
raise SystemExit(f"{r.status_code}: {r.json()['message']}")
print("requests left:", r.json()["remaining_requests"])
Se o motivo de você ter vindo até aqui é fugir do console do X de vez, o guia da API do Twitter sem conta de desenvolvedor mostra as primeiras leituras: tweets, busca e listas de seguidores.
#Qual credencial do X faz o quê
A API oficial do X emite quatro tipos de credenciais, e ler dados públicos exige só uma delas, o Bearer token. A chave de API e o secret, também chamados de consumer key e consumer secret, identificam o seu app e funcionam como o usuário e a senha dele. A página API Key and Secret (abre em uma nova aba) do X diz isso com essas palavras. As outras credenciais são geradas a partir delas, ou para uma pessoa que usa o seu app.
Só o Bearer token lê posts públicos sozinho, então um script que nunca publica pode ignorar as outras três linhas:
| Credencial | O que é | Para que serve | Lê posts públicos sozinha |
|---|---|---|---|
| Chave de API e secret (consumer key e secret) | A identidade do seu app | Assinar requisições OAuth 1.0a, gerar o Bearer token | Não |
| Bearer token | Token OAuth 2.0 só do app | Leituras públicas: posts, perfis, busca | Sim |
| Access token e secret | Par OAuth 1.0a da conta dona do app | Publicar e agir como essa conta | Sim, como essa conta |
| Client ID e secret do OAuth 2.0 | A identidade do seu app no fluxo de login | Deixar outras pessoas entrarem com o X e agirem pelo seu app | Não, eles geram tokens de usuário |
Chave de API e secret (consumer key e secret)
- O que é
- A identidade do seu app
- Para que serve
- Assinar requisições OAuth 1.0a, gerar o Bearer token
- Lê posts públicos sozinha
- Não
Bearer token
- O que é
- Token OAuth 2.0 só do app
- Para que serve
- Leituras públicas: posts, perfis, busca
- Lê posts públicos sozinha
- Sim
Access token e secret
- O que é
- Par OAuth 1.0a da conta dona do app
- Para que serve
- Publicar e agir como essa conta
- Lê posts públicos sozinha
- Sim, como essa conta
Client ID e secret do OAuth 2.0
- O que é
- A identidade do seu app no fluxo de login
- Para que serve
- Deixar outras pessoas entrarem com o X e agirem pelo seu app
- Lê posts públicos sozinha
- Não, eles geram tokens de usuário
Um Bearer token perdido pode ser gerado de novo a partir da chave e do secret. O guia de Bearer token (abre em uma nova aba) do X os envia como um par de basic auth para oauth2/token, e o campo access_token do JSON que volta é o Bearer token:
curl -u "$X_API_KEY:$X_API_SECRET" \
--data "grant_type=client_credentials" \
"https://api.x.com/oauth2/token"
As permissões pertencem ao app, não ao token. Um app definido como Read não consegue publicar. Mude-o para Read and write nas configurações de autenticação de usuário dele e depois gere o access token e o secret de novo: um token mantém as permissões com que foi criado. Um token feito antes da mudança é uma causa comum de 403 no primeiro post.
Escolha o trabalho que o seu código precisa fazer, e o seletor indica a credencial, o header e a primeira requisição:
O que seu código precisa fazer?
Ler posts e perfis públicos
Sorsa API
- Credencial
- Uma chave de API
- Onde obter
- No painel, logo após o cadastro
- Cabeçalho
ApiKey: <key>- Primeira requisição
GET /v3/key-usage-infosem custo- 1,000 tweets
- a partir de US$ 0,014
API oficial do X
- Credencial
- Bearer token
- Onde obter
- A aba Keys and tokens do seu app
- Cabeçalho
Authorization: Bearer <token>- Primeira requisição
GET /2/users/by/username/…a US$ 0,010- 1,000 tweets
- US$ 5,00
Postar na minha própria conta
API oficial do X
- Credencial
- Access token e secret, assinados com a chave e o secret da API
- Onde obter
- Keys and tokens, depois de configurar o app como Read and write
- Cabeçalho
Authorization: OAuth …com uma assinatura OAuth 1.0a- Primeira requisição
POST /2/tweets- Cada post
- US$ 0,015
Um post com link custa US$ 0,20. A Sorsa API é somente leitura por design: nunca posta, então sua conta do X fica fora disso.
Deixar outras pessoas entrarem com o X
API oficial do X
- Credencial
- Client ID e secret do OAuth 2.0
- Onde obter
- As configurações de autenticação de usuário do app, com uma URL de callback
- Cabeçalho
Authorization: Bearer <user token>para cada pessoa- Primeira requisição
- O fluxo de login: authorization code com PKCE
- Lê e posta
- tarifas oficiais
Cada pessoa conectada recebe o próprio token, e toda leitura ou post feito com ele é cobrado dos seus créditos.
Um trabalho, uma credencial: o seletor mostra de onde ela vem, qual cabeçalho a leva e quanto custa a primeira requisição.
#X-API-Key, Bearer ou ApiKey: qual header
A API oficial do X lê o token dela apenas do header Authorization: Bearer, e a Sorsa API lê a chave dela apenas do header ApiKey. Nenhuma das duas lê X-API-Key, um nome de header que muitas outras APIs usam para as chaves delas. O nome confunde porque parece "chave da API do X", mas não tem relação nenhuma com o X. Gateways de API e muitos produtos SaaS o usam, e uma chave colocada nele chega aos servidores do X como se não houvesse chave.
Enviamos as mesmas requisições às duas APIs em 2 de novembro de 2026, com chaves inventadas, e cada resposta abaixo é o que voltou:
| O que enviamos | A Sorsa API respondeu | A API oficial do X respondeu |
|---|---|---|
| Nenhuma chave | 403 missing key in request header | 401 Unauthorized |
| Uma chave inventada no header certo | 401 invalid api key | 401 Unauthorized |
A chave em um header X-API-Key | 403 missing key in request header | 401 Unauthorized |
A chave como Authorization: Bearer | 403 missing key in request header | 401 Unauthorized |
Nenhuma chave
- A Sorsa API respondeu
- 403
missing key in request header - A API oficial do X respondeu
- 401
Unauthorized
Uma chave inventada no header certo
- A Sorsa API respondeu
- 401
invalid api key - A API oficial do X respondeu
- 401
Unauthorized
A chave em um header
X-API-Key- A Sorsa API respondeu
- 403
missing key in request header - A API oficial do X respondeu
- 401
Unauthorized
A chave como
Authorization: Bearer- A Sorsa API respondeu
- 403
missing key in request header - A API oficial do X respondeu
- 401
Unauthorized
Então um 401 da API oficial do X significa que o token está errado, ausente ou foi enviado da forma errada, e não diz qual dos três. A Sorsa API distingue os dois casos: 401 invalid api key significa que o valor está errado, e 403 missing key in request header significa que o nome do header está.
#Quando uma chave nova falha: 401, 402, 403, 429
Uma chave nova da API oficial do X falha por quatro motivos, cada um com o seu código de status. O 401 indica um token errado ou regenerado, o 402 um saldo de créditos vazio, o 403 uma permissão ausente ou um app fora de um projeto, e o 429 uma janela de rate limit esgotada. Os mesmos números significam coisas diferentes na Sorsa API, e a solução vem da mensagem:
| Status | Sorsa API | API oficial do X |
|---|---|---|
| 401 | A chave está errada ou foi apagada (invalid api key) | O token está errado, ausente ou foi regenerado |
| 402 | Não usado | CreditsDepleted: a conta não tem créditos |
| 403 | Nenhuma chave no header ApiKey, ou as requisições acabaram | O app não tem a permissão, ou não está em um projeto (client-not-enrolled) |
| 429 | Mais de 20 requisições em um segundo | A janela de 15 minutos do endpoint está esgotada |
401
- Sorsa API
- A chave está errada ou foi apagada (
invalid api key) - API oficial do X
- O token está errado, ausente ou foi regenerado
402
- Sorsa API
- Não usado
- API oficial do X
CreditsDepleted: a conta não tem créditos
403
- Sorsa API
- Nenhuma chave no header
ApiKey, ou as requisições acabaram - API oficial do X
- O app não tem a permissão, ou não está em um projeto (
client-not-enrolled)
429
- Sorsa API
- Mais de 20 requisições em um segundo
- API oficial do X
- A janela de 15 minutos do endpoint está esgotada
O 402 é o erro que o guia Getting Access do X nunca menciona. O corpo dele traz o título CreditsDepleted e a linha "Your enrolled account does not have any credits to fulfill this request." (a conta cadastrada não tem créditos para atender a esta requisição), como desenvolvedores relataram no fórum de desenvolvedores do X (abre em uma nova aba), e comprar créditos resolve. Um saldo também pode ficar um pouco abaixo de zero, e então as requisições continuam bloqueadas até uma recarga cobri-lo.
O 403 client-not-enrolled diz que as chaves precisam vir de um app de desenvolvedor "attached to a Project" (vinculado a um projeto). Ele aparece em apps antigos e avulsos; vincular o app a um projeto no console, ou criar um app novo lá, resolve. Os rate limits da API oficial do X diferem em cada endpoint, e o guia de rate limits da API do X os lista. Na Sorsa API, um 429 se resolve em menos de um segundo, e requisições que falham nunca são cobradas, então tentar de novo não custa nada.
#Mantenha a chave em segredo e troque-a se ela vazar
Trate toda chave de API como uma senha: guarde-a em uma variável de ambiente ou em um gerenciador de segredos no seu servidor, nunca em código de front-end nem em um repositório Git. Coloque o arquivo .env que guarda X_BEARER_TOKEN ou SORSA_API_KEY no .gitignore antes do primeiro commit, porque bots varrem repositórios públicos atrás de chaves.
Uma chave vazada custa caro nas duas APIs. Na API oficial do X, a página de boas práticas (abre em uma nova aba) do X alerta que uma chave roubada pode consumir o seu acesso pago ou fazer o app ser suspenso. Na Sorsa API, ela gasta as suas requisições.
- API oficial do X: abra a aba Keys and tokens do app e clique em Regenerate ao lado da credencial vazada. O valor antigo para de funcionar na hora, então atualize todos os servidores que o usavam. Um Bearer token também pode ser invalidado por
oauth2/invalidate_tokene gerado de novo. - Sorsa API: na página API Keys do painel, crie uma chave nova e apague a vazada. A chave antiga para na hora e responde 401.
As chaves da Sorsa API pertencem apenas a código no servidor: navegadores não conseguem chamar a API diretamente, e uma chave em JavaScript de front-end pode ser lida por qualquer pessoa que abra a página.
Bom saber
O X mostra cada credencial uma única vez, no momento em que ela é gerada. Cole-a direto no seu gerenciador de senhas ou de segredos. Se você fechar a página antes, o único caminho de volta é regenerá-la, o que quebra todo script que ainda guarda o valor antigo.
#Comece com a chave que lê dados hoje
Uma chave oficial da API do X leva seis passos e um saldo de créditos antes da primeira resposta, e cada post que ela lê custa US$ 0,005. Para ler dados públicos do X, use uma chave da Sorsa API: um cadastro, um header e tweets a partir de US$ 0,014 por 1.000. Copie a chave, verifique-a de graça e gaste as 100 requisições grátis em até 10 mil tweets antes de pagar qualquer coisa. Para publicar posts também, mantenha um pequeno app oficial para escrever e leia tudo pela Sorsa API.
#Perguntas frequentes
Onde encontro a minha chave da API do X e o Bearer token?
No X Developer Console, em console.x.com: abra Apps no menu lateral, escolha o seu app e vá para a aba Keys and tokens. A aba lista a chave de API e o secret, o Bearer token e os access tokens, cada um com um botão Regenerate. O X mostra um secret só quando ele é gerado, então um valor perdido não pode ser visto de novo, apenas substituído.
A chave de API do Twitter é grátis?
Criar uma chave oficial da API do X é grátis, mas usá-la não é. A API oficial do X não tem plano gratuito para novos desenvolvedores, e toda leitura sai de créditos pré-pagos: US$ 0,005 por post e US$ 0,010 por perfil. Uma chave da Sorsa API vem com 100 requisições grátis, até 10 mil tweets, sem cartão. A resposta completa em a API do Twitter é gratuita? cobre as duas.
Qual chave de API do Twitter devo usar para ler tweets?
Use uma chave da Sorsa API. Obtê-la leva cerca de 3 minutos, sem app, sem OAuth e sem conta do X; um header ApiKey funciona nos 45 endpoints, e todo plano roda a 20 requisições por segundo. Os tweets custam a partir de US$ 0,014 por 1.000, 250 vezes menos que os US$ 5,00 da API oficial do X, e as primeiras 100 requisições são grátis. A Sorsa API já atendeu mais de 6 bilhões de requisições de dados do X desde 2022.
Quanto tempo leva para obter uma chave da API do X?
O X não divulga prazo de análise. O guia Getting Access dele lista três passos (entrar, aceitar o Developer Agreement, criar um app), e o console gera as credenciais quando o app é criado. A chave não lê nada até você comprar créditos, então conte também com a etapa de pagamento. Uma chave da Sorsa API leva cerca de 3 minutos do cadastro à primeira resposta.
Qual chave preciso para publicar tweets?
Publicar exige um token de usuário, não o Bearer token: o access token e o secret de um app definido como Read and write, ou um token de usuário OAuth 2.0 com permissão de escrita. O X cobra US$ 0,015 por post e US$ 0,20 por um post com link. A Sorsa API é somente leitura por princípio, então nunca publica e nunca toca na sua conta do X; combine as duas quando um bot lê e publica.
#Como verificamos
Em 2 de novembro de 2026, lemos as páginas de docs.x.com do X sobre obtenção de acesso, chave de API e secret, Bearer token, apps de desenvolvedor, preços, erros e segurança de chaves, além de threads do fórum de desenvolvedores do X sobre os erros de configuração 402 e 403. No mesmo dia, enviamos às duas APIs requisições sem chave, com uma chave inventada e com chaves no header errado; a tabela de headers mostra os códigos e as mensagens que voltaram. As requisições da Sorsa API seguem a referência da API ao vivo, e a resposta de uso da chave mostra os valores de uma conta nova, não uma chamada capturada.
Fontes
- X API: Getting Access (abre em uma nova aba)
- X API: API Key and Secret (abre em uma nova aba)
- X API: Using and generating an app-only Bearer Token (abre em uma nova aba)
- X API: Developer apps (abre em uma nova aba)
- X API: pay-per-usage pricing and credits (abre em uma nova aba)
- X API: Response codes and errors (abre em uma nova aba)
- X API: Authentication best practices (abre em uma nova aba)
- X Developers forum: Auto-Recharge Never Triggers (402 CreditsDepleted) (abre em uma nova aba)
- Sorsa API reference (OpenAPI)