Skip to main content
Powerstream es nuestra API de streaming en tiempo real más rápida para acceder a datos públicos de X. Al igual que la API heredada GNIP Powetrack, utiliza reglas para filtrar Publicaciones según palabras clave, operadores y metadatos. Una vez que se establece una conexión HTTP persistente con el endpoint de Powerstream, puedes empezar a recibir Publicaciones que coincidan casi en tiempo real. Actualmente, Powerstream permite definir hasta 1.000 reglas y cada regla puede tener 2048 caracteres.

Características clave:

  • Entrega de datos en tiempo real: Obtén datos que cumplan tus reglas casi en tiempo real.
  • Filtrado preciso: Filtra exactamente los datos que estás buscando usando consultas booleanas con operadores.
  • Entrega: Respuesta JSON mediante HTTP/1.1 con codificación de transferencia fragmentada (chunked transfer encoding).
  • Compatibilidad con centros de datos locales: Obtén Publicaciones solo del centro de datos local para reducir la latencia al evitar el retardo de replicación.
La API de Powerstream es una oferta premium disponible en determinados planes Enterprise.Si estás interesado en acceder a Powerstream o en obtener más información sobre nuestras soluciones Enterprise, comunícate con nuestro equipo de ventas enviando el Formulario de solicitud Enterprise. Estaremos encantados de analizar cómo Powerstream puede satisfacer tus necesidades.

Inicio rápido

Esta sección muestra cómo comenzar rápidamente con los endpoints de PowerStream usando Python con la biblioteca requests. Instálala con pip install requests. Todos los ejemplos usan autenticación OAuth 2.0 con Bearer Token. Reemplaza YOUR_BEARER_TOKEN con tu token real (almacénalo de forma segura, por ejemplo, mediante os.getenv('BEARER_TOKEN')). Veremos cada endpoint con fragmentos de código. Supón que tienes estas importaciones al inicio:

Configuración

1. Crear reglas (POST /rules)

Añade reglas para filtrar tu stream.

2. Eliminar reglas (POST /rules)

Elimina reglas mediante id (recomendado) o por valor.
Consejo: Para eliminar todas las reglas, primero obténlas con GET, extrae sus id y luego elimínalas en bloque.

3. Obtener reglas (GET /rules)

Obtén todas las reglas activas.

4. PowerStream (GET /stream)

Conéctate al stream para recibir Publicaciones en tiempo real. Usa stream=True para la lectura línea por línea. Implementa lógica de reconexión para mayor robustez.

Compatibilidad con el centro de datos local

Para optimizar la latencia, Powerstream ofrece una opción para recuperar solo las Publicaciones que se originaron o se crearon en el centro de datos local donde se establece la conexión. Esto evita la latencia de replicación, lo que resulta en una entrega más rápida en comparación con las Publicaciones de otros centros de datos. Para habilitar esto, agrega el parámetro de consulta ?localDcOnly=true al endpoint del stream (por ejemplo, /2/powerstream?localDcOnly=true). El centro de datos al que estás conectado se indicará tanto en la carga inicial de datos del stream como en un encabezado HTTP en la respuesta. Para usarlo en código:
Si el parámetro localDcOnly está activado, cuando el stream se conecte por primera vez incluirá las siguientes cabeceras de respuesta, que indican qué centro de datos local se está utilizando:
Además, enviará una carga útil inicial que especifica el centro de datos:
Consejo: 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 acceso más rápido a las Publicaciones desde cada centro de datos correspondiente. Agrega los streams de tu lado para combinar los datos entre centros de datos.

Operadores

Para definir reglas de filtrado, puedes usar palabras clave y operadores. Consulta la lista de operadores disponibles a continuación.

Operadores por campo

Operadores de usuario

Operadores de contenido

Operadores de entidades

Operadores de ubicación

Operadores avanzados/de contenido

Operadores adicionales

Operadores no basados en campos

Operadores de sintaxis especial

Operadores lógicos

Respuestas

La carga útil de la API Powestream tiene el mismo formato que la API PowerTrack heredada de GNIP. Un ejemplo de respuesta JSON es el siguiente:

Límites y mejores prácticas

  • Límites de tasa: 50 solicitudes/24 h para la gestión de reglas; sin límite en streams (pero se aplican límites de conexión).
  • Reconexión: backoff exponencial en caso de desconexión.
  • Monitoreo: usa encabezados Connection: keep-alive.