> ## Documentation Index
> Fetch the complete documentation index at: https://generaltranslation.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# クエリを作成する

<div id="building-a-query">
  #### クエリの構築
</div>

**クエリの制限について**

利用している[アクセスレベル](/ja/x-api/getting-started/about-x-api)に応じて、クエリには制限があります。

従量課金制のお客様の場合、クエリは最大 512 文字まで、Enterprise 契約のお客様の場合は最大 4,096 文字まで指定できます。

Enterprise アクセスをご利用の場合は、担当のアカウントマネージャーまでご連絡ください。

**オペレーターの利用可否**

ほとんどのオペレーターはすべての開発者が利用できますが、一部には Enterprise アクセスの承認を受けた方のみ利用できるものがあります。各オペレーターがどのアクセスレベルで利用可能かは、次のラベルを用いて[list of operators](/ja/x-api/posts/search/integrate/build-a-query)の表に記載しています。

* コアオペレーター: 任意の[Project](/ja/resources/fundamentals/developer-apps)を使用している場合に利用可能。
* アドバンスドオペレーター: Enterprise アクセスを持つ Project を使用している場合に利用可能。 
   

<div id="operator-types-standalone-and-conjunction-required">
  #### 演算子の種類: 単独使用可能なものと結合必須のもの
</div>

**単独使用可能な演算子** は、それ単体でも、あるいは他の任意の演算子 (結合が必要な演算子を含む) と組み合わせても使用できます。

たとえば、次のクエリは単独使用可能な演算子である #hashtag 演算子を使用しているため、有効です。

\#xapiv2

**結合必須の演算子** は、クエリ内でそれ単体では使用できません。少なくとも 1 つの単独使用可能な演算子と組み合わせて使用する場合にのみ利用できます。これは、これらの演算子のみを使用するとクエリがあまりに一般的になりすぎ、極めて大量の投稿にマッチしてしまうためです。

たとえば、次のクエリは、結合必須の演算子だけを含んでいるためサポートされません。

has:media
has:links OR is:retweet

"X data" のような単独使用可能な演算子 (フレーズ) を追加すると、そのクエリは正しく動作します。

"X data" has:mentions (has:media OR has:links)

<div id="boolean-operators-and-grouping">
  #### ブール演算子とグルーピング
</div>

1つのクエリ内で複数の演算子を組み合わせたい場合、次のような手法が利用できます。

|                 |                                                                                                                                                                                                                                                               |
| :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **AND ロジック**    | 演算子同士の間にスペースを入れて連続して指定すると、ブールの「AND」ロジックになります。つまり、両方の条件を満たした場合にのみ投稿がマッチします。たとえば、snow day #NoSchool は、snow と day という語とハッシュタグ #NoSchool を含む投稿にマッチします。                                                                                                            |
| **OR ロジック**     | 演算子同士の間に OR を入れて連続して指定すると、OR ロジックになります。つまり、いずれかの条件を満たした場合に投稿がマッチします。たとえば、grumpy OR cat OR #meme と指定すると、少なくとも grumpy または cat の語、もしくはハッシュタグ #meme のいずれかを含む投稿にマッチします。                                                                                            |
| **NOT ロジック、否定** | キーワード (または任意の演算子) の前にハイフン (-) を付けると、それを否定 (NOT) できます。たとえば、cat #meme -grumpy は、ハッシュタグ #meme と cat という語を含む投稿のうち、grumpy という語を含まないものにマッチします。よく使われるクエリ句として -is:retweet があります。これはリツイートにはマッチせず、オリジナルの投稿、引用ツイート、返信のみにマッチします。すべての演算子は否定できますが、否定された演算子だけを単独で使うことはできません。 |
| **グルーピング**      | 演算子をまとめてグルーピングするには、丸括弧を使用できます。たとえば、(grumpy cat) OR (#meme has:images) は、grumpy と cat の語を含む投稿、またはハッシュタグ #meme を含む画像付き投稿のいずれかを返します。AND が先に適用され、その後に OR が適用される点に注意してください。                                                                                        |

**否定に関する注意**

演算子 -is:nullcast は常に否定形で使用する必要があります。

否定された演算子を単独で使用することはできません。

丸括弧でグループ化した一連の演算子全体をまとめて否定しないでください。代わりに、各演算子を個別に否定してください。たとえば、skiing -(snow OR day OR noschool) を使用する代わりに、skiing -snow -day -noschool を使用することをお勧めします。 

**演算の順序**

AND と OR の機能を組み合わせる場合、次の演算順序によってクエリの評価方法が決まります。

1. AND ロジックで接続された演算子が最初に結合される
2. 次に、OR ロジックで接続された演算子が適用される

たとえば:

* apple OR iphone ipad は、apple OR (iphone ipad) として評価されます
* ipad iphone OR android は、(iphone ipad) OR android として評価されます

あいまいさをなくし、意図したとおりにクエリが評価されるようにするために、必要に応じて丸括弧で用語をグループ化してください。 

たとえば:

* (apple OR iphone) ipad
* iphone (ipad OR android)
   

**句読点、ダイアクリティカルマーク、大文字小文字の区別**

アクセントやダイアクリティカルマークを含む文字でキーワードやハッシュタグのクエリを指定した場合、そのアクセントやダイアクリティカルマーク付きの語と、通常の文字で書かれた語の両方を含む投稿テキストにマッチします。たとえば、キーワード Diacrítica またはハッシュタグ #cumpleaños を含むクエリは、*Diacrítica* や *#cumpleaños* に加え、チルダ付きの í やエニェのない *Diacritica* や *#cumpleanos* にもマッチします。

アクセントやダイアクリティカルマーク付きの文字は通常の文字と同様に扱われ、単語境界とは見なされません。たとえば、キーワード cumpleaños を含むクエリは、単語 *cumpleaños* を含むアクティビティにのみマッチし、*cumplea*、*cumplean*、*os* を含むアクティビティにはマッチしません。

すべての演算子は大文字小文字を区別せずに評価されます。たとえば、クエリ cat は、*cat*、*CAT*、*Cat* を含む投稿すべてにマッチします。

[filtered stream](/ja/x-api/posts/filtered-stream) のマッチング動作は、投稿数の集計とは異なります。[building a filtered stream rule](/ja/x-api/posts/filtered-stream#building-rules-for-filtered-stream) の際には、アクセントやダイアクリティカルマークを含むキーワードやハッシュタグは、同じくアクセントやダイアクリティカルマークを含む語にのみマッチし、代わりに通常の文字を使用している語にはマッチしないことを理解しておいてください。 

たとえば、キーワード Diacrítica またはハッシュタグ #cumpleaños を含む filtered stream のルールは、*Diacrítica* と *#cumpleaños* にのみマッチし、チルダ付きの í やエニェのない *Diacritica* や *#cumpleanos* にはマッチしません。

**具体性と効率性**

クエリの作成を始める際には、いくつか心に留めておくべき点があります。

* 単一のキーワードや #hashtag だけといった、広く単独で使われるオペレーターをクエリに使用することは、通常おすすめしません。このようなクエリは、非常に大量の投稿にマッチしてしまう可能性が高いためです。より堅牢なクエリを作成することで、より絞り込まれた投稿の集合にマッチさせることができ、ポスト数の精度向上が期待できるため、より価値の高いインサイトを得る助けになります。 
  * たとえば、クエリが単にキーワード happy だけだった場合、1日あたりおよそ 200,000〜300,000 件の投稿が返される可能性があります。
  * さらに条件オペレーターを追加すると結果が絞り込まれます。例: (happy OR happiness) place\_country:GB -birthday -is:retweet
* 効率的なクエリを書くことは、クエリの文字数制限内に収めるうえでも有益です。文字数には、スペースやオペレーターを含むクエリ文字列全体が含まれます。
  * たとえば、次のクエリは 59 文字です: (happy OR happiness) place\_country:GB -birthday -is:retweet

**Quote Tweet のマッチング動作**

Post counts エンドポイントを使用する場合、オペレーターは引用元のオリジナルポストの内容にはマッチせず、Quote Tweet に含まれる内容にのみマッチします。

ただし、[filtered stream](/ja/x-api/posts/filtered-stream) は、引用されたオリジナルポストの内容と Quote Tweet 側の内容の両方にマッチする点に注意してください。
 

**クエリを反復的に構築する**

**クエリは早い段階から、頻繁にテストする**

最初の試行で「正しい」結果を返すクエリを書けることはほとんどありません。X 上には非常に多くの情報があり、最初は明確でないものもありますし、前述のクエリ構文を希望するクエリにうまく当てはめるのが難しい場合もあります。

クエリを構築する際には、[Search Post](/ja/x-api/posts/search/introduction) エンドポイントのいずれかを使って定期的にテストし、クエリにマッチしている投稿があなたのユースケースに関連していることを確認することが重要です。

このセクションでは、次のクエリから開始し、テストの結果に基づいて調整していきます。 

happy OR happiness

**結果を使ってクエリを絞り込む**

Search Posts でクエリをテストするときは、返された投稿をざっと確認し、期待しているデータが含まれているかどうかを確認してください。広いクエリと、そのクエリにマッチする投稿のスーパーセットから始めることで、結果をレビューし、望ましくない結果を除外するようにクエリを絞り込むことができます。  

サンプルクエリをテストしたところ、さまざまな言語の投稿が返されることに気付きました。このケースでは英語の投稿のみを受け取りたいので、`lang:` オペレーターを追加します:

(happy OR happiness) lang:en

テストでは「happy birthday」を願う投稿が多数返ってきたため、否定キーワードオペレーターとして -birthday を追加します。また、オリジナルの投稿のみを受け取りたいので、否定オペレーター -is:retweet も追加します:

(happy OR happiness) lang:en -birthday -is:retweet

**必要に応じて包含方向に調整する**

Search Posts で、期待しているデータを受け取れておらず、返ってくるはずの既存投稿があると分かっている場合は、望むデータをフィルタリングしてしまっている可能性のあるオペレーターを削除して、クエリを広げる必要があるかもしれません。 

この例では、自分のタイムラインに、求めている感情を表現しているにもかかわらずテスト結果に含まれていない他の投稿があることに気付きました。カバレッジを広げるため、`excited` と `elated` というキーワードを追加します。

(happy OR happiness OR excited OR elated) lang:en -birthday -is:retweet

**期間中の人気トレンドや急増に応じて調整する**

X ではトレンドが素早く移り変わります。クエリのメンテナンスは継続的なプロセスであるべきです。あるクエリをしばらく使い続ける予定の場合は、定期的に受け取っているデータを確認し、調整が必要かどうかをチェックすることをおすすめします。

この例では、「happy holidays」と人々に挨拶している投稿が届き始めたことに気付きました。これらの投稿を結果に含めたくないので、否定キーワード -holidays を追加します。

(happy OR happiness OR excited OR elated) lang:en -birthday -is:retweet -holidays 

クエリを十分にテストし、反復して調整できたら、Post counts エンドポイントにそのクエリを送信し始めることで、完全な投稿ペイロードではなく、投稿数のみを受け取れるようになります。

<div id="adding-a-query-to-your-request">
  #### リクエストへのクエリの追加
</div>

クエリをリクエストに追加するには、`query` パラメータを使用する必要があります。ほかのクエリパラメータと同様に、作成したクエリは必ず HTTP エンコード (URL エンコード) してください。

以下は、cURL コマンドを使用した場合の例です。このコマンドを使用する場合は、必ず \$BEARER\_TOKEN をご自身の [ベアラートークン](/ja/resources/fundamentals/authentication#oauth-2-0) に置き換えてください。

```
      curl https://api.x.com/2/tweets/counts/recent?query=cat%20has%3Amedia%20-grumpy&tweet.fields=created_at&max_results=100 -H "Authorization: Bearer $BEARER_TOKEN"
```

<div id="query-examples">
  #### クエリ例
</div>

**自然災害の追跡**

次のクエリは、2017 年にヒューストンを襲ったハリケーン・ハービーについて言及している、気象機関や観測所からのオリジナルのポストにマッチしたものです。

HTTP エンコードを行っていない場合のクエリは次のようになります。

has:geo (from:NWSNHC OR from:NHC\_Atlantic OR from:NWSHouston OR from:NWSSanAntonio OR from:USGS\_TexasRain OR from:USGS\_TexasFlood OR from:JeffLindner1) -is:retweet

そして、HTTP エンコード、クエリパラメータ、および直近のポスト数の URI を含めると、クエリは次のようになります。

[https://api.x.com/2/tweets/counts/recent?query=-is%3Aretweet%20has%3Ageo%20(from%3ANWSNHC%20OR%20from%3ANHC\&#95;Atlantic%20OR%20from%3ANWSHouston%20OR%20from%3ANWSSanAntonio%20OR%20from%3AUSGS\&#95;TexasRain%20OR%20from%3AUSGS\&#95;TexasFlood%20OR%20from%3AJeffLindner1)](https://api.x.com/2/tweets/counts/recent?query=-is%3Aretweet%20has%3Ageo%20\(from%3ANWSNHC%20OR%20from%3ANHC\&#95;Atlantic%20OR%20from%3ANWSHouston%20OR%20from%3ANWSSanAntonio%20OR%20from%3AUSGS\&#95;TexasRain%20OR%20from%3AUSGS\&#95;TexasFlood%20OR%20from%3AJeffLindner1\))

**会話のセンチメントを確認する**

次のルールは、ハッシュタグ *#nowplaying* 周辺で展開している会話のセンチメントを、北米内で公開されたポストに範囲を絞ってよりよく理解するために利用できます。

HTTP エンコードを行っていない場合、ポジティブとネガティブの 2 つの異なるクエリは次のようになります。

\#nowplaying (happy OR exciting OR excited OR favorite OR fav OR amazing OR lovely OR incredible) (place\_country:US OR place\_country:MX OR place\_country:CA) -horrible -worst -sucks -bad -disappointing

\#nowplaying (horrible OR worst OR sucks OR bad OR disappointing) (place\_country:US OR place\_country:MX OR place\_country:CA) -happy -exciting -excited -favorite -fav -amazing -lovely -incredible

そして、HTTP エンコード、クエリパラメータ、および直近のポスト数の URI を含めると、クエリは次のようになります。

[https://api.x.com/2/tweets/counts/recent?query=%23nowplaying%20(happy%20OR%20exciting%20OR%20excited%20OR%20favorite%20OR%20fav%20OR%20amazing%20OR%20lovely%20OR%20incredible)%20(place\&#95;country%3AUS%20OR%20place\&#95;country%3AMX%20OR%20place\&#95;country%3ACA)%20-horrible%20-worst%20-sucks%20-bad%20-disappointing](https://api.x.com/2/tweets/counts/recent?query=%23nowplaying%20\(happy%20OR%20exciting%20OR%20excited%20OR%20favorite%20OR%20fav%20OR%20amazing%20OR%20lovely%20OR%20incredible\)%20\(place\&#95;country%3AUS%20OR%20place\&#95;country%3AMX%20OR%20place\&#95;country%3ACA\)%20-horrible%20-worst%20-sucks%20-bad%20-disappointing)

[https://api.x.com/2/tweets/counts/recent?query=%23nowplaying%20(horrible%20OR%20worst%20OR%20sucks%20OR%20bad%20OR%20disappointing)%20(place\&#95;country%3AUS%20OR%20place\&#95;country%3AMX%20OR%20place\&#95;country%3ACA)%20-happy%20-exciting%20-excited%20-favorite%20-fav%20-amazing%20-lovely%20-incredible](https://api.x.com/2/tweets/counts/recent?query=%23nowplaying%20\(horrible%20OR%20worst%20OR%20sucks%20OR%20bad%20OR%20disappointing\)%20\(place\&#95;country%3AUS%20OR%20place\&#95;country%3AMX%20OR%20place\&#95;country%3ACA\)%20-happy%20-exciting%20-excited%20-favorite%20-fav%20-amazing%20-lovely%20-incredible)

**特定のポスト注釈に関連するポストを検索する**

このルールは、猫ではないペットの画像を含み、ポストで判定された言語が日本語であるオリジナルのポストをフィルタリングするために作成されました。これを行うために、context: 演算子を使用して、[Post annotation](/ja/x-api/fundamentals/post-annotations) 機能を活用しました。まず、[Post lookup](/ja/x-api/posts/lookup/introduction) エンドポイントと tweet.fields=context\_annotations フィールドパラメータを使用し、クエリで利用する必要がある domain.entity ID を特定しました。

* 猫に関連するポストは、**domain** 66 (Interests and Hobbies カテゴリ) と entity 852262932607926273 (Cats) を返します。 
* ペットに関連するポストは、**domain** 65 (Interests and Hobbies Vertical) と entity 852262932607926273 (Pets) を返します。 

HTTP エンコードを行っていない場合のクエリは次のようになります。

context:65.852262932607926273 -context:66.852262932607926273 -is:retweet has:images lang:ja

そして、HTTP エンコード、クエリパラメータ、および直近のポスト数の URI を含めると、クエリは次のようになります。

[https://api.x.com/2/tweets/counts/recent?query=context%3A65.852262932607926273%20-context%3A66.852262932607926273%20-is%3Aretweet%20has%3Aimages%20lang%3Aja](https://api.x.com/2/tweets/counts/recent?query=context%3A65.852262932607926273%20-context%3A66.852262932607926273%20-is%3Aretweet%20has%3Aimages%20lang%3Aja)

<div id="operators">
  #### 演算子
</div>

| 演算子                    | type        | 提供状況     | 説明                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| :--------------------- | :---------- | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `keyword`              | 単項          | Core     | ポスト本文内のキーワードにマッチします。これはトークン単位でのマッチングであり、指定したキーワード文字列はポスト本文をトークン化したテキストと照合されます。トークン化では、句読点、記号、Unicode 基本多言語面の区切り文字にもとづいて単語が分割されます。例えば、「I like coca-cola」というテキストを含むポストは、次のトークンに分割されます: I, like, coca, cola。これらのトークンが、クエリで使用したキーワード文字列と比較されます。句読点 (例: coca-cola) 、記号、または区切り文字を含む文字列にマッチさせるには、キーワードを二重引用符で囲む必要があります。例: `pepsi OR cola OR "coca cola"`                                                                                        |
| `emoji`                | 単項          | Core     | ポスト本文内の絵文字にマッチします。キーワードと同様に、絵文字もトークン化に基づいてマッチングされるため、指定した絵文字はポスト本文のトークン化されたテキストと照合されます。絵文字にバリアントがある場合は、クエリに追加する際にその絵文字を二重引用符で囲む必要があります。例: `(😃 OR 😡) 😬`                                                                                                                                                                                                                                                                                |
| `"exact phrase match"` | 単項          | Core     | ポスト本文内のフレーズに完全一致でマッチします。例: `("X API" OR #v2) -"recent counts"`                                                                                                                                                                                                                                                                                                                                                                           |
| `#`                    | 単項          | Core     | ハッシュタグがポスト内で認識済みのエンティティである場合、そのハッシュタグを含む任意のポストにマッチします。このオペレーターはトークン化によるマッチではなく、完全一致でマッチします。つまり、ルール `#thanku` はハッシュタグ #thanku を含む投稿にはマッチしますが、ハッシュタグ #thankunext を含む投稿にはマッチしません。例: `#thankunext #fanart OR @arianagrande`                                                                                                                                                                                                                  |
| `@`                    | 単項          | Core     | 指定したユーザー名に言及しているポストにマッチします。ユーザー名が (@ 文字を含む) 認識済みのエンティティである場合に適用されます。例: `(@XDevelopers OR @API) -@X`                                                                                                                                                                                                                                                                                                                                      |
| `$`                    | 単項          | Advanced | 指定された「キャッシュタグ」を含むポストにマッチします (トークンの先頭文字が「$」であるもの) 。キャッシュタグ演算子は、本文からキャッシュタグを直接抽出しようとするのではなく、X の「symbols」エンティティ抽出機能に依存してキャッシュタグにマッチします。例: `$twtr OR @XDevelopers -\$fb\`                                                                                                                                                                                                                                                                    |
| `from:`                | 単項          | Core     | 特定のユーザーからの任意のポストに一致します。値には、ユーザー名 (@文字を除く) またはユーザーの数値の user ID のいずれかを指定できます。`from:` 演算子ごとに指定できるユーザー名または ID は 1 つだけです。例: `from:XDevelopers OR from:API -from:X`                                                                                                                                                                                                                                                                            |
| `to:`                  | 単項          | Core     | 特定のユーザーへの返信であるポストすべてにマッチします。値には、ユーザー名 (@ 文字を除く) またはユーザーの数値 ID のいずれかを指定できます。`to:` 演算子ごとに指定できるユーザー名/ID は 1 つだけです。例: `to:XDevelopers OR to:API -to:X`                                                                                                                                                                                                                                                                                       |
| `url:`                 | 単項          | Core     | ポスト内の有効な形式の任意のURLに対して、トークン化されたマッチを行います。このオペレーターは、`url` フィールドと `expanded_url` フィールドの両方の内容を対象にマッチさせることができます。たとえば、「You should check out X Developer Labs: [https://t.co/c0A36SWil4」](https://t.co/c0A36SWil4」) (短縮URLが [https://developer.x.com](https://developer.x.com) にリダイレクトされるポスト) は、`from:XDevelopers url:"https://developer.x.com"` および `from:XDevelopers url:"https://t.co"` の両方のルールにマッチします。句読点や特殊文字を含むトークンやフレーズは、二重引用符で囲む必要があります。 |
| `retweets_of:`         | 単項          | Core     | 指定したユーザーの投稿をリツイートした投稿にマッチします。値として指定できるのは、ユーザー名 (@ 文字を除く) か、ユーザーの数値の user ID のいずれかです。`retweets_of:` オペレーターごとに指定できるユーザー名／ID は 1 つだけです。例: `retweets_of:XDevelopers OR retweets_of:API`                                                                                                                                                                                                                                                      |
| `context:`             | 単項          | Core     | 特定のドメイン id / エンティティ id のペアを持つ投稿に一致します。`context:` 演算子 1 つにつき指定できるドメイン／エンティティは 1 つだけです。例: `context:domain_id.entity_id`。OR 演算子を使用して複数のドメイン／エンティティを組み合わせることができます: `(context:47.113922 9372198469633 OR context:11.1088514520308342784)`                                                                                                                                                                                                     |
| `entity:`              | 単項          | Core     | 特定のエンティティ文字列値を持つ投稿に一致します。`entity:` オペレーターは 1 つだけ指定できます。例: `entity:"string declaration of entity/place"`。なお、これは recent search エンドポイントでのみ利用可能です。                                                                                                                                                                                                                                                                                           |
| `conversation_id:`     | 単項          | Core     | 同じ会話IDを持つ投稿にマッチします。会話IDには、その会話を開始したポストのPost IDが設定されます。そのポストへの返信が投稿されるたびに (返信への返信も含めて) 、`conversation_id` がそのJSONペイロードに追加されます。`conversation_id:` オペレーターごとに指定できる会話IDは1つだけです。例: `conversation_id:1334987486343299072 (from:XDevelopers OR from:API)`                                                                                                                                                                                        |
| `list:`                | 単項          | Advanced | 指定したリストのメンバーであるユーザーによる投稿にマッチします。たとえば、@XDevelopers と @API がリスト 123 のメンバーで、クエリに `list:123` を含めた場合、レスポンスにはそれらのアカウントが投稿したもののみが含まれます。リストIDは、List ルックアップエンドポイントを使用して取得できます。例: `list:123`                                                                                                                                                                                                                                                       |
| `place:`               | 単項          | Advanced | 指定した場所またはXのplace IDがタグ付けされた投稿に一致します。複数語からなる場所名 (“New York City”、“Palo Alto”など) は引用符で囲む必要があります。`place:` オペレーターごとに指定できる場所は1つだけです。注: Xのplace IDの取得方法については、GET geo/search standard v1.1エンドポイントを参照してください。例: `place:"new york city" OR place:seattle OR place:fd70c22040963ac7`                                                                                                                                                                |
| `place_country:`       | 単項          | Advanced | タグ付けされた場所/ロケーションに関連付けられている国コードが、指定した ISO alpha-2 文字コードと一致する投稿にマッチします。有効な ISO コードの一覧は、Wikipedia で確認できます。各 `place_country:` 演算子で指定できる ISO コードは 1 つだけです。例: `place_country:US OR place_country:MX OR place_country:CA`                                                                                                                                                                                                                       |
| `point_radius:`        | 単項          | Advanced | 存在する場合はポストの `place.geo.coordinates` オブジェクトに対して、また X では場所のジオポリゴンに対してマッチし、place ポリゴンが定義された領域内に完全に含まれている必要があります。`point_radius:[longitude latitude radius]`。サポートされている半径の単位はマイル (mi) とキロメートル (km) です。半径は 25mi 未満である必要があります。経度は ±180 の範囲です。緯度は ±90 の範囲です。すべての座標は度を 10 進数で表します。ルールの引数は角括弧内に含め、スペース区切りで指定します。例: `point_radius:[2.355128 48.861118 16km] OR point_radius:[-41.287336 174.761070 20mi]`                                            |
| `bounding_box:`        | 単項          | Advanced | 存在する場合はポストの place.geo.coordinates オブジェクトに対して、また X 上では place のジオポリゴンに対してマッチし、place ポリゴンが定義された領域内に完全に含まれている場合に一致します。`bounding_box:[west_long south_lat east_long north_lat]`。バウンディングボックスの幅と高さは 25mi 未満である必要があります。経度は ±180 の範囲です。緯度は ±90 の範囲です。すべての座標は 10 進表記の度数です。ルール引数は角括弧内に含め、スペース区切りで指定します。例: `bounding_box:[-105.301758 39.964069 -105.178505 40.09455]`                                                                               |
| `is:retweet`           | 他の条件との併用が必須 | コア       | 指定されたルールのその他の条件にも一致するリツイートを対象とします。このオペレーターは、通常のリツイート (たとえば、リツイートボタンを使用して生成されたもの) だけを対象とします。引用ツイートはこのオペレーターではマッチしません。例: `data @XDevelopers -is:retweet`                                                                                                                                                                                                                                                                                   |
| `is:reply`             | 他の条件との併用が必須 | コア       | ルールに一致する明示的な返信のみを返します。否定形を用いることで、クエリに一致する返信を結果から除外することもできます。注: このオペレーターは filtered stream エンドポイントでも使用できます。filtered stream で使用した場合、このオペレーターは元の投稿への返信、引用投稿内の返信、およびリツイート内の返信にマッチします。例: `from:XDevelopers is:reply`                                                                                                                                                                                                                           |
| `is:quote`             | 他の条件との併用が必須 | コア       | すべての引用ツイート (コメント付きポストとも呼ばれます) を返します。例: `"sentiment analysis" is:quote`                                                                                                                                                                                                                                                                                                                                                                   |
| `is:verified`          | 他の条件との併用が必須 | コア       | X によって認証済みのユーザーが作成した投稿のみを返します。例: `#nowplaying is:verified`                                                                                                                                                                                                                                                                                                                                                                               |
| `-is :nullcast`        | 他の条件との併用が必須 | アドバンスト   | ads.x.com 上でのプロモーション専用として作成され、`"source":"Twitter for Advertisers (legacy)"` または `"source":"Twitter for Advertisers"` を持つ投稿を除外します。このオペレーターは必ず否定形で使用する必要があります。ヌルキャストされた投稿の詳細については、投稿の提供状況に関するページを参照してください。例: `"mobile games" -is:nullcast`                                                                                                                                                                                                 |
| `has:hashtags`         | 他の条件との併用が必須 | コア       | 少なくとも 1 つのハッシュタグを含む投稿に一致します。例: `from:XDevelopers -has:hashtags`                                                                                                                                                                                                                                                                                                                                                                          |
| `has:cashtags`         | 他の条件との併用が必須 | アドバンスト   | 先頭に「$」文字が付いたカッシュタグ (例: `$tag`) を含む投稿にマッチします。例: `#stonks has:cashtags\`                                                                                                                                                                                                                                                                                                                                                                   |
| `has:links`            | 他の条件との併用が必須 | コア       | このオペレーターは、ポスト本文にリンクやメディアを含む投稿に一致します。例: `from:XDevelopers announcement has:links`                                                                                                                                                                                                                                                                                                                                                         |
| `has:mentions`         | 他の条件との併用が必須 | コア       | 別のXユーザーをメンションしている投稿にマッチします。例: `#nowplaying has:mentions`                                                                                                                                                                                                                                                                                                                                                                                 |
| `has:media`            | 他の条件との併用が必須 | コア       | X が写真、GIF、動画などのメディアオブジェクトを含むと判定した投稿にマッチします。Periscope で作成されたメディアや、他のメディアホスティングサイトへのリンクを含む投稿にはマッチしません。例: `(kittens OR puppies) has:media`                                                                                                                                                                                                                                                                                                  |
| `has:images`           | 他の条件との併用が必須 | コア       | 画像へのURLとして認識されるURLを含む投稿にマッチします。例: `#meme has:images`                                                                                                                                                                                                                                                                                                                                                                                     |
| `has:videos`           | 他の条件との併用が必須 | コア       | X に直接アップロードされたネイティブ動画を含む投稿にマッチします。Periscope で作成された動画や、他の動画ホスティングサイトへのリンクを含む投稿にはマッチしません。例：`#icebucketchallenge has:videos`                                                                                                                                                                                                                                                                                                                |
| `has:geo`              | 他の条件との併用が必須 | アドバンスト   | X ユーザーによって提供された、ポスト固有の位置情報データを含む投稿にマッチします。位置情報は、対応する表示名、ジオポリゴン、その他のフィールドを持つ X の place として指定されるか、まれに緯度・経度座標として指定されます。注記: place (ポストの位置情報) に対してマッチングを行うオペレーターは、オリジナルのポストのみを対象とします。リツイートには place データは含まれません。例: `recommend #paris has:geo -bakery`                                                                                                                                                                                           |
| `lang:`                | 他の条件との併用が必須 | コア       | X によって特定の言語であると分類された投稿にマッチします (投稿が分類されている場合にのみ有効です) 。各投稿は現在 1 つの言語にのみ分類されるため、複数の言語を AND 条件で指定しても結果は返されない点に注意してください。`lang:` 演算子ごとに指定できる BCP 47 言語識別子は 1 つだけです。注: 言語分類が行えない場合、設定される値は「und」 (未定義) です。例: `recommend #paris lang:en`                                                                                                                                                                                                          |

|                 |                                |                   |                    |
| :-------------- | :----------------------------- | :---------------- | :----------------- |
| アムハラ語: **am**   | ドイツ語: **de**                   | マラヤーラム語: **ml**   | スロバキア語: **sk**     |
| アラビア語: **ar**   | ギリシャ語: **el**                  | ディベヒ語: **dv**     | スロベニア語: **sl**     |
| アルメニア語: **hy**  | グジャラート語: **gu**                | マラーティー語: **mr**   | ソラニー・クルド語: **ckb** |
| バスク語: **eu**    | ハイチ・クレオル語: **ht**              | ネパール語: **ne**     | スペイン語: **es**      |
| ベンガル語: **bn**   | ヘブライ語: **iw**                  | ノルウェー語: **no**    | スウェーデン語: **sv**    |
| ボスニア語: **bs**   | ヒンディー語: **hi**                 | オリヤー語: **or**     | タガログ語: **tl**      |
| ブルガリア語: **bg**  | ヒンディー語 (ラテン文字表記) : **hi-Latn** | パンジャーブ語: **pa**   | タミル語: **ta**       |
| ミャンマー語: **my**  | ハンガリー語: **hu**                 | パシュトー語: **ps**    | テルグ語: **te**       |
| クロアチア語: **hr**  | アイスランド語: **is**                | ペルシア語: **fa**     | タイ語: **th**        |
| カタルーニャ語: **ca** | インドネシア語: **in**                | ポーランド語: **pl**    | チベット語: **bo**      |
| チェコ語: **cs**    | イタリア語: **it**                  | ポルトガル語: **pt**    | 繁体字中国語: **zh-TW**  |
| デンマーク語: **da**  | 日本語: **ja**                    | ルーマニア語: **ro**    | トルコ語: **tr**       |
| オランダ語: **nl**   | カンナダ語: **kn**                  | ロシア語: **ru**      | ウクライナ語: **uk**     |
| 英語: **en**      | クメール語: **km**                  | セルビア語: **sr**     | ウルドゥー語: **ur**     |
| エストニア語: **et**  | 韓国語: **ko**                    | 簡体字中国語: **zh-CN** | ウイグル語: **ug**      |
| フィンランド語: **fi** | ラオ語: **lo**                    | シンド語: **sd**      | ベトナム語: **vi**      |
| フランス語: **fr**   | ラトビア語: **lv**                  | シンハラ語: **si**     | ウェールズ語: **cy**     |
| ジョージア語: **ka**  | リトアニア語: **lt**                 |                   |                    |
