API e scraper do Twitter (X) para pesquisa acadêmica
Busque em todo o histórico desde 2006, reidrate IDs de posts de 100 em 100, obtenha timelines, respostas e seguidores. O acesso acadêmico é adaptado ao seu estudo: de requisições concedidas ao seu projeto a grandes descontos.
Sem cartão de crédito, e elas nunca expiram.
Para preciso de cerca de
O acesso acadêmico vai além: adaptado ao seu estudo, de requisições concedidas a grandes descontos.
Fazer o pedido com este planoAcesso acadêmico, montado em torno do seu estudo
Requisições concedidas para o seu estudo
Adicionamos à sua conta da Sorsa API as requisições de que o projeto precisa.
Um grande desconto em um plano
Para projetos longos ou grandes: qualquer plano a um preço acadêmico.
O que todo projeto aprovado recebe
- Todos os endpoints
- 20 requisições por segundo
- A mesma documentação e a mesma API de todos
- Respostas rápidas da equipe
Quem pode fazer o pedido
- Doutorandos
- Mestrandos
- Docentes
- Pós-doutorandos
- Equipes de pesquisa
- Pesquisadores de ONGs e redações
Pesquisa não comercial em qualquer área, com pedido feito de um e-mail institucional.
Faça o pedido em cerca de dois minutos. Enquanto isso, suas 100 requisições grátis funcionam em todos os endpoints.
Pedir acesso acadêmicoTodos os métodos de que o seu estudo precisa
Uma chave de API, os mesmos endpoints para 2006 e para hoje de manhã.
Busca no histórico
Corpora por palavra-chave, janelas de eventos, séries temporais longas.
"heat wave" lang:en since:2022-07-01 until:2022-08-01 -filter:nativeretweetsCerca de 20 posts por requisição, até 2006
Posts por ID
Reidrate um dataset compartilhado ou replique um corpus publicado.
POST /tweet-info-bulk {"tweet_links": [100 IDs]}100 posts por requisição, cada um com seu autor
Timelines de contas
Painéis de políticos, jornalistas ou organizações.
from: + datas, ou /user-tweets para todo o histórico de uma contaCerca de 20 posts por requisição, sem teto de 3.200 posts
Conversas
Árvores de respostas, cadeias de quotes, quem deu retweet.
/comments, /quotes, /retweetersCerca de 20 por requisição
Redes
Seguidores e seguidos de qualquer conta pública.
/followers?username=…200 perfis por página
Perfis e contexto da conta
Perfis de 100 em 100; país, mudanças de username e verificação em Sobre esta conta.
/info-batch, /about100 perfis por requisição
Listas, Comunidades, Spaces
Uma Lista do X acompanha até 5.000 contas; posts e membros de comunidades; metadados de Spaces.
/list-tweets?list_id=…Cerca de 20 posts por requisição
Operadores de busca, paginação e tamanhos de página estão na documentação: Dados históricos, Operadores de busca, Posts por ID.
Cada post chega com suas variáveis
Em resposta a @heat_records_archive
Nosso dataset aberto saiu: 1,2 milhão de posts sobre as ondas de calor de 2022 na Europa, com os IDs dos posts e o código para reidratá-los. #heatwave
10:42, 18 de ago. de 2023
96,4 mil visualizações211 itens salvos
42 respostas318 reposts27 quotes1,2 mil curtidas
userusername, followers_count, created_at, verified, locationconversation_id_strin_reply_to_tweet_idO lugar dele em uma threadfull_textlangCada palavra e o idiomaentitiesMídia e linkscreated_atData da postagem, com segundosview_countbookmark_countVisualizações e itens salvoslikes_countretweet_countreply_countquote_countEngajamento, como está no momentoPlaneje seu desenho de pesquisa levando isto em conta
Posts apagados e contas protegidas não são retornados. Uma lista reidratada volta menor que a original.
Os contadores são os de hoje. Curtidas, visualizações e seguidores são os do momento da coleta; para ver a evolução, colete de forma programada e guarde cada snapshot.
Os perfis são os atuais. Um post de 2014 vem com o perfil do autor como ele é agora.
Você consulta, nada chega por streaming. Os posts novos chegam quando você pede; uma requisição lê uma Lista do X de até 5.000 contas.
Não disponível: quem curtiu um post, curtidas ou itens salvos de um usuário, DMs, listas de seguidores do passado.
Teste seu intervalo de datas com as requisições grátis antes de planejar a coleta completa.
De uma lista de IDs a um dataset
import csv, json, time, requests
URL = "https://api.sorsa.io/v3/tweet-info-bulk"
KEY = "YOUR_API_KEY"
ids = [row[0] for row in csv.reader(open("tweet_ids.csv"))]
with open("tweets.ndjson", "w") as out:
for i in range(0, len(ids), 100):
while True:
r = requests.post(URL, headers={"ApiKey": KEY},
json={"tweet_links": ids[i:i + 100]})
if r.status_code != 429:
break
time.sleep(1) # 20 requests per second per key
r.raise_for_status()
for tweet in r.json()["tweets"]:
out.write(json.dumps(tweet) + "\n")library(httr2)
library(jsonlite)
ids <- readLines("tweet_ids.txt")
batches <- split(ids, ceiling(seq_along(ids) / 100))
fetch <- function(batch) {
resp <- request("https://api.sorsa.io/v3/tweet-info-bulk") |>
req_headers(ApiKey = Sys.getenv("SORSA_API_KEY")) |>
req_body_json(list(tweet_links = as.list(batch))) |>
req_retry(max_tries = 5) |>
req_perform()
resp_body_json(resp)$tweets
}
tweets <- unlist(lapply(batches, fetch), recursive = FALSE)
write_json(tweets, "tweets.json", auto_unbox = TRUE)- Um milhão de IDs leva cerca de oito minutos a 20 requisições por segundo.
- Requisições com falha nunca são cobradas.
- Vai escrever com um assistente de IA? Dê ao Claude Code, ao Cursor ou ao Codex nosso arquivo de documentação, ou conecte o servidor MCP. Crie com IA
Para o seu comitê de ética e a sua seção de métodos
O que os avaliadores perguntam
- Quais dados?
- Apenas posts e perfis públicos. Sem contas protegidas, sem DMs.
- Há alguma interação?
- Nenhuma. A Sorsa API é somente leitura: nunca posta, curte, segue nem envia mensagens.
- De quem é a conta?
- Nenhuma conta ou login do X é usado, nem o seu nem o de ninguém.
- O que o fornecedor guarda?
- Quais requisições você fez, por um ano; as respostas completas, por 30 dias.
- Quem fica sabendo do projeto?
- O X nunca fica sabendo quem está perguntando: sua chave, sua conta e sua identidade ficam conosco.
- Onde fica a sua cópia?
- Onde o seu plano de gestão de dados determinar. Ela é sua.
- Documentação?
- Sob pedido, escrevemos uma carta curta sobre a fonte dos dados para o seu comitê de ética.
O parágrafo de métodos
2.1 Coleta de dados
Os posts foram coletados por meio da Sorsa API (https://api.sorsa.io), uma API independente para dados públicos do X (Twitter), usando a busca em todo o histórico para o período de 1º de janeiro a 31 de março de 2024.
Vai compartilhar seu dataset? Compartilhe os IDs dos posts e o seu código, para que outras pessoas possam reidratar e conferir seu trabalho.
Pedir acesso acadêmico
Cerca de dois minutos. Uma pessoa da nossa equipe lê cada pedido e responde por e-mail.
O que acontece depois
- 1
Envie o formulário.
- 2
Nós lemos.
Se algo não estiver claro, perguntamos.
- 3
Combinamos seu acesso.
As requisições de que o estudo precisa, ou um grande desconto, durante todo o projeto.
- 4
Você coleta.
O acesso aparece na sua conta da Sorsa API; toda chave roda a 20 requisições por segundo.
Enquanto isso, suas 100 requisições grátis funcionam em todos os endpoints. Comece com 100 requisições grátis
Prefere e-mail? Escreva para contacts@sorsa.io do seu endereço institucional.
O que os pesquisadores perguntam
Leia também
API e scraper do Twitter (X) para pesquisa acadêmica
Acesso acadêmico adaptado ao seu estudo, de requisições concedidas a grandes descontos.
Acesso acadêmico, montado em torno do seu estudo
- Requisições concedidas para o seu estudoAdicionamos à sua conta da Sorsa API as requisições de que o projeto precisa.
- Um grande desconto em um planoPara projetos longos ou grandes: qualquer plano a um preço acadêmico.
Todos os métodos de que o seu estudo precisa
Uma chave de API, os mesmos endpoints para 2006 e para hoje de manhã.
Cada post chega com suas variáveis
userEm resposta a @heat_records_archive
in_reply_to_tweet_idNosso dataset aberto já saiu: 1,2 milhão de posts sobre as ondas de calor europeias de 2022, com os IDs dos posts e o código para reidratá-los. #heatwave
full_text10:42, 18 de ago. de 2023
created_at42 Respostas318 Reposts27 Citações1,2 mil Curtidas
likes_count …Posts antigos vêm com os mesmos campos dos de hoje.
De uma lista de IDs a um dataset
import csv, json, time, requests
URL = "https://api.sorsa.io/v3/tweet-info-bulk"
KEY = "YOUR_API_KEY"
ids = [row[0] for row in csv.reader(open("tweet_ids.csv"))]
with open("tweets.ndjson", "w") as out:
for i in range(0, len(ids), 100):
while True:
r = requests.post(URL, headers={"ApiKey": KEY},
json={"tweet_links": ids[i:i + 100]})
if r.status_code != 429:
break
time.sleep(1) # 20 requests per second per key
r.raise_for_status()
for tweet in r.json()["tweets"]:
out.write(json.dumps(tweet) + "\n")library(httr2)
library(jsonlite)
ids <- readLines("tweet_ids.txt")
batches <- split(ids, ceiling(seq_along(ids) / 100))
fetch <- function(batch) {
resp <- request("https://api.sorsa.io/v3/tweet-info-bulk") |>
req_headers(ApiKey = Sys.getenv("SORSA_API_KEY")) |>
req_body_json(list(tweet_links = as.list(batch))) |>
req_retry(max_tries = 5) |>
req_perform()
resp_body_json(resp)$tweets
}
tweets <- unlist(lapply(batches, fetch), recursive = FALSE)
write_json(tweets, "tweets.json", auto_unbox = TRUE)- Um milhão de IDs leva cerca de oito minutos a 20 requisições por segundo.
- Requisições com falha nunca são cobradas.
- Escrevendo com um assistente de IA? Crie com IA
Para o seu comitê de ética e a sua seção de métodos
Quais dados?
Apenas posts e perfis públicos. Sem contas protegidas, sem DMs.
Há alguma interação?
Nenhuma. A Sorsa API é somente leitura: nunca posta, curte, segue nem envia mensagens.
De quem é a conta?
Nenhuma conta ou login do X é usado, nem o seu nem o de ninguém.
O que o fornecedor guarda?
Quais requisições você fez, por um ano; as respostas completas, por 30 dias.
Quem fica sabendo do projeto?
O X nunca fica sabendo quem está perguntando: sua chave, sua conta e sua identidade ficam conosco.
Onde fica a sua cópia?
Onde o seu plano de gestão de dados determinar. Ela é sua.
Documentação?
Sob pedido, escrevemos uma carta curta sobre a fonte dos dados para o seu comitê de ética.
Pedir acesso acadêmico
Cerca de dois minutos. Uma pessoa da nossa equipe lê cada uma.Cerca de dois minutos. Respondemos por e-mail.
- 1Enviar
- 2Nós lemos
- 3Combinamos
- 4Você coleta
Prefere e-mail? Escreva para contacts@sorsa.io com o seu endereço institucional.
O que os pesquisadores perguntam
Leia também
Quem pode fazer o pedido
- Doutorandos
- Mestrandos
- Docentes
- Pós-doutorandos
- Equipes de pesquisa
- Pesquisadores de ONGs e redações
- Graduandos escrevendo o TCC
- Professores que dão um curso
Pesquisa não comercial em qualquer área, com pedido feito de um e-mail institucional.
Pedir acesso acadêmicoBusca no histórico
Corpora por palavra-chave, janelas de eventos, séries temporais longas.
"heat wave" lang:en since:2022-07-01 until:2022-08-01 -filter:nativeretweetsCerca de 20 posts por requisição, até 2006
Abrir na documentaçãoPosts por ID
Reidrate um dataset compartilhado ou replique um corpus publicado.
POST /tweet-info-bulk {"tweet_links": [100 IDs]}100 posts por requisição, cada um com seu autor
Abrir na documentaçãoTimelines de contas
Painéis de políticos, jornalistas ou organizações.
from: + datas, ou /user-tweets para todo o histórico de uma contaCerca de 20 posts por requisição, sem teto de 3.200 posts
Abrir na documentaçãoConversas
Árvores de respostas, cadeias de quotes, quem deu retweet.
/comments, /quotes, /retweetersCerca de 20 por requisição
Abrir na documentaçãoRedes
Seguidores e seguidos de qualquer conta pública.
/followers?username=…200 perfis por página
Abrir na documentaçãoPerfis e contexto da conta
Perfis de 100 em 100; país, mudanças de username e verificação em Sobre esta conta.
/info-batch, /about100 perfis por requisição
Abrir na documentaçãoListas, Comunidades, Spaces
Uma Lista do X acompanha até 5.000 contas; posts e membros de comunidades; metadados de Spaces.
/list-tweets?list_id=…Cerca de 20 posts por requisição
Abrir na documentaçãoPlaneje seu desenho de pesquisa levando isto em conta
Posts apagados e contas protegidas não são retornados. Uma lista reidratada volta menor que a original.
Os contadores são os de hoje. Curtidas, visualizações e seguidores são os do momento da coleta; para ver a evolução, colete de forma programada e guarde cada snapshot.
Os perfis são os atuais. Um post de 2014 vem com o perfil do autor como ele é agora.
Você consulta, nada chega por streaming. Os posts novos chegam quando você pede; uma requisição lê uma Lista do X de até 5.000 contas.
Não disponível: quem curtiu um post, curtidas ou itens salvos de um usuário, DMs, listas de seguidores do passado.
Teste seu intervalo de datas com as requisições grátis antes de planejar a coleta completa.
O parágrafo de métodos
2.1 Coleta de dados
Posts were collected through Sorsa API (https://api.sorsa.io), an independent API for public X (Twitter) data, using full-archive search for 1 January to 31 March 2024.
Vai compartilhar seu dataset? Compartilhe os IDs dos posts e o seu código, para que outras pessoas possam reidratar e conferir seu trabalho.
Quem pode fazer o pedido?
Doutorandos, mestrandos, docentes, pós-docs e equipe de pesquisa de universidades e institutos de pesquisa, para pesquisa não comercial em qualquer disciplina.Doutorandos, mestrandos, docentes e pós-docs de universidades e institutos de pesquisa, para pesquisa não comercial em qualquer disciplina. Inscreva-se com o seu e-mail institucional.
O que o acesso acadêmico inclui?
Acesso sob medida para o seu estudo: das requisições de que ele precisa, concedidas à sua conta, a um grande desconto em um plano. Todos os endpoints, 20 requisições por segundo, a mesma documentação e o mesmo suporte de todo cliente.
O que acontece depois que faço o pedido?
Cerca de dois minutos. Uma pessoa da nossa equipe lê cada pedido e responde por e-mail.Analisamos seu pedido e respondemos por e-mail. Uma pessoa da nossa equipe lê seu pedido e responde por e-mail. Se algo não estiver claro, perguntamos; depois combinamos o volume e o período com você e adicionamos o acesso à sua conta da Sorsa API.
Posso começar antes de receber a resposta?
Sim. Toda conta recebe 100 requisições grátis: sem cartão, nunca expiram e funcionam em todos os endpoints. São até 10.000 posts por ID ou 20.000 perfis de seguidores, o bastante para testar suas consultas.
Não tenho e-mail institucional.
Faça o pedido com o e-mail que você usa e adicione um link para sua página de docente, de laboratório, ORCID ou Google Scholar, para podermos ver sua afiliação.
Até quando os dados vão?
Até 2006. A busca em todo o histórico aceita os operadores do próprio X: from:, to:, since:, until:, lang:, frases exatas, hashtags e filtros de engajamento. As timelines de contas voltam até o primeiro post, sem teto de 3.200 posts.
Posso reidratar um dataset de IDs de posts?
Sim: 100 IDs por requisição, cada post com o perfil completo do autor. Um milhão de IDs exige 10.000 requisições, cerca de oito minutos a 20 requisições por segundo. Posts apagados ou que se tornaram privados desde a coleta original não voltam, então espere menos posts que IDs.
O que não está nos dados?
Posts apagados, contas protegidas, DMs, listas de quem curtiu um post, curtidas e itens salvos de um usuário e listas de seguidores como eram no passado. Contadores e perfis são os do momento da coleta. Nada chega por streaming: você consulta, e uma requisição lê uma Lista do X de até 5.000 contas.
O que devo dizer ao meu comitê de ética?
Que os dados são posts e perfis públicos; que a Sorsa API é somente leitura e nunca posta, curte, segue nem envia mensagens; que não há conta nem login do X envolvidos; e que você não contata as pessoas nos dados. Guardamos um registro das suas requisições por um ano e as respostas completas por 30 dias. Sob pedido, escrevemos uma carta curta sobre a fonte dos dados.
Posso compartilhar meu dataset?
Compartilhe os IDs dos posts e o seu código de coleta: qualquer pessoa pode reidratá-los e conferir seu trabalho. O quanto mais você compartilha depende da sua aprovação ética e do seu plano de gestão de dados.
Como citar a Sorsa API?
Na seção de métodos: “Data were collected through Sorsa API (https://api.sorsa.io), an independent API for public X (Twitter) data.” O BibTeX está na seção 5 desta página.
Meus coautores podem usar o mesmo acesso?
Sim. Sua conta tem várias chaves de API: dê uma a cada pessoa e veja o uso de cada chave no painel.
Vocês podem emitir nota fiscal para a minha universidade?
Sim. Avise no pedido e providenciamos uma nota fiscal para o seu projeto.
O que o X oferece hoje aos pesquisadores?
O X encerrou o programa Academic Research em 2023. A API de pagamento por uso cobra US$ 0,005 por post e US$ 0,010 por perfil; a via da UE pela Lei de Serviços Digitais cobre apenas pesquisa sobre riscos sistêmicos na UE, com um pedido separado. A Sorsa API funciona para qualquer área e tema, com uma chave e sem conta de desenvolvedor do X.
Como isso se compara a outras ofertas acadêmicas?
A TwitterAPI.io reembolsa metade do que um projeto de pesquisa gasta, até US$ 200, depois do pagamento. A Sorsa API adapta o acesso ao seu estudo antes da coleta, de requisições concedidas a grandes descontos.
Meu projeto é comercial.
Então há um plano que serve: posts a partir de US$ 0,014 por 1.000, todos os endpoints em todos os planos. Para volumes maiores, fale com o comercial.
Todas as 16 perguntas
Nenhuma pergunta combina. Escreva para contacts@sorsa.io.