Skip to main content
Powerstream é nossa streaming API de menor latência para acessar dados públicos do X em tempo real. Ao contrário de outros endpoints de streaming que priorizam a hidratação e a entrega de dados (com latência P99 de ~6-7 segundos), o Powerstream é otimizado para velocidade e entrega dados com atraso mínimo. Semelhante à legada GNIP Powertrack API, ele usa regras para filtrar Posts com base em palavras-chave, operadores e metadados. Após uma conexão HTTP persistente ser estabelecida com o endpoint Powerstream, você pode começar a receber Posts correspondentes em tempo real. Atualmente, o Powerstream suporta até 1.000 regras e cada regra pode ter 2048 caracteres.

Recursos principais

  • Entrega de dados em tempo real: Opção de menor latência para transmitir Posts assim que são publicados.
  • Filtragem precisa: Filtre exatamente os dados que você procura usando consultas booleanas com operadores.
  • Entrega: Resposta JSON via HTTP/1.1 chunked transfer encoding.
  • Suporte a datacenter local: Busque Posts apenas do datacenter local para reduzir ainda mais a latência, evitando o atraso de replicação.
A Powerstream API é uma oferta premium disponível em planos Enterprise selecionados.Se você estiver interessado em acessar o Powerstream ou saber mais sobre nossas ofertas Enterprise, entre em contato com nosso time de Vendas enviando o Enterprise Request Form. Teremos prazer em discutir como o Powerstream pode atender às suas necessidades.

Início rápido

Esta seção mostra como começar rapidamente com os endpoints do PowerStream usando Python com a biblioteca requests. Instale-a via pip install requests. Todos os exemplos usam autenticação OAuth 2.0 Bearer Token. Substitua YOUR_BEARER_TOKEN pelo seu token real (armazene-o com segurança, por exemplo, via os.getenv('BEARER_TOKEN')). Vamos cobrir cada endpoint com trechos de código. Assuma estas importações no topo:

Configuração

1. Criar regras (POST /rules)

Adicione regras para filtrar seu stream.
Exemplo

2. Excluir regras (POST /rules)

Remova regras por ID (recomendado) ou por valor.
Exemplo
Dica: Para excluir todas as regras, primeiro faça um GET, extraia os IDs e, em seguida, exclua em lote.

3. Obter regras (GET /rules)

Busque todas as regras ativas.

4. PowerStream (GET /stream)

Conecte-se ao stream para receber Posts em tempo real e com baixa latência. Use stream=True para leitura linha a linha. Implemente lógica de reconexão para maior robustez.
Exemplo

Suporte a datacenter local

Para otimização de latência, o Powerstream oferece uma opção para buscar apenas posts que se originaram ou foram criados no datacenter local onde uma conexão é estabelecida. Isso evita o atraso de replicação, resultando em entrega mais rápida em comparação com posts de outros datacenters. Para habilitar isso, adicione o parâmetro de consulta ?localDcOnly=true ao endpoint do stream (por exemplo, /2/powerstream?localDcOnly=true). O datacenter ao qual você está conectado será indicado tanto no payload de dados inicial do stream quanto como um header HTTP na resposta. Para usar no código:
Se o parâmetro localDcOnly estiver habilitado, quando o stream se conectar pela primeira vez, ele incluirá os seguintes headers de resposta indicando qual datacenter local está sendo usado:
Além disso, também enviará um payload inicial especificando o datacenter:
Dica: Para otimizar a latência, configure conexões a partir de diferentes locais geográficos (por exemplo, uma próxima a Atlanta na costa leste dos EUA e outra próxima a Portland na costa oeste dos EUA), habilitando localDcOnly=true para cada uma. Isso fornece acesso mais rápido a posts de cada datacenter respectivo. Agregue os streams do seu lado para combinar dados entre datacenters.

Operadores

Para definir regras de filtragem, você pode usar palavras-chave e operadores.

Operadores do Powerstream

Lista completa dos operadores disponíveis

Respostas

O payload da Powerstream API tem o mesmo formato da legada GNIP Powertrack API. Um exemplo de resposta JSON é semelhante a:
Exemplo de resposta

Limites e melhores práticas

  • Rate Limits: 50 requisições/24h para gerenciamento de regras; sem limite em streams (mas se aplicam limites de conexão).
  • Reconexão: Backoff exponencial em desconexões.
  • Monitoramento: Use os headers Connection: keep-alive.

Fundamentos de streaming

Consumindo dados de streaming

Melhores práticas para clientes de streaming

Lidando com desconexões

Reconecte-se de forma elegante

Capacidade de alto volume

Lide com alta vazão

Recuperação e redundância

Construa aplicações resilientes