メインコンテンツへスキップ
このページでは、Filtered Stream v2 用のルールを構築する際に使用できる演算子の一覧を示します。

演算子一覧

注: 一部の演算子には別名 (エイリアス) が用意されているものもあります。
オペレーターtype説明
keyword単独で使用可ポスト本文内のキーワードにマッチします。キーワードはトークン単位で照合され、指定したキーワード文字列がポスト本文のトークン化されたテキストと比較されます。トークン化では、句読点、記号、Unicode 基本多言語面に含まれる区切り文字に基づいて単語が分割されます。
例えば、「I like coca-cola」というテキストを含むポストは、次のトークンに分割されます: I、like、coca、cola。これらのトークンが、ルールで使用したキーワード文字列と比較されます。句読点 (例: coca-cola) 、記号、または区切り文字を含む文字列にマッチさせるには、キーワード全体を二重引用符で囲む必要があります。

例: pepsi OR cola OR "coca cola"
emoji単独で使用可ポスト本文内の絵文字にマッチします。キーワードと同様に、絵文字もトークンとしてマッチし、指定した絵文字がポスト本文のトークン化されたテキストと照合されます。

絵文字にバリアントがある場合は、その絵文字をルールに追加する際にダブルクオーテーションで囲む必要がある点に注意してください。

例: (😃 OR 😡) 😬
"exact phrase match"単独で使用可ポスト本文内で完全一致するフレーズにマッチします。

