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

# 検索演算子

Xの検索演算子は、投稿者、日付、エンゲージメント、メディアの種類、言語、場所などでツイートを絞り込む特別なキーワードや記号です。このページの大半の演算子は、[ツイート検索](https://docs.sorsa.io/ja/api-reference/search/search-tweets)の`query`とx.comで利用できます。一部の「画面限定」の演算子は、ログイン中のアカウント（フォロー先、現在地、ネットワーク）に依存するため、APIでは使えません。

> **注：** コピーして使える検索条件、実運用向けのコード例（ページネーション付きPython・JavaScript）、公式X API v2の演算子との比較は、ブログの[Twitter検索演算子の完全早見表](https://api.sorsa.io/blog/twitter-search-operators)を参照してください。

## 構文の基本

* 語の間の空白は**暗黙のAND**です
* `OR`は**大文字**で記述します
* 先頭のハイフン（`-`）で語、フレーズ、演算子を**除外**します
* **丸括弧**で式をグループ化します
* 完全一致のフレーズを**二重引用符**で囲みます

演算子は、1つの検索条件につきおよそ22〜23個まで自由に組み合わせられます。ANDはORより優先されるため、`cat OR black dog`は`cat OR (black dog)`として解釈されます。丸括弧で曖昧さをなくしてください。

## 無料のビジュアル検索ビルダー

演算子を手作業で組み立てたくない場合は、[Sorsa Search Builder](https://api.sorsa.io/playground/search-builder)を使ってください。ログイン不要の無料ツールで、画面上でフィルターを切り替え、生成された検索文字列を確認してからコードに組み込めます。

***

## 1. キーワードと論理演算

| 演算子                  | 説明                          | 例                                    |
| :------------------- | :-------------------------- | :----------------------------------- |
| `keyword keyword`    | 両方の語を含むツイート（暗黙のAND）。        | `nasa esa`                           |
| `keyword OR keyword` | どちらかの語を含むツイート。`OR`は大文字で指定。  | `bitcoin OR ethereum`                |
| `"exact phrase"`     | フレーズに完全一致するツイート。自動修正も防止。    | `"state of the art"`                 |
| `-keyword`           | 指定した語、フレーズ、演算子に一致するツイートを除外。 | `crypto -scam`                       |
| `( )`                | 複雑な論理条件のために語をグループ化。         | `(AI OR "machine learning") lang:en` |
| `"word * word"`      | 引用符内のワイルドカード。`*`は任意の1語に一致。  | `"this is the * time"`               |
| `+word`              | 自動修正や語幹処理を防ぎ、完全一致を強制。       | `+radiooooo`                         |
| `#hashtag`           | 指定したハッシュタグに一致。              | `#tgif`                              |
| `$cashtag`           | 株式や暗号資産のシンボルに一致。            | `$TSLA`                              |

複数形は単数形にも一致し、その逆も同様です。演算子はツイート本文、投稿者の表示名、ユーザー名、ツイート内の展開されたURLを対象にします。

***

## 2. ユーザーとアカウントのフィルター

| 演算子                    | 説明                                              | 例                             |
| :--------------------- | :---------------------------------------------- | :---------------------------- |
| `from:username`        | 指定アカウントの投稿（@なし）。                                | `from:elonmusk`               |
| `to:username`          | 指定アカウントへの返信。                                    | `to:openai`                   |
| `@username`            | 本文のどこかで指定アカウントに言及するツイート。                        | `@sorsa_app`                  |
| `list:ID`              | 公開Xリストのメンバーによるツイート。URLにある数値のリストIDを使用。           | `list:715919216927322112`     |
| `filter:verified`      | 旧認証済みアカウント（2023年以前の青いチェックマーク）の投稿のみ。             | `AI filter:verified`          |
| `filter:blue_verified` | X Premium（有料Blue）加入者の投稿のみ。                      | `crypto filter:blue_verified` |
| `filter:follows`       | 自分がフォローしているアカウントの投稿のみ。Web画面限定で、否定不可。            | `filter:follows`              |
| `filter:social`        | アルゴリズムで拡張された自分のネットワークの投稿。「話題」の結果に対応し、「最新」には非対応。 | `filter:social`               |

***

## 3. エンゲージメントによる絞り込み

| 演算子                     | 説明                                     | 例                                     |
| :---------------------- | :------------------------------------- | :------------------------------------ |
| `min_faves:N`           | 「いいね」の最小数。                             | `AI min_faves:100`                    |
| `min_retweets:N`        | リツイートの最小数。                             | `crypto min_retweets:50`              |
| `min_replies:N`         | 返信の最小数。                                | `"product launch" min_replies:20`     |
| `-min_faves:N`          | 「いいね」の上限（否定形）。                         | `bitcoin -min_faves:1000`             |
| `-min_retweets:N`       | リツイートの上限。                              | `news -min_retweets:500`              |
| `-min_replies:N`        | 返信の上限。                                 | `tech -min_replies:100`               |
| `filter:has_engagement` | 少なくとも1回の反応があるツイート。否定すると反応がないツイートを検索可能。 | `from:username filter:has_engagement` |

非常に大きい値（1,000以上）では、件数は概算になります。

***

## 4. メディアと内容の種類

### メディアフィルター

| 演算子                      | 説明                                                       |
| :----------------------- | :------------------------------------------------------- |
| `filter:media`           | すべてのメディア（画像、動画、GIF）。                                     |
| `filter:images`          | 外部リンクを含むすべての画像。                                          |
| `filter:twimg`           | Xに直接投稿された画像のみ（`pic.twitter.com`リンク）。                     |
| `filter:videos`          | Xの動画、YouTube埋め込みなど、すべての種類の動画。                            |
| `filter:native_video`    | X所有の動画のみ（直接アップロード、旧Vine、旧Periscope）。                     |
| `filter:consumer_video`  | Xの通常の動画のみ（pro/Amplifyを除外）。                               |
| `filter:pro_video`       | Xのpro動画（Amplify）のみ。                                      |
| `filter:spaces`          | Xスペースの音声コンテンツ。                                           |
| `filter:links`           | URLを含むツイート。メディアURLも含むため、メディア以外に限定するには`-filter:media`を使用。 |
| `card_name:animated_gif` | GIFに限定。                                                  |

### ツイートの種類のフィルター

| 演算子                      | 説明                            |
| :----------------------- | :---------------------------- |
| `filter:replies`         | 他のツイートへの返信のみ。                 |
| `-filter:replies`        | 返信を除外（最上位のオリジナル投稿のみ）。         |
| `filter:nativeretweets`  | リツイートボタンで作成したネイティブリツイートのみ。    |
| `include:nativeretweets` | ネイティブリツイートを結果に含める（デフォルトでは除外）。 |
| `filter:retweets`        | 旧式のRT形式のリツイートと引用ツイート。         |
| `-filter:retweets`       | リツイートをすべて除外。                  |
| `filter:quote`           | 引用ツイートのみ。                     |
| `quoted_tweet_id:ID`     | IDで指定したツイートへの引用。              |
| `quoted_user_id:ID`      | ユーザーIDで指定したユーザーへのすべての引用。      |
| `conversation_id:ID`     | スレッド内の全ツイート（直接の返信とその下の返信）。    |

### 特殊な内容のフィルター

| 演算子                               | 説明                                    |
| :-------------------------------- | :------------------------------------ |
| `card_name:poll2choice_text_only` | テキストの2択アンケート。                         |
| `card_name:poll3choice_text_only` | テキストの3択アンケート。                         |
| `card_name:poll4choice_text_only` | テキストの4択アンケート。                         |
| `card_name:poll2choice_image`     | 画像付きの2択アンケート。                         |
| `filter:news`                     | 認識されたニュースドメインにリンクするツイート。              |
| `filter:safe`                     | NSFWやセンシティブな可能性がある内容を除外。ただし完全ではありません。 |
| `filter:hashtags`                 | 少なくとも1つのハッシュタグを含むツイートのみ。              |
| `filter:mentions`                 | @メンションを含むツイートのみ。                      |

***

## 5. 日付、時刻、Snowflake ID

| 演算子                             | 形式                              | 説明                              |
| :------------------------------ | :------------------------------ | :------------------------------ |
| `since:YYYY-MM-DD`              | `since:2026-01-01`              | 指定日以降の投稿（指定日を含む）。               |
| `until:YYYY-MM-DD`              | `until:2026-03-01`              | 指定日より前の投稿（指定日を含まない）。            |
| `since:YYYY-MM-DD_HH:MM:SS_UTC` | `since:2026-03-05_12:00:00_UTC` | タイムゾーン付きの正確な日時。                 |
| `since_time:UNIX`               | `since_time:1142974200`         | 指定したUnixタイムスタンプ（秒）より後。          |
| `until_time:UNIX`               | `until_time:1142974215`         | 指定したUnixタイムスタンプより前。             |
| `within_time:Xd`                | `within_time:2d`                | 過去X日以内。`h`、`m`、`s`にも対応。         |
| `since_id:ID`                   | `since_id:1234567890`           | 指定したSnowflake IDより後（そのIDを含まない）。 |
| `max_id:ID`                     | `max_id:1234567890`             | 指定したSnowflake ID以前（そのIDを含む）。    |

**Snowflake IDの変換。** 各ツイートIDには作成日時が符号化されています。

```text theme={null}
millisecond_epoch = (tweet_id >> 22) + 1288834974657
```

過去のデータの取得は、[過去のデータ](https://docs.sorsa.io/ja/historical-data)を参照してください。

***

## 6. 地理的なフィルター

| 演算子                       | 説明                            | 例                                   |
| :------------------------ | :---------------------------- | :---------------------------------- |
| `near:"city"`             | 指定した場所の近くに位置情報が付いた投稿。フレーズに対応。 | `near:"San Francisco"`              |
| `near:me`                 | 現在地の近く（画面限定）。                 | `near:me`                           |
| `within:Xkm`              | `near:`の半径を指定。`km`または`mi`に対応。 | `earthquake near:Tokyo within:50km` |
| `geocode:lat,long,radius` | 座標で正確な場所を指定。                  | `geocode:37.77,-122.41,5km`         |
| `place:ID`                | XのPlaceオブジェクトIDで検索。           | `place:96683cc9126741d1`            |

正確な位置情報を持つツイートは推定1〜2%です。ツイートに座標がない場合、APIはユーザーのプロフィール上の場所から逆ジオコーディングを行います。

***

## 7. 言語と投稿元

### 言語

標準のISO 639-1コード（`lang:en`、`lang:es`、`lang:fr`、`lang:de`、`lang:ja`、`lang:ru`など）と、次のX独自のコードが使えます。

| コード        | 意味                                  |
| :--------- | :---------------------------------- |
| `lang:und` | 言語未定義（絵文字のみ、またはメディアのみのツイート）。        |
| `lang:qme` | メディアリンクのみのツイート（2022年以降）。            |
| `lang:qst` | 非常に短いテキストのツイート。                     |
| `lang:qht` | ハッシュタグのみのツイート。                      |
| `lang:qam` | メンションのみのツイート。                       |
| `lang:qct` | キャッシュタグのみのツイート。                     |
| `lang:zxx` | テキストがなく、メディアまたはTwitter Cardのみのツイート。 |

### 投稿元（クライアント）

| 演算子                  | 説明                            | 例                           |
| :------------------- | :---------------------------- | :-------------------------- |
| `source:client_name` | 投稿に使ったアプリで絞り込み。空白はアンダースコアに置換。 | `source:Twitter_for_iPhone` |

一般的な値：`Twitter_for_iPhone`、`Twitter_for_Android`、`Twitter_Web_App`、`TweetDeck`、`twitter_ads`。

***

## 8. CardとURLの演算子

| 演算子                             | 説明                                                           |
| :------------------------------ | :----------------------------------------------------------- |
| `card_domain:domain`            | Twitter Card内のドメインに一致。おおむね`url:`と同等。                         |
| `card_url:domain`               | `card_domain:`と類似するが、結果が異なる場合があります。                          |
| `card_name:audio`               | Player Card（Spotify、SoundCloudなど）を含むツイート。                    |
| `card_name:player`              | 任意のPlayer Cardを含むツイート。                                       |
| `card_name:summary`             | 小さい画像のサマリーカード。                                               |
| `card_name:summary_large_image` | 大きい画像のサマリーカード。                                               |
| `card_name:promo_website`       | プロモーション用のWebサイトカード。                                          |
| `card_name:promo_image_convo`   | 画像付きの会話型広告カード。                                               |
| `card_name:promo_video_convo`   | 動画付きの会話型広告カード。                                               |
| `url:domain`                    | URLに一致。ドメインとサブドメインに有効。ハイフンはアンダースコアに置換（例：`url:t_mobile.com`）。 |

`card_name:`は通常、過去7〜8日間のツイートにのみ一致します。

***

## 検索条件の組み立て方

複雑な条件にも対応しやすい、実用的な順序です。

1. **中心となるキーワードをグループ化：** `(bitcoin OR ethereum OR $BTC)`
2. **内容の条件を追加：** `lang:en`、`filter:images`、`-filter:replies`
3. **エンゲージメントのしきい値を設定：** `min_faves:50`、`min_retweets:10`
4. **ノイズを除外：** `-from:spambot`、`-scam`、`-filter:retweets`
5. **期間を指定：** `since:2026-01-01 until:2026-03-01`

ページネーションとレート制限対応を含むPython・JavaScriptの全コード例、および実運用向けの検索条件14例は、[ブログの完全ガイド](https://api.sorsa.io/blog/twitter-search-operators)を参照してください。

***

## 既知の制限

* **演算子数の上限：** 1つの検索条件につき約22〜23個です。
* **位置情報のカバー率が低い：** 正確な位置情報を持つツイートは1〜2%だけです。
* **`card_name:`の期間制限：** 過去7〜8日間が対象です。
* **非公開・凍結アカウント**は検索結果から除外されます。
* **言語判定は完全ではありません。** 短いツイート、コード、絵文字の多い投稿では特に注意してください。
* **すべてのツイートが検索対象とは限りません。** プラットフォームの違反フラグが付いた投稿は除外される場合があります。
* **自動修正が通知なしに行われる**ことがあります。完全一致を強制するには`+word`または`"word"`を使ってください。
* **URLの一致**はドメイン・サブドメインには有効ですが、長いURLパスでは安定しません。

***

## 出典

このリファレンスは、Igor Brigadir氏が継続的に更新している[twitter-advanced-searchリポジトリ](https://github.com/igorbrigadir/twitter-advanced-search)を参考にしています。これは、文書化されていないXの検索挙動について広く使われている情報源です。

***

## 次のステップ

* [ツイート検索](https://docs.sorsa.io/ja/search-tweets)：`/search-tweets`の完全ガイド。
* [メンションの追跡](https://docs.sorsa.io/ja/search-mentions)：任意のアカウントへの@メンションを追跡する方法。
* [ページネーション](https://docs.sorsa.io/ja/pagination)：大量の検索結果を順に取得する。
* [Search Builder](https://api.sorsa.io/playground/search-builder)：無料のビジュアル検索ビルダー。
* [ブログの完全早見表](https://api.sorsa.io/blog/twitter-search-operators)：検索条件、コード例、X API v2との比較。
