Passer au contenu principal
Les endpoints Filtered Stream vous permettent de recevoir en temps réel les Publications qui correspondent à vos règles de filtrage. Créez des règles à l’aide d’opérateurs puissants, puis connectez-vous à un flux persistant pour recevoir les Publications correspondantes dès leur publication.

Vue d’ensemble

Diffusion en temps réel

Recevez des Publications quelques secondes après leur mise en ligne

Règles persistantes

Ajoutez et supprimez des règles sans interrompre la connexion

Opérateurs puissants

Filtrez par mots-clés, hashtags, utilisateurs et plus encore

Diffusion via webhook

Recevez éventuellement des Publications via des webhooks

Fonctionnement

  1. Créer des règles — Définir des règles de filtrage à l’aide d’opérateurs
  2. Se connecter au flux — Établir une connexion HTTP persistante
  3. Recevoir des Publications — Recevoir en temps réel les Publications correspondantes
┌─────────────┐      ┌─────────────┐      ┌─────────────┐
│ Create/     │      │ Connect to  │      │ Receive     │
│ manage      │  →   │ streaming   │  →   │ matching    │
│ rules       │      │ endpoint    │      │ Posts       │
└─────────────┘      └─────────────┘      └─────────────┘

Points de terminaison

MéthodePoint de terminaisonDescription
GET/2/tweets/search/streamSe connecter au flux
POST/2/tweets/search/stream/rulesAjouter ou supprimer des règles
GET/2/tweets/search/stream/rulesAfficher les règles actuelles

Niveaux d’accès

FonctionnalitéFacturation à l’usageEnterprise
Règles par projet1,00025,000+
Longueur de la règle1,024 caractères2,048 caractères
Connexions1Multiples
Tous les opérateurs

Contact pour l’offre Enterprise

Bénéficiez de limites plus élevées et de fonctionnalités supplémentaires

Création de règles

Les règles utilisent les mêmes opérateurs que les requêtes de recherche :
(AI OR "machine learning") lang:en -is:retweet

Exemples de règles

RègleCorrespond à
#pythonPublications avec le hashtag #python
from:elonmuskPublications de @elonmusk
"breaking news" has:imagesPublications contenant cette expression et des images
(@XDevelopers OR @X) -is:retweetMentions, en excluant les retweets

Créer une règle

Découvrez la syntaxe des règles et leurs opérateurs

Connexion au flux

Établissez une connexion HTTP persistante pour recevoir des Publications :
import requests

def stream_posts(bearer_token):
    url = "https://api.x.com/2/tweets/search/stream"
    headers = {"Authorization": f"Bearer {bearer_token}"}
    
    response = requests.get(url, headers=headers, stream=True)
    
    for line in response.iter_lines():
        if line:
            print(line.decode("utf-8"))

Signaux de maintien de connexion

Le flux envoie des lignes vides (\r\n) toutes les 20 secondes pour garder la connexion ouverte. Si vous ne recevez aucune donnée ni signal de maintien pendant 20 secondes, rétablissez la connexion.

Gestion des déconnexions

Se reconnecter proprement

Consommer des données en streaming

Traiter les Publications efficacement

Livraison via webhook

Au lieu de maintenir une connexion persistante, vous pouvez recevoir des Publications via des webhooks :

Livraison via webhook

Configurer la livraison via webhook pour un flux filtré

Modifications de Publications

Le flux diffuse les Publications modifiées avec leur historique de modifications. Chaque modification crée un nouvel identifiant de Publication :
{
  "data": {
    "id": "1234567893",
    "text": "Hello world! (edited)",
    "edit_history_tweet_ids": ["1234567890", "1234567891", "1234567893"]
  }
}

Notions de base sur la modification des Publications

En savoir plus sur la modification des Publications

Pour commencer

Prérequis

Démarrage rapide

Connectez-vous au flux en quelques minutes

Configurer une règle

Apprenez la syntaxe des règles

Référence des opérateurs

Tous les opérateurs disponibles

Exemples de code

Exemples de code fonctionnels

Sujets avancés

Gestion des déconnexions

Rétablissez la connexion en douceur

Gestion de volumes élevés

Gérez un débit élevé

Récupération et redondance

Créez des applications résilientes

Mise en correspondance des Publications renvoyées

Identifiez quelles règles se sont appliquées