例: ("X API" OR #v2) -"filtered stream"
"keyword1 keyword2"~N単独で使用可キーワード同士が互いに N トークン以内の距離にあるポストにマッチする近接演算子です。
キーワードが逆順で出現する場合、それらの距離は N-2 トークンを超えてはなりません。N に指定できる最大値は 6 です。

例: "social media"~5 OR "API"~3
#単独で使用可認識されたハッシュタグを含む任意の投稿と一致します。ここで、ハッシュタグは投稿内で認識されたエンティティである必要があります。

この演算子はトークン化による一致ではなく、完全一致を行います。つまり、ルール #thanku はハッシュタグ #thanku を正確に含む投稿には一致しますが、ハッシュタグ #thankunext を含む投稿には一致しません。

例: #thankunext #fanart OR @arianagrande
@単独で使用可与えられたユーザー名が認識対象のエンティティである場合 (@文字を含む) 、そのユーザー名をメンションしているポストすべてに一致します。

例: (@XDevelopers OR @api) -@x
$単独で使用可指定された’cashtag’ (トークンの先頭文字が であるもの) を含むポストにマッチします。<br /><br />cashtag 演算子は、cashtag を本文から直接抽出しようとするのではなく、X の &#39;symbols&#39; エンティティ抽出機能に依存して cashtag をマッチさせる点に注意してください。<br /><br />例: `twtr OR @XDevelopers -$fb`
from:単独で使用可特定のユーザーによる任意のポストにマッチします。
値には、ユーザー名 (@ 文字を除く) またはユーザーの数値ユーザーIDのいずれかを指定できます。

from: オペレーターごとに指定できる username/ID は1つだけです。

例: from:XDevelopers OR from:api -from:X
to:単独で使用可特定のユーザーに対する返信である任意のポストにマッチします。
値には、ユーザー名 (@ 文字を除く) またはユーザーの数値のユーザーIDのいずれかを指定できます。

to: 演算子 1 つにつき指定できるユーザー名/ID は 1 つだけです。

例: to:XDevelopers OR to:api -to:x
url:単独で使用可ポスト内の任意の有効な形式の URL に対して、トークン単位でのマッチングを実行します。

このオペレーターは、url フィールドと expanded_url フィールドの両方の内容にマッチできます。たとえば、「You should check out X Developer Labs: https://t.co/c0A36SWil4」 (短縮 URL が https://developer.x.com にリダイレクトされるポスト) のようなポストは、次の両方のルールにマッチします。

from:XDevelopers url:"https://developer.x.com"
(entities.urls.expanded_url の内容にマッチするため)

from:XDevelopers url:"https://t.co"
(entities.urls.url の内容にマッチするため)

句読点や特殊文字を含むトークンやフレーズは、二重引用符で囲む必要があります (例: url:"/developer") 。同様に、特定のプロトコルにマッチさせる場合も、二重引用符で囲みます (例: url:"https://developer.x.com") 。

url: オペレーターごとに指定できる URL は 1 つだけです。
retweets_of:単独で使用可利用可能なエイリアス: retweets_of_user:
指定したユーザーのポストがリツイートされた投稿にマッチします。値には、ユーザー名 (@ 文字を除く) またはユーザーの数値 ID のいずれかを指定できます。

retweets_of: オペレーターごとに指定できるユーザー名または ID は 1 つだけです。

例: retweets_of:XDevelopers OR retweets_of:twitterapi
数値形式の X アカウント ID を検索する方法については こちら を参照してください。
context:単独で使用可特定のドメインIDおよび/またはドメインIDとエンティティIDのペアに一致する投稿を検索します。ここで * はワイルドカードを表します。このオペレーターの詳細については、Post annotations のページをご覧ください。

context: オペレーターごとに指定できるドメイン/エンティティは 1 つだけです。

context:domain_id.entity_id
context:domain_id.*
context:*.entity_id

例:
context:10.799022225751871488
(domain_id.entity_id は、その特定のドメイン/エンティティペアに一致する投稿を返します)

context:47.*
(domain_id.* は、そのドメインIDを持ち、任意のドメイン/エンティティペアに一致する投稿を返します)

context:*.799022225751871488
(*.entity_id は、そのエンティティIDを持ち、任意のドメイン/エンティティペアに一致する投稿を返します)
entity:単独で使用可特定のエンティティ文字列値を持つ投稿と一致します。このオペレーターの詳細については、annotations のページをご覧ください。

entity: オペレーターごとに指定できるエンティティは 1 つだけです。

entity:"string declaration of entity/place"

例: entity:"Michael Jordan" OR entity:"Barcelona"
conversation_id:単独で使用可同じ会話IDを持つ投稿にマッチします。会話IDは、その会話を開始したポストのポストIDに設定されます。ポストに返信が投稿されると (返信への返信も含む) 、それぞれのJSONペイロードに conversation_id が追加されます。

conversation_id: 演算子につき指定できる会話IDは1つだけです。

例: conversation_id:1334987486343299072 (from:XDevelopers OR from:api)
bio:単独で使用可使用可能な別名: user_bio:
ポストの投稿者のプロフィール文 (bio) 内のキーワードまたはフレーズに一致します。これは、User objectdescription フィールドの内容に対するトークン単位でのマッチです。

例: bio:developer OR bio:"data engineer" OR bio:academic
bio_name:単独で使用可Post の投稿者のユーザープロフィール名に含まれるキーワードにマッチします。これは、User object 内のユーザーの “name” フィールドの内容に対して行われるトークン化されたマッチです。

例: bio_name:phd OR bio_name:md
bio_location:単独で使用可利用可能なエイリアス: user_bio_location:
ロケーションに指定したキーワードまたはフレーズを含むユーザーが投稿した投稿に一致します。このオペレーターは、メッセージ本文に対する通常のキーワードルールと同様に、トークン単位での一致を行います。

このロケーションは User object の一部であり、‘location’ フィールドに対してマッチし、正規化されていない、ユーザーが生成する自由形式の文字列です。また、ポストのロケーション (place: を参照) とは異なります。

例: bio_location:"big apple" OR bio_location:nyc OR bio_location:manhattan
place:単独で使用可指定された場所またはXの place ID がタグ付けされた投稿にマッチします。複数の単語からなる場所名 (“New York City”、“Palo Alto” など) は、引用符で囲む必要があります。

place: オペレーターごとに指定できる場所は1つだけです。

注: X の place ID の取得方法については、標準 v1.1 エンドポイント GET geo/search を参照してください。

注: このオペレーターはリツイートにはマッチしません。リツイートの場所情報は元のポストに紐づいているためです。また、引用ツイートの元ポストに紐づいている場所にもマッチしません。

例: place:"new york city" OR place:seattle OR place:fd70c22040963ac7
place_country:単独で使用可タグ付けされた場所/ロケーションに関連付けられた国コードが、指定した ISO alpha-2 文字コードと一致する投稿にマッチします。

有効な ISO コードの一覧は Wikipedia で確認できます。

place_country: 演算子ごとに指定できる ISO コードは 1 つだけです。

注意:この演算子はリツイートにはマッチしません。リツイートの場所情報は元のポストに紐づいているためです。また、引用ツイートの元のポストに紐づいている場所情報にもマッチしません。

例: place_country:US OR place_country:MX OR place_country:CA
point_radius:単独で使用可Post の place.geo.coordinates オブジェクトが存在する場合はそのオブジェクトに、X 上では place のジオポリゴンに対してマッチし、place ポリゴンが定義した領域内に完全に含まれている場合に一致します。

point_radius:[longitude latitude radius]

- 対応している半径の単位はマイル (mi) とキロメートル (km) です
- 半径は 25mi 未満である必要があります
- 経度は ±180 の範囲です
- 緯度は ±90 の範囲です
- すべての座標は 10 進数表記の度です
- ルール引数は角括弧内に記述し、スペース区切りにします

point_radius: 演算子ごとに指定できるジオポリゴンは 1 つだけです。

注: リツイートの場所情報は元のポストに紐づいているため、この演算子はリツイートにはマッチしません。また、引用ツイートの元のポストに紐づいている場所情報にもマッチしません。

例: point_radius:[2.355128 48.861118 16km] OR point_radius:[-41.287336 174.761070 20mi]
bounding_box:単独で使用可利用可能な別名: geo_bounding_box:
存在する場合は Post の place.geo.coordinates オブジェクトに対してマッチし、X ではプレイスのジオポリゴンに対してマッチします。プレイスのポリゴンが定義された領域内に完全に含まれている場合にマッチします。

bounding_box:[west_long south_lat east_long north_lat]

- west_long south_lat はバウンディングボックスの南西端を表し、west_long はその点の経度、south_lat は緯度です。
- east_long north_lat はバウンディングボックスの北東端を表し、east_long はその点の経度、north_lat は緯度です。
- バウンディングボックスの幅と高さは 25mi 未満でなければなりません。
- 経度は ±180 の範囲です。
- 緯度は ±90 の範囲です。
- すべての座標は 10 進度で指定します。
- ルール引数は角括弧内に含め、スペース区切りで指定します。

bounding_box: 演算子につき、指定できるジオポリゴンは 1 つだけです。

注意: この演算子はリツイートにはマッチしません。これは、リツイートのプレイスが元のポストに紐づいているためです。また、引用ツイートの元のポストに紐づいているプレイスにもマッチしません。

例: bounding_box:[-105.301758 39.964069 -105.178505 40.09455]
is:retweet他と併用必須指定されたルールのその他の条件を満たすリツイートにマッチします。このオペレーターは、通常のリツイート (たとえば、リツイートボタンを使用して行われたもの) のみを対象とします。引用ツイートはこのオペレーターではマッチしません。

例: data @XDevelopers -is:retweet
is:reply他と併用必須ルールに一致する明示的な返信のみを配信対象とします。ルールに一致する返信を配信対象から除外するために、否定して使用することもできます。

filtered stream を使用する場合、このオペレーターは元のポストへの返信、引用投稿の返信、およびリポストの返信に一致します。

例: from:XDevelopers is:reply
is:quote他と併用必須コメント付きの投稿とも呼ばれるすべての引用ツイートを返します。

Example: "sentiment analysis" is:quote
is:verified他と併用必須X によって認証済みの投稿者の投稿のみを返します。

例: #nowplaying is:verified
-is:nullcast他と併用必須ads.twitter.com 上でプロモーション目的のみに作成され、source:"Twitter for Advertisers (legacy)" または source:"Twitter for Advertisers" を持つ投稿を除外します。
このオペレーターは必ず否定形で使用する必要があります。

Nullcast された投稿の詳細については、Post availability のページを参照してください。

例: "mobile games" -is:nullcast
has:hashtags他と併用必須少なくとも 1 つのハッシュタグを含む投稿に一致します。

例: from:XDevelopers -has:hashtags
has:cashtags他と併用必須先頭に「」文字が付いたキャッシュタグ(:」文字が付いたキャッシュタグ (例: `tag) を含む投稿にマッチします。<br /><br />例: #stonks has:cashtags`
has:links他と併用必須このオペレーターは、ポスト本文中にリンクやメディアを含む投稿にマッチします。

例: from:XDevelopers announcement has:links
has:mentions他と併用必須他のXユーザーをメンションしている投稿にマッチします。

例: #nowplaying has:mentions
has:media他と併用必須利用可能なエイリアス: has:media_link
X によって写真、GIF、動画などのメディアオブジェクトを含むと判定された投稿にマッチします。Periscope で作成されたメディアや、他のメディアホスティングサイトへのリンクを含む投稿にはマッチしません。

例: (kittens OR puppies) has:media
has:images他と併用必須認識済みの画像 URL を含む投稿と一致します。

例: #meme has:images
has:video_link他と併用必須使用可能な別名: has:videos
X にネイティブ動画として直接アップロードされた動画を含む投稿にマッチします。Periscope で作成された動画や、他の動画ホスティングサイトへのリンクを含む投稿にはマッチしません。

例: #icebucketchallenge has:video_link
has:geo他と併用必須X ユーザーによって提供された、ポスト固有のジオロケーションデータを持つ投稿にマッチします。これは、対応する表示名、ジオポリゴン、およびその他のフィールドを伴う X の place オブジェクトとしての位置情報か、まれなケースとしてジオの緯度・経度座標のいずれかになります。

注記: place (ポストのジオ情報) に基づいてマッチするオペレーターは、オリジナルポストのみを対象とします。リツイートには place データが含まれません。

例: recommend #paris has:geo -bakery
sample:他と併用必須ルールに一致する投稿全体ではなく、そのうちランダムなパーセンテージのサンプルを返します。パーセンテージの値は 1 から 100 までの整数で指定する必要があります (たとえば、sample:10 はランダムな 10% のサンプルを返します) 。

このオペレーターは、まずストリームの範囲を指定したパーセンテージまで縮小し、その後、そのサンプルされたサブセットに対してルール/フィルターを適用します。言い換えると、たとえば sample:10 を使用している場合、各投稿はサンプルに含まれる確率が 10% になります。

このオペレーターはルール全体に適用され、OR’で結合されたすべての語句をグループ化する必要があります。

例: #nowplaying @spotify sample:15
lang:他と併用必須X によって特定の言語であると分類された投稿 (投稿が分類されている場合に限る) にマッチします。現在、各ポストは 1 つの言語にのみ分類されているため、複数の言語条件を AND で組み合わせても結果は返されません。

lang: 演算子ごとに指定できる BCP 47 言語識別子は 1 つだけです。

注: 言語分類が行えない場合、返される結果は「und」 (未定義) となります。

例: recommend #paris lang:en

以下のリストは、現在サポートされている言語とそれに対応する BCP 47 言語識別子を示しています。

言語BCP 47
*-
アムハラ語am
アラビア語ar
アルメニア語hy
バスク語eu
ベンガル語bn
ボスニア語bs
ブルガリア語bg
ビルマ語my
クロアチア語hr
カタルーニャ語ca
チェコ語cs
デンマーク語da
オランダ語nl
英語en
エストニア語et
フィンランド語fi
フランス語fr
ジョージア語ka
ドイツ語de
ギリシャ語el
グジャラート語gu
ハイチ・クレオール語ht
ヘブライ語iw
ヒンディー語hi
ローマ字表記のヒンディー語hi-Latn
ハンガリー語hu
アイスランド語is
インドネシア語in
イタリア語it
日本語ja
カンナダ語kn
クメール語km
韓国語ko
ラオ語lo
ラトビア語lv
リトアニア語lt
マラヤーラム語ml
ディベヒ語dv
マラーティー語mr
ネパール語ne
ノルウェー語no
オディア語or
パンジャーブ語pa
パシュトー語ps
ペルシア語fa
ポーランド語pl
ポルトガル語pt
ルーマニア語ro
ロシア語ru
セルビア語sr
簡体字中国語zh-CN
シンド語sd
シンハラ語si
スロバキア語sk
スロベニア語sl
ソラニー・クルド語ckb
スペイン語es
スウェーデン語sv
タガログ語tl
タミル語ta
テルグ語te
タイ語th
チベット語bo
繁体字中国語zh-TW
トルコ語tr
ウクライナ語uk
ウルドゥー語ur
ウイグル語ug
ベトナム語vi
ウェールズ語cy
followers_count:投稿者のフォロワー数が指定された範囲内にある投稿にマッチします。
単一の数値を指定した場合、その数以上の任意の数値にマッチします。

例: followers_count:500

また、範囲を指定して、その範囲内の任意の数値にマッチさせることもできます。

例: followers_count:1000..10000
tweets_count:利用可能なエイリアス: statuses_count:
著者の投稿数が指定した範囲内である投稿にマッチします。
単一の数値を指定した場合、その数値以上の任意の数にマッチします。

例: tweets_count:1000

さらに、範囲を指定して、その範囲内の任意の数にマッチさせることもできます。

例: tweets_count:1000..10000
following_count:利用可能な別名: friends_count:
著者のfriends count (フォローしているユーザー数) が指定した範囲内にある投稿にマッチします。
単一の数値を指定した場合、その数値以上の任意の数にマッチします。

例: following_count:500

また、範囲を指定して、その範囲内の任意の数にマッチさせることもできます。

例: following_count:1000..10000
listed_count:利用可能な別名: user_in_lists_count:
投稿の作者が指定された数のリストに含まれている場合に一致します。
単一の数値を指定した場合は、その数値以上であれば一致します。

例: listed_count:10

また、範囲を指定して、その範囲内の任意の数に一致させることもできます。

例: listed_count:10..100
url_title:利用可能なエイリアス: within_url_title:
展開された URL の HTML title メタデータに対して、キーワード/フレーズによるマッチングを行います。

例: url_title:snow
url_description:利用可能なエイリアス: within_url_description:
展開されたページ説明メタデータに対して、キーワードまたはフレーズの一致検索を行います。

例: url_description:weather
url_contains:指定した語句またはキーワードを文字どおり含むURLを持つ投稿にマッチします。句読点などの記号を含むパターン (例: google.com) を検索するには、検索語を引用符で囲んでください。
注: 展開されたURLも検索対象になります。

例: url_contains:photos
source:指定された送信元アプリケーションによって生成された任意のポストにマッチします。値にはアプリケーション名かアプリケーションの URL のいずれか一方を指定する必要があります。単独では使用できません。

例: source:"X for iPhone"

注: X の App 開発者の場合、あなたのアプリケーションによってプログラム経由で作成された投稿には、app settings で設定したアプリケーションの Name と Website URL が source として設定されます。
in_reply_to_tweet_id:使用可能なエイリアス: in_reply_to_status_id:
指定したポストへの明示的な返信のみを返します。

例: in_reply_to_tweet_id:1539382664746020864
retweets_of_tweet_id:利用可能なエイリアス: retweets_of_status_id:
指定したポストの明示的 (ネイティブ) リツイートのみを配信します。使用するstatus IDは、リツイートではなく元のポストのIDである必要があります。

例: retweets_of_tweet_id:1539382664746020864