Como obter dados históricos do Twitter desde 2006
Os dados históricos do Twitter vão até o primeiro tweet, de 21 de março de 2006: todo post público ainda no ar pode ser obtido por palavra-chave, conta e intervalo de datas com uma API de busca no arquivo completo, enquanto posts apagados e protegidos se perderam.
Resposta curta: Ninguém vende o arquivo inteiro como um único arquivo: você busca a fatia de que precisa por palavra-chave e data. A API oficial do X cobra essa busca a US$ 5,00 por 1.000 posts, com teto de 3 milhões por mês. Para um backfill, use a Sorsa API, uma API e scraper do Twitter (X): a partir de US$ 0,07 por 1.000 tweets pelo POST /search-tweets, com 100 requisições grátis para começar.
- Endpoint
POST /search-tweets- Tamanho da página
- cerca de 20 tweets por requisição
- Preço
- a partir de US$ 0,07 por 1.000
#Até onde vão os dados históricos do Twitter
Os dados históricos do Twitter começam em 21 de março de 2006, o dia do primeiro tweet, e todo post público ainda no ar desde então pode ser encontrado por busca. Ninguém distribui o arquivo completo como um arquivo, então você obtém a fatia de que precisa: por consulta, por conta ou por ID de tweet.
Três tipos de post estão fora do alcance de qualquer API e de qualquer ferramenta: tweets que os autores apagaram, posts de contas protegidas e posts de contas suspensas. Um dataset coletado em 2019 e coletado de novo hoje volta menor exatamente por isso.
Para algumas consultas manuais, a ferramenta gratuita Busca avançada do Twitter roda os mesmos operadores de data no navegador. Qualquer coisa que você vá contar, plotar ou usar para treinar um modelo precisa de uma API.
O que um tweet de 2014 devolve hoje
Um tweet histórico volta com o texto e a data exatamente como foram postados, mas com os contadores de hoje e o perfil do autor como ele está hoje, em qualquer API.
| Parte do tweet | O que você recebe de um tweet postado em 2014 |
|---|---|
| Texto, data, ID, links e mídia | Como postados em 2014 |
| Contagens de curtidas, reposts, respostas e quotes | Os totais de hoje, não as contagens de 2014 |
| Autor: handle, bio, número de seguidores | O perfil do autor hoje, inclusive um handle renomeado |
Texto, data, ID, links e mídia
- O que você recebe de um tweet postado em 2014
- Como postados em 2014
Contagens de curtidas, reposts, respostas e quotes
- O que você recebe de um tweet postado em 2014
- Os totais de hoje, não as contagens de 2014
Autor: handle, bio, número de seguidores
- O que você recebe de um tweet postado em 2014
- O perfil do autor hoje, inclusive um handle renomeado
Assim, um estudo sobre como uma hashtag se espalhou em 2014 consegue contar os tweets dela por dia com exatidão. Ele não consegue ler as contagens de seguidores de 2014 no arquivo, porque um tweet nunca as guardou. Se você precisar de números de um momento específico no futuro, colete os tweets conforme eles aparecem e guarde as contagens você mesmo.
#Três formas de obter tweets históricos
Para tweets históricos, use a Sorsa API: uma chave de API alcança todo tweet público desde 2006, a 20 requisições por segundo em todos os planos, a partir de US$ 0,07 por 1.000 pela busca. O endpoint depende do ponto de partida, um assunto e datas, uma conta ou uma lista de IDs de tweets, e todo tweet chega com o perfil completo do autor.
A busca cobre a maior parte das pesquisas: uma hashtag durante uma eleição, as menções a uma marca em 2019, uma cashtag ao longo de cinco anos. O caminho por conta lê uma timeline do post mais novo ao mais antigo. O caminho por ID reconstrói um dataset que alguém já publicou e custa menos por tweet porque uma requisição carrega 100 tweets.
#Como buscar tweets históricos com a API
Buscar no arquivo com a Sorsa API leva quatro passos e uma chave, e nenhum deles pede conta do X, revisão de app ou OAuth. O mesmo endpoint roda também buscas ao vivo, que o nosso guia da API de busca do Twitter cobre.
-
Obtenha uma chave. Crie sua conta e copie sua chave de API no painel. As 100 requisições grátis já estão nela.
-
Escreva a consulta. Coloque as palavras primeiro e depois a janela:
since:2014-04-01inclui esse dia euntil:2014-05-01para antes dele, ambos em UTC. Restrinja comfrom:,lang:,min_faves:ou-filter:retweets; todos os operadores estão na nossa lista de operadores de busca do Twitter. -
Envie a primeira requisição. Faça um POST da consulta para
POST /search-tweets(abre em uma nova aba) com"order": "latest", para que as páginas percorram a janela em ordem de tempo.Terminal curl -X POST "https://api.sorsa.io/v3/search-tweets" \ -H "ApiKey: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "query": "\"rainfall survey\" since:2014-04-01 until:2014-05-01", "order": "latest" }'Response200 OK { "tweets": [ { "id": "456721912166192197", "full_text": "Day 3 of the rainfall survey: 41 mm in the valley.", "created_at": "2014-04-17T09:12:44Z", "lang": "en", "likes_count": 38, "retweet_count": 12, "reply_count": 4, "quote_count": 1, "is_reply": false, "user": { "id": "583920117", "username": "mira_archive_notes", "display_name": "Mira Field Notes", "followers_count": 2214, "created_at": "2012-06-02T18:40:11Z" } } ], "next_cursor": "DAADDAABCgABGEZx0iWAJ8kKAAIYRm0eqZvwRg" } -
Percorra a janela. Envie o
next_cursorde volta no corpo com a mesma consulta e pare quando uma resposta vier sem ele. As páginas têm cerca de 20 tweets e o tamanho varia, então uma página curta nunca significa que a janela acabou.
Uma resposta 403 significa que a chave está ausente, errada ou sem requisições; um 429 significa mais de 20 requisições em um segundo, então espere um segundo e envie de novo.
Bom saber
Use
"order": "latest"para um backfill: ele percorre uma janela de datas em ordem de tempo, que é como funciona uma coleta completa."popular"coloca primeiro os tweets com mais engajamento e serve para achar os melhores posts de um período, não para contar todos os posts dele.
#Como fazer o backfill de anos de tweets sem lacunas
Um backfill de vários anos funciona melhor como muitas janelas de data pequenas, de um mês ou uma semana cada, percorridas até o fim e salvas uma por vez. Uma janela que falha roda de novo sozinha, cada janela pode ser conferida pela contagem e, como o until: exclui o próprio dia, janelas seguidas nunca salvam um tweet duas vezes.
O script abaixo percorre um intervalo de datas mês a mês e pagina cada janela pelo next_cursor. Ele grava um arquivo JSON Lines por mês e pula os meses que já estão no disco, então você pode interrompê-lo e iniciá-lo de novo em qualquer ponto.
import json
import os
import time
from datetime import date
import requests
URL = "https://api.sorsa.io/v3/search-tweets"
HEADERS = {"ApiKey": "YOUR_API_KEY"}
def months(start, end):
"""Yield (since, until) pairs, one calendar month each."""
d = start
while d < end:
nxt = date(d.year + d.month // 12, d.month % 12 + 1, 1)
yield d, min(nxt, end)
d = nxt
def backfill(words, start, end, folder="archive"):
os.makedirs(folder, exist_ok=True)
for since, until in months(start, end):
path = f"{folder}/{since:%Y-%m}.jsonl"
if os.path.exists(path):
continue # this month is already saved
body = {"query": f"{words} since:{since} until:{until}",
"order": "latest"}
rows = []
while True:
r = requests.post(URL, headers=HEADERS, json=body)
if r.status_code == 429:
time.sleep(1) # over 20 requests a second
continue
r.raise_for_status()
page = r.json()
rows += page.get("tweets", [])
if not page.get("next_cursor"):
break
body["next_cursor"] = page["next_cursor"]
with open(path, "w", encoding="utf-8") as f:
for t in rows:
f.write(json.dumps(t) + "\n")
print(since, len(rows), "tweets")
backfill('"rainfall survey" lang:en', date(2015, 1, 1), date(2021, 1, 1))
Assuntos movimentados, como uma cashtag ou um evento mundial, são melhor cortados em dias ou horas; uma hashtag tranquila cabe em um mês. Para janelas menores que um dia, os operadores do X também aceitam segundos Unix: since_time:1397692800 until_time:1397779200 é 17 de abril de 2014, em UTC.
#Quanto custa um backfill histórico
Um backfill histórico na Sorsa API custa a partir de US$ 0,07 por 1.000 tweets pela busca e a partir de US$ 0,014 por 1.000 por ID de tweet. Assim, 1 milhão de tweets históricos custa a partir de US$ 70, ou a partir de US$ 14 quando você já tem os IDs. A API oficial do X cobra US$ 5.000 pelo mesmo milhão de posts.
Tweets históricos
Você começa de
1M tweets históricos encontrados por busca, com os autores
US$ 5.000
API oficial do X
US$ 0,005 por post
até US$ 15.000 com autores a partir de 22 de nov
a partir de US$ 70
Sorsa API
a partir de US$ 0,07 por 1,000 resultados
autores incluídos
Cerca de 42 minutos na Sorsa API a 20 requisições por segundo. O limite de 3M de posts por mês da API oficial do X comporta este trabalho em um único ciclo de cobrança.
Escolha um tamanho e um ponto de partida para comparar as duas APIs e ver quanto tempo a Sorsa API leva a 20 requisições por segundo.
Em qualquer tamanho, um backfill pela busca custa cerca de 1/70 do preço da API oficial do X, e um backfill por ID cerca de 1/350.
| Tweets históricos | Sorsa API, pela busca | Sorsa API, por ID de tweet | API oficial do X, só posts | Ciclos de cobrança do X no teto de 3 milhões |
|---|---|---|---|---|
| 100 mil | a partir de US$ 7 | a partir de US$ 1,40 | US$ 500 | 1 |
| 1 milhão | a partir de US$ 70 | a partir de US$ 14 | US$ 5.000 | 1 |
| 10 milhões | a partir de US$ 700 | a partir de US$ 140 | US$ 50.000 | 4 |
| 100 milhões | a partir de US$ 7.000 | a partir de US$ 1.400 | US$ 500.000 | 34, ou Enterprise |
100 mil
- Sorsa API, pela busca
- a partir de US$ 7
- Sorsa API, por ID de tweet
- a partir de US$ 1,40
- API oficial do X, só posts
- US$ 500
- Ciclos de cobrança do X no teto de 3 milhões
- 1
1 milhão
- Sorsa API, pela busca
- a partir de US$ 70
- Sorsa API, por ID de tweet
- a partir de US$ 14
- API oficial do X, só posts
- US$ 5.000
- Ciclos de cobrança do X no teto de 3 milhões
- 1
10 milhões
- Sorsa API, pela busca
- a partir de US$ 700
- Sorsa API, por ID de tweet
- a partir de US$ 140
- API oficial do X, só posts
- US$ 50.000
- Ciclos de cobrança do X no teto de 3 milhões
- 4
100 milhões
- Sorsa API, pela busca
- a partir de US$ 7.000
- Sorsa API, por ID de tweet
- a partir de US$ 1.400
- API oficial do X, só posts
- US$ 500.000
- Ciclos de cobrança do X no teto de 3 milhões
- 34, ou Enterprise
Os preços "a partir de" usam a menor tarifa por requisição da Sorsa API; no plano Pro, os resultados de busca custam cerca de US$ 0,10 por 1.000 e os tweets por ID cerca de US$ 0,02. Requisições que falham nunca são cobradas, e o perfil do autor dentro de cada tweet não custa nada a mais.
Bom saber
A partir de 22 de novembro de 2026, a API oficial do X cobra cada objeto que uma expansão devolve pela tarifa padrão dele, como a equipe de desenvolvedores do X anunciou em 23 de outubro (abre em uma nova aba). Um post lido com o autor passa então a custar US$ 0,015 em vez de US$ 0,005. Um dataset histórico quase sempre precisa dos autores, então planeje até US$ 15,00 por 1.000 posts nela.
A API oficial do X também encerra o pagamento por uso em 3 milhões de posts lidos por ciclo de cobrança. Um backfill de 10 milhões de tweets leva quatro ciclos de cobrança, e a única forma de passar do teto é um contrato Enterprise a partir de cerca de US$ 42 mil por mês. Todas as outras tarifas oficiais estão no nosso detalhamento dos preços da API do X.
#Tweets históricos na API oficial do X
A API oficial do X serve tweets históricos pela busca no arquivo completo, GET /2/tweets/search/all, que volta até março de 2006 e devolve até 500 posts por requisição. Ela está aberta a clientes de pagamento por uso e Enterprise, segundo a documentação de busca do X (abre em uma nova aba). Antes da primeira chamada, você precisa de uma conta de desenvolvedor aprovada, um projeto e um app no Developer Console, e as chaves e os tokens do app. Cada leitura sai de créditos que você compra adiantado a US$ 0,005 por post, segundo a tabela de preços do X (abre em uma nova aba). As datas vão em start_time e end_time como timestamps ISO 8601.
Medida pelo que um backfill precisa, a Sorsa API vence em preço, dados do autor, volume e configuração, e alcança o mesmo início, março de 2006.
| API | Preço por 1.000 tweets | Perfil do autor | Volume por mês | Configuração |
|---|---|---|---|---|
| Sorsa API | a partir de US$ 0,07 pela busca, a partir de US$ 0,014 por ID | Em todo tweet, sem custo extra | Sem teto de posts, 20 requisições por segundo | Uma chave de API |
| API oficial do X | US$ 5,00 | US$ 10,00 por 1.000 autores a partir de 22 de nov. de 2026 | 3 milhões de posts, depois Enterprise | Conta de desenvolvedor, app, token OAuth, créditos pré-pagos |
Sorsa API
- Preço por 1.000 tweets
- a partir de US$ 0,07 pela busca, a partir de US$ 0,014 por ID
- Perfil do autor
- Em todo tweet, sem custo extra
- Volume por mês
- Sem teto de posts, 20 requisições por segundo
- Configuração
- Uma chave de API
API oficial do X
- Preço por 1.000 tweets
- US$ 5,00
- Perfil do autor
- US$ 10,00 por 1.000 autores a partir de 22 de nov. de 2026
- Volume por mês
- 3 milhões de posts, depois Enterprise
- Configuração
- Conta de desenvolvedor, app, token OAuth, créditos pré-pagos
Escrever é onde a API oficial do X continua no jogo: a Sorsa API é somente leitura por princípio, então nunca publica e nunca toca na sua conta do X. Para publicar, combine-a com a API oficial do X; para ler, uma chave basta, como explica o guia sobre uma API do Twitter sem conta de desenvolvedor.
#Quem podia buscar no arquivo do Twitter, de 2006 a 2026
Durante a maior parte da história do Twitter, o arquivo completo ficou atrás de contratos corporativos. Pesquisadores tiveram acesso gratuito por cerca de dois anos, e desde fevereiro de 2026 qualquer desenvolvedor pode comprá-lo do X, post a post.
A faixa Academic Research, aberta em 26 de janeiro de 2021, deu a pesquisadores aprovados busca gratuita no arquivo completo. Quando o Twitter anunciou os planos pagos (abre em uma nova aba) em 30 de março de 2023, aposentou os níveis de acesso antigos. Os acadêmicos foram encaminhados aos planos gerais enquanto a empresa buscava "novas formas de continuar atendendo a esta comunidade". O acesso acadêmico parou de funcionar naquele verão, e nenhuma faixa acadêmica voltou. Pesquisadores podem solicitar o acesso para pesquisa acadêmica da Sorsa API com um e-mail institucional. Cada concessão é feita sob medida para o estudo, de requisições no volume de que ele precisa a um desconto grande.
#O histórico de uma conta ou uma lista publicada de IDs de tweets
Para obter tudo o que uma conta postou, chame POST /user-tweets (abre em uma nova aba) com o username, o user_id ou o link do perfil e percorra o next_cursor do post mais novo ao mais antigo. Para um trecho de anos, busque from: o handle com since: e until:. O guia para baixar todos os tweets de um usuário mostra a exportação para CSV.
Reidratação é buscar os tweets completos por trás de uma lista de IDs de tweets, a forma em que a maioria dos datasets de pesquisa é compartilhada. POST /tweet-info-bulk (abre em uma nova aba) recebe até 100 IDs ou links por requisição e devolve cada tweet com o autor, a partir de US$ 0,014 por 1.000, então um dataset de 1 milhão de IDs custa a partir de US$ 14. IDs de tweets apagados ou protegidos desde a publicação voltam ausentes, então um conjunto reidratado é sempre um pouco menor que o original. Transformar o restante em dados de treinamento está em como criar um dataset do Twitter para machine learning.
#Comece seu backfill com 100 requisições grátis
Para dados históricos do Twitter, comece com a Sorsa API: todo tweet público desde 2006 por uma chave de API, a 20 requisições por segundo em todos os planos. A busca custa a partir de US$ 0,07 por 1.000 tweets, e as consultas por ID a partir de US$ 0,014 por 1.000. As 100 requisições grátis devolvem cerca de 2.000 tweets de qualquer janela de datas, sem cartão e sem prazo de validade. Obtenha um mês do seu assunto, confira e depois planeje o intervalo completo.
#Perguntas frequentes
Qual é a melhor API para dados históricos do Twitter?
Use a Sorsa API para dados históricos do Twitter: ela busca todo tweet público desde 2006 a partir de US$ 0,07 por 1.000 resultados, contra US$ 5,00 na API oficial do X. Ela aceita os próprios operadores de busca do X e devolve cada autor dentro do tweet sem custo extra. Não tem teto mensal de 3 milhões, não exige conta de desenvolvedor e roda a 20 requisições por segundo em todos os planos.
Existe uma forma gratuita de obter tweets históricos?
Sim, para trabalhos pequenos. A busca avançada do X mostra tweets antigos, uma tela por vez, a um usuário logado. A ferramenta gratuita Buscar tweets por data lista o que uma conta postou em um dia específico. Para dados que você possa exportar, as 100 requisições grátis da Sorsa API devolvem cerca de 2.000 tweets históricos pela busca ou 10 mil por ID, sem cartão.
Dá para obter tweets apagados do arquivo do Twitter?
Não. Um tweet que o autor apagou sai do índice de busca do X, então nenhuma API o devolve: nem a Sorsa API, nem a API oficial do X. Posts de contas protegidas ou suspensas estão fora de alcance do mesmo jeito. Um tweet apagado só sobrevive onde alguém salvou o texto completo antes de ele ser removido, como em um snapshot de arquivo da web.
Como funcionam since: e until: na busca do Twitter?
since:2014-04-01 devolve tweets a partir dessa data e until:2014-05-01 para antes dessa data, ambos contados em UTC, então o par cobre todo abril de 2014. Combine-os com palavras, from: ou lang: em uma consulta. Para janelas de horas, since_time: e until_time: aceitam segundos Unix. O POST /search-tweets da Sorsa API aceita os quatro operadores.
Posso baixar todo o arquivo do Twitter?
Não. Ninguém vende o arquivo inteiro de tweets públicos como um único download, e o X só permite baixar o arquivo da sua própria conta, em Configurações e privacidade. Os pesquisadores obtêm a fatia de que precisam. A Sorsa API busca qualquer palavra-chave, hashtag ou conta desde 2006 por data, a partir de US$ 0,07 por 1.000 tweets, e reconstrói listas de IDs publicadas a partir de US$ 0,014 por 1.000.
#Como verificamos
Em 2 de novembro de 2026, lemos a tabela de preços de pagamento por uso do X, a documentação de busca, o aviso de 23 de outubro de 2026 sobre as expansões de cobrança e o anúncio de 30 de março de 2023 dos planos pagos. Todo preço, limite e data da API oficial do X nesta página vem deles. No mesmo dia, conferimos cada endpoint, parâmetro e tamanho de página da Sorsa API com a nossa referência da API ao vivo e a documentação dos operadores de busca. A requisição e a resposta foram montadas a partir dessa referência com uma conta de demonstração, e os custos e os tempos são aritmética sobre as tarifas publicadas.
Fontes
- X API pay-per-usage pricing (abre em uma nova aba)
- X API: Search Posts, recent and full-archive (abre em uma nova aba)
- X Developers: PPU expansions update (Oct 23, 2026) (abre em uma nova aba)
- Twitter: announcing new access tiers (Mar 30, 2023) (abre em uma nova aba)
- X Blog: full-archive search API (Aug 11, 2015) (abre em uma nova aba)
- Sorsa API docs: search operators (abre em uma nova aba)
- Sorsa API docs: historical data (abre em uma nova aba)
- Sorsa API reference (OpenAPI)