メインコンテンツへスキップ
Filtered Stream エンドポイントを使用すると、フィルタールールに一致する投稿をリアルタイムで受信できます。強力なオペレーターを使ってルールを作成し、永続ストリームに接続して、投稿が公開され次第、一致するものを受信します。

概要

リアルタイム配信

公開から数秒以内に投稿を受信できます

永続的なルール

接続を維持したままルールを追加・削除できます

強力な検索演算子

キーワード、ハッシュタグ、ユーザーなどにマッチできます

Webhook 配信

必要に応じて Webhook 経由で投稿を受信できます

仕組み

  1. ルールを作成する — 演算子を使用してフィルタールールを定義します
  2. ストリームに接続する — 永続的な HTTP 接続を確立します
  3. 投稿を受信する — 一致する投稿をリアルタイムで受信します
┌─────────────┐      ┌─────────────┐      ┌─────────────┐
│ Create/     │      │ Connect to  │      │ Receive     │
│ manage      │  →   │ streaming   │  →   │ matching    │
│ rules       │      │ endpoint    │      │ Posts       │
└─────────────┘      └─────────────┘      └─────────────┘

エンドポイント

MethodEndpoint説明
GET/2/tweets/search/streamストリームに接続する
POST/2/tweets/search/stream/rulesルールを追加または削除する
GET/2/tweets/search/stream/rules現在のルールを一覧表示する

アクセスレベル

機能従量課金Enterprise
プロジェクトごとのルール数1,00025,000+
ルールの長さ1,024文字2,048文字
同時接続数1複数
全オペレーター対応

Enterprise についてお問い合わせ

より高い上限と追加機能をご利用いただけます

ルールの作成

ルールでは、検索クエリと同じ演算子を使用できます。
(AI OR "machine learning") lang:en -is:retweet

ルールの例

ルール一致する投稿
#python#python ハッシュタグが付いた投稿
from:elonmusk@elonmusk による投稿
"breaking news" has:images指定フレーズと画像を含む投稿
(@XDevelopers OR @X) -is:retweetメンションを含む投稿 (リツイートを除く)

ルールを作成する

ルールの構文と演算子について学ぶ

ストリームへの接続

投稿を受信するために、永続的な HTTP 接続を確立します。
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"))

キープアライブ信号

ストリームは接続を維持するために、20秒ごとに空行 (\r\n) のみを送信します。20秒間データやキープアライブ信号を受信しない場合は、再接続してください。

切断の処理

スムーズに再接続する

ストリーミングデータの処理

投稿を効率的に処理する

Webhook 配信

常時接続を維持する代わりに、Webhook を使用して投稿を受信できます。

Webhook 配信

フィルタ済みストリーム用の Webhook 配信を設定する

ポストの編集

このストリームは、編集履歴とともに編集済みの投稿を配信します。編集のたびに新しいポストIDが生成されます。
{
  "data": {
    "id": "1234567893",
    "text": "Hello world! (edited)",
    "edit_history_tweet_ids": ["1234567890", "1234567891", "1234567893"]
  }
}

ポスト編集の基本

ポストの編集についてさらに詳しく学ぶ

はじめに

前提条件

クイックスタート

数分でストリームに接続

ルールを作成

ルール構文を学ぶ

オペレーターリファレンス

利用可能なすべてのオペレーター

サンプルコード

実行可能なコード例

高度なトピック

切断時の処理

スムーズに再接続する

高トラフィック対応

高スループットに対応する

復旧と冗長性

堅牢なアプリケーションを構築する

返された投稿の照合

どのルールにマッチしたか特定する