Skip to main content
Powerstream est notre API de streaming en temps réel la plus rapide pour accéder aux données publiques de X. Similaire à l’API GNIP Powetrack héritée, elle utilise des règles pour filtrer les Publications en fonction de mots-clés, d’opérateurs et de métadonnées. Une fois qu’une connexion HTTP persistante est établie avec l’endpoint Powerstream, vous pouvez commencer à recevoir les Publications correspondantes presque en temps réel. Actuellement, Powerstream prend en charge jusqu’à 1 000 règles et chaque règle peut comporter 2 048 caractères.

Fonctionnalités clés :

  • Diffusion de données en temps réel : recevez presque en temps réel les données correspondant à vos règles.
  • Filtrage précis : filtrez exactement les données que vous recherchez à l’aide de requêtes booléennes et d’opérateurs.
  • Diffusion : réponse JSON via l’encodage de transfert fragmenté HTTP/1.1 (chunked transfer encoding).
  • Prise en charge du centre de données local : récupérez des Publications uniquement depuis le centre de données local pour réduire la latence en évitant le décalage dû à la réplication.
L’API Powerstream est une offre premium disponible dans le cadre de certains abonnements Enterprise.Si vous souhaitez accéder à Powerstream ou en savoir plus sur nos offres Enterprise, veuillez contacter notre équipe commerciale en remplissant le formulaire de demande Enterprise. Nous serons ravis d’échanger sur la manière dont Powerstream peut répondre à vos besoins.

Démarrage rapide

Cette section explique comment démarrer rapidement avec les endpoints PowerStream en Python à l’aide de la bibliothèque requests. Installez-la via pip install requests. Tous les exemples utilisent l’authentification OAuth 2.0 par Jeton Bearer. Remplacez YOUR_BEARER_TOKEN par votre jeton réel (stockez-le de manière sécurisée, par exemple via os.getenv('BEARER_TOKEN')). Nous passerons en revue chaque endpoint avec des extraits de code. Supposons ces imports en haut du fichier :

Configuration

1. Créer des règles (POST /rules)

Ajoutez des règles pour filtrer votre flux.

2. Supprimer des règles (POST /rules)

Supprimez des règles via leur ID (recommandé) ou leur valeur.
Astuce : pour supprimer toutes les règles, commencez par les récupérer avec GET, extrayez les identifiants, puis supprimez-les en une seule opération.

3. Récupérer les règles (GET /rules)

Récupérez toutes les règles actives.

4. PowerStream (GET /stream)

Connectez-vous au flux en temps réel de Publications. Utilisez stream=True pour une lecture ligne à ligne. Implémentez une logique de reconnexion pour améliorer la robustesse.

Prise en charge du centre de données local

Pour optimiser la latence, Powerstream offre une option permettant de récupérer uniquement les Publications qui ont été créées dans le centre de données local où la connexion est établie. Cela évite le décalage de réplication, ce qui se traduit par une diffusion plus rapide que pour les Publications provenant d’autres centres de données. Pour activer cette option, ajoutez le paramètre de requête ?localDcOnly=true au point de terminaison du flux (par exemple, /2/powerstream?localDcOnly=true). Le centre de données auquel vous êtes connecté sera indiqué à la fois dans la charge utile de données initiale du flux et dans un en-tête HTTP de la réponse. Pour l’utiliser dans du code :
Si le paramètre localDcOnly est activé, lorsque le flux se connecte pour la première fois, il inclura les en-têtes de réponse suivants, précisant le centre de données local utilisé :
En outre, il enverra un payload initial précisant le centre de données :
Conseil : Pour optimiser la latence, configurez des connexions depuis différentes zones géographiques (par exemple, une près d’Atlanta sur la côte Est des États-Unis et une autre près de Portland sur la côte Ouest), en activant localDcOnly=true pour chacune. Cela permet un accès plus rapide aux Publications depuis chaque centre de données. Agrégez les flux de votre côté pour combiner les données provenant de plusieurs centres de données.

Opérateurs

Pour définir des règles de filtrage, vous pouvez utiliser des mots-clés et des opérateurs. Consultez la liste des opérateurs disponibles ci-dessous.

Opérateurs par champ

Opérateurs utilisateur

Opérateurs de contenu

Opérateurs d’entités

Opérateurs de localisation

Opérateurs avancés/de contenu

Opérateurs supplémentaires

Opérateurs sans champ

Opérateurs de syntaxe spéciale

Opérateurs logiques

Réponses

La charge utile de l’API Powestream est au même format que celle de l’ancienne API GNIP Powertrack. Voici un exemple de réponse JSON :

Limites & Bonnes pratiques

  • Limites de taux : 50 requêtes/24 h pour la gestion des règles ; aucune limite pour les flux (mais des limites de connexion s’appliquent).
  • Reconnexion : backoff exponentiel en cas de déconnexion.
  • Surveillance : utilisez les en-têtes Connection: keep-alive.