Skip to main content
Powerstream es nuestra API de streaming de menor latencia para acceder a datos públicos de X en tiempo real. A diferencia de otros endpoints de streaming que priorizan la hidratación y entrega de datos (con ~6-7 segundos de latencia P99), Powerstream está optimizado para la velocidad y entrega los datos con un retraso mínimo. Al igual que la antigua GNIP Powertrack API, utiliza rules para filtrar Posts según palabras clave, operadores y metadatos. Una vez que se establece una conexión HTTP persistente con el endpoint de Powerstream, puedes comenzar a recibir Posts coincidentes en tiempo real. Actualmente, Powerstream admite hasta 1.000 rules y cada rule puede tener 2048 caracteres.

Características clave

  • Entrega de datos en tiempo real: Opción de menor latencia para transmitir Posts a medida que se publican.
  • Filtrado preciso: Filtra exactamente los datos que buscas usando consultas booleanas con operadores.
  • Entrega: Respuesta JSON sobre HTTP/1.1 con codificación chunked.
  • Soporte de datacenter local: Obtén Posts solo del datacenter local para reducir aún más la latencia evitando el retardo de replicación.
La Powerstream API es una oferta premium disponible bajo planes Enterprise seleccionados.Si te interesa acceder a Powerstream o conocer más sobre nuestras ofertas Enterprise, comunícate con nuestro equipo de Ventas enviando el Formulario de solicitud Enterprise. Con gusto discutiremos cómo Powerstream puede apoyar tus necesidades.

Inicio rápido

Esta sección muestra cómo empezar rápidamente con los endpoints de PowerStream usando Python con la librería requests. Instálala vía pip install requests. Todos los ejemplos usan autenticación OAuth 2.0 Bearer Token. Reemplaza YOUR_BEARER_TOKEN con tu token real (guárdalo de forma segura, por ejemplo, vía os.getenv('BEARER_TOKEN')). Cubriremos cada endpoint con fragmentos de código. Asume estos imports al inicio:

Configuración

1. Crear rules (POST /rules)

Agrega rules para filtrar tu stream.
Ejemplo

2. Eliminar rules (POST /rules)

Elimina rules por ID (recomendado) o por valor.
Ejemplo
Tip: Para eliminar todas las rules, primero hazles GET, extrae los IDs y luego elimínalas en bloque.

3. Obtener rules (GET /rules)

Obtén todas las rules activas.

4. PowerStream (GET /stream)

Conéctate al stream para recibir Posts en tiempo real y con baja latencia. Usa stream=True para lectura línea por línea. Implementa lógica de reconexión para robustez.
Ejemplo

Soporte de datacenter local

Para la optimización de latencia, Powerstream ofrece la opción de obtener solo posts originados o creados en el datacenter local donde se establece la conexión. Esto evita el retardo de replicación, lo que resulta en una entrega más rápida en comparación con posts de otros datacenters. Para habilitarlo, agrega el parámetro de consulta ?localDcOnly=true al endpoint de stream (por ejemplo, /2/powerstream?localDcOnly=true). El datacenter al que estés conectado se indicará tanto en el payload inicial del stream como en una cabecera HTTP de la respuesta. Para usarlo en el código:
Si el parámetro localDcOnly está habilitado, cuando el stream se conecte por primera vez, incluirá las siguientes cabeceras de respuesta que indican qué datacenter local se está usando:
Además, también enviará un payload inicial que especifica el datacenter:
Tip: Para optimizar la latencia, configura conexiones desde diferentes ubicaciones geográficas (por ejemplo, una cerca de Atlanta en la costa este de EE. UU. y otra cerca de Portland en la costa oeste de EE. UU.), habilitando localDcOnly=true para cada una. Esto proporciona un acceso más rápido a los posts de cada datacenter correspondiente. Agrega los streams en tu extremo para combinar datos entre datacenters.

Operadores

Para establecer rules de filtrado, puedes usar palabras clave y operadores.

Operadores de Powerstream

Lista completa de operadores disponibles

Respuestas

El payload de la Powerstream API tiene el mismo formato que la antigua GNIP Powertrack API. Una respuesta JSON de ejemplo se ve así:
Respuesta de ejemplo

Límites y buenas prácticas

  • Límites de tasa: 50 solicitudes/24 h para la gestión de rules; sin límite en streams (pero se aplican límites de conexión).
  • Reconexión: Backoff exponencial en desconexiones.
  • Monitoreo: Usa las cabeceras Connection: keep-alive.

Fundamentos de streaming

Consumo de datos de streaming

Buenas prácticas para clientes de streaming

Manejo de desconexiones

Reconéctate de forma elegante

Capacidad de alto volumen

Maneja alto rendimiento

Recuperación y redundancia

Construye aplicaciones resilientes