本文へスキップ

Twitterの検索演算子 2026年版

Twitterの検索演算子は、from:、since:、min_faves:、filter:images のような短いコマンドで、x.comの検索ボックスに入力して、アカウント、日付、エンゲージメント、メディアで投稿を絞り込みます。1つのクエリに入るのは約22個までです。

要点: 演算子はコロンの後ろにスペースを入れず、OR は大文字で書き、日付は since:2026-10-01 until:2026-11-01 のように指定します。終了日は含まれず、どちらもUTCで数えます。公式X APIは、いくつかのフィルターの名前を変えています。x.comのクエリをそのままコードで実行するなら、Sorsa APIの POST /search-tweets が使えます。1,000ツイートあたり$0.07からで、100回分の無料リクエストで試せます。

エンドポイント
POST /search-tweets
1ページの件数
1リクエストあたり約20ツイート
料金
1,000件あたり$0.07から

#Twitterの検索演算子の仕組み

検索演算子とは、from: や lang: のようなコロン付きのキーワード、または引用符やマイナス記号などの記号で、Xの単純な検索をフィルターに変えるものです。x.comやアプリの検索ボックスに、通常の語句の隣に入力すると、Xはすべての条件を満たす投稿だけを返します。

入力ではなくクリックでクエリを組み立てるなら、無料のTwitter高度な検索ツールを開いてください。そこで設定したフィルターは、すべて演算子としてクエリに書き込まれ、最初の20件の一致投稿も表示されます。Xの公式フォーム(x.com/search-advanced)は、語句、アカウント、場所、日付に対応し、ログイン済みのアカウントでしか開けません(Xヘルプセンター(新しいタブで開きます))。

クエリが動くかどうかは、7つのルールで決まります。

  • スペースはANDを意味します。vector database は、両方の語を含む投稿を、順序を問わず見つけます。
  • OR は大文字でなければなりません。小文字の「or」は語として検索されます。
  • 前にマイナス記号を付けると、語、フレーズ、演算子を除外します。例:-crypto
  • 二重引用符は完全一致のフレーズを表し、Xによるスペルの自動修正を止めます。
  • 丸括弧は語をグループ化します。ANDはORより結び付きが強いので、cats OR black dogs は cats OR (black dogs) と解釈されます。
  • コロンの後ろにスペースは入れません。from:nasa はアカウントで絞り込みますが、from: nasa では演算子が壊れます。
  • 演算子は大文字小文字を区別しません。1つのクエリに約22個を超えると、Xは結果を返さなくなります。
Anatomy of an X search query with six operators "vector database" from:kestrel_db_engineering lang:en 語句 この語句そのまま アカウント そのアカウントの投稿 言語 英語のみ min_faves:50 -filter:replies since:2026-10-01 until:2026-11-01 いいね 50以上 投稿タイプ 返信を除く 期間 2026年10月1日~31日(UTC)
1つのクエリに6つの役割があります。各演算子が結果を絞り込み、すべてに一致した投稿だけが返ります。

#絞り込みの対象別に見る、Twitterの検索演算子一覧

以下の表は、Xのウェブ検索が受け付ける演算子を、絞り込みの対象ごとにまとめたものです。Xがヘルプページで文書化しているのは基本的なものだけです。残りは長年の公開テストから得られたもので、GitHub上のIgor Brigadirのリファレンス(新しいタブで開きます)にまとめられています。あまり使われない演算子は、レポートの根拠にする前に、小さなクエリで試してください。

語句、フレーズ、論理

語句とフレーズが一致する対象は、投稿の本文、投稿者の名前とハンドル、短縮リンクの展開後のURLです。

演算子見つかるもの例
word word両方の語を含む投稿nasa esa
ORどちらかの語を含む投稿rust OR golang
"phrase"完全一致のフレーズ(スペル修正なし)"state of the art"
-wordその語を含まない投稿jaguar -car
( )グループ化した語(rust OR go) compiler
"a * b"間の任意の1語(引用符の中のみ)"best * for startups"
+word入力したとおりの語+radiooooo
#tagハッシュタグ#buildinpublic
$TICKERキャッシュタグ$NVDA
?質問している投稿crm ?
  • word word

    見つかるもの
    両方の語を含む投稿
    例
    nasa esa
  • OR

    見つかるもの
    どちらかの語を含む投稿
    例
    rust OR golang
  • "phrase"

    見つかるもの
    完全一致のフレーズ(スペル修正なし)
    例
    "state of the art"
  • -word

    見つかるもの
    その語を含まない投稿
    例
    jaguar -car
  • ( )

    見つかるもの
    グループ化した語
    例
    (rust OR go) compiler
  • "a * b"

    見つかるもの
    間の任意の1語(引用符の中のみ)
    例
    "best * for startups"
  • +word

    見つかるもの
    入力したとおりの語
    例
    +radiooooo
  • #tag

    見つかるもの
    ハッシュタグ
    例
    #buildinpublic
  • $TICKER

    見つかるもの
    キャッシュタグ
    例
    $NVDA
  • ?

    見つかるもの
    質問している投稿
    例
    crm ?

アカウント

アカウントの演算子は、メンションの演算子そのものを除いて、@を付けずにハンドルを指定します。

演算子見つかるもの例
from:アカウントが書いた投稿from:nasa
to:アカウント宛てのリプライto:nasa
@handleアカウントにメンションした投稿@nasa -from:nasa
list:公開リストのメンバーの投稿(リストIDで指定)list:1849212213712385091
filter:verified認証済みアカウントの投稿robotics filter:verified
filter:blue_verifiedX Premium加入者の投稿robotics filter:blue_verified
filter:followsフォロー中のアカウントの投稿(ログイン済みのx.comのみ)pricing filter:follows
filter:socialXが選ぶ、より広いネットワークの投稿(トップタブ、ログイン時)rust filter:social
  • from:

    見つかるもの
    アカウントが書いた投稿
    例
    from:nasa
  • to:

    見つかるもの
    アカウント宛てのリプライ
    例
    to:nasa
  • @handle

    見つかるもの
    アカウントにメンションした投稿
    例
    @nasa -from:nasa
  • list:

    見つかるもの
    公開リストのメンバーの投稿(リストIDで指定)
    例
    list:1849212213712385091
  • filter:verified

    見つかるもの
    認証済みアカウントの投稿
    例
    robotics filter:verified
  • filter:blue_verified

    見つかるもの
    X Premium加入者の投稿
    例
    robotics filter:blue_verified
  • filter:follows

    見つかるもの
    フォロー中のアカウントの投稿(ログイン済みのx.comのみ)
    例
    pricing filter:follows
  • filter:social

    見つかるもの
    Xが選ぶ、より広いネットワークの投稿(トップタブ、ログイン時)
    例
    rust filter:social

エンゲージメント

エンゲージメントの演算子は、いいね、リポスト、リプライの下限を設定します。前にマイナス記号を付けると、下限が上限に変わります。約1,000を超える件数は概数なので、高いしきい値に近い結果は、わずかにずれることがあります。

演算子見つかるもの例
min_faves:N件以上のいいねmin_faves:100
min_retweets:N件以上のリポストmin_retweets:50
min_replies:N件以上のリプライmin_replies:20
-min_faves:N件未満のいいね-min_faves:10
-min_retweets:N件未満のリポスト-min_retweets:5
-min_replies:N件未満のリプライ-min_replies:3
filter:has_engagementいいね、リプライ、リポストのいずれかがある投稿-filter:has_engagement
  • min_faves:

    見つかるもの
    N件以上のいいね
    例
    min_faves:100
  • min_retweets:

    見つかるもの
    N件以上のリポスト
    例
    min_retweets:50
  • min_replies:

    見つかるもの
    N件以上のリプライ
    例
    min_replies:20
  • -min_faves:

    見つかるもの
    N件未満のいいね
    例
    -min_faves:10
  • -min_retweets:

    見つかるもの
    N件未満のリポスト
    例
    -min_retweets:5
  • -min_replies:

    見つかるもの
    N件未満のリプライ
    例
    -min_replies:3
  • filter:has_engagement

    見つかるもの
    いいね、リプライ、リポストのいずれかがある投稿
    例
    -filter:has_engagement

リプライ、リポスト、引用、スレッド

X検索は、ネイティブのリポストをデフォルトで除外し、リプライは含めます。そのため、最もよく使う種類のフィルターは -filter:replies と include:nativeretweets の2つです。

演算子見つかるもの例
filter:repliesリプライのみfrom:nasa filter:replies
-filter:repliesトップレベルの投稿のみ-filter:replies from:nasa
filter:self_threads投稿者が自分の投稿に付けたリプライfrom:nasa filter:self_threads
conversation_id:1つのスレッドの全投稿conversation_id:2110405289047048193
filter:quote引用投稿"launch" filter:quote
quoted_tweet_id:1つの投稿の引用quoted_tweet_id:2110405289047048193
quoted_user_id:アカウントの投稿の引用(数値IDで指定)quoted_user_id:1592041833471827968
include:nativeretweets投稿に加えてリポストもfrom:nasa include:nativeretweets
filter:nativeretweetsボタンで行ったリポストのみfrom:nasa filter:nativeretweets
filter:retweets昔の「RT」形式のリツイートと引用from:nasa filter:retweets
  • filter:replies

    見つかるもの
    リプライのみ
    例
    from:nasa filter:replies
  • -filter:replies

    見つかるもの
    トップレベルの投稿のみ
    例
    -filter:replies from:nasa
  • filter:self_threads

    見つかるもの
    投稿者が自分の投稿に付けたリプライ
    例
    from:nasa filter:self_threads
  • conversation_id:

    見つかるもの
    1つのスレッドの全投稿
    例
    conversation_id:2110405289047048193
  • filter:quote

    見つかるもの
    引用投稿
    例
    "launch" filter:quote
  • quoted_tweet_id:

    見つかるもの
    1つの投稿の引用
    例
    quoted_tweet_id:2110405289047048193
  • quoted_user_id:

    見つかるもの
    アカウントの投稿の引用(数値IDで指定)
    例
    quoted_user_id:1592041833471827968
  • include:nativeretweets

    見つかるもの
    投稿に加えてリポストも
    例
    from:nasa include:nativeretweets
  • filter:nativeretweets

    見つかるもの
    ボタンで行ったリポストのみ
    例
    from:nasa filter:nativeretweets
  • filter:retweets

    見つかるもの
    昔の「RT」形式のリツイートと引用
    例
    from:nasa filter:retweets

メディアとリンク

メディアのフィルターは投稿に添付されたものに、リンクのフィルターは投稿が指す先に一致します。card_name: の演算子はすべて、アンケートも含めて、約7日前までしかさかのぼれません。card_name:poll2choice_text_only は、2択のテキストだけのアンケートを見つけます。

演算子見つかるもの例
filter:media画像、動画、GIFのすべて#nyc filter:media
filter:images画像(リンクされたものも含む)#nyc filter:images
filter:twimgXにアップロードされた画像#nyc filter:twimg
filter:videos動画のすべて(YouTubeリンクも含む)keynote filter:videos
filter:native_videoXにアップロードされた動画keynote filter:native_video
card_name:animated_gifGIFmonday card_name:animated_gif
filter:spacesXスペースへのリンクai filter:spaces
filter:linksすべてのリンク(メディアのリンクも含む)-filter:media filter:links
url:ドメインへのリンク(ハイフンはアンダースコアに置き換え)url:github.com
filter:newsニュースサイトへのリンクelection filter:news
filter:hashtagsハッシュタグのある投稿from:nasa filter:hashtags
filter:mentions他のアカウントにメンションした投稿from:nasa filter:mentions
filter:safeセンシティブと設定された投稿を除外anime filter:safe
  • filter:media

    見つかるもの
    画像、動画、GIFのすべて
    例
    #nyc filter:media
  • filter:images

    見つかるもの
    画像(リンクされたものも含む)
    例
    #nyc filter:images
  • filter:twimg

    見つかるもの
    Xにアップロードされた画像
    例
    #nyc filter:twimg
  • filter:videos

    見つかるもの
    動画のすべて(YouTubeリンクも含む)
    例
    keynote filter:videos
  • filter:native_video

    見つかるもの
    Xにアップロードされた動画
    例
    keynote filter:native_video
  • card_name:animated_gif

    見つかるもの
    GIF
    例
    monday card_name:animated_gif
  • filter:spaces

    見つかるもの
    Xスペースへのリンク
    例
    ai filter:spaces
  • filter:links

    見つかるもの
    すべてのリンク(メディアのリンクも含む)
    例
    -filter:media filter:links
  • url:

    見つかるもの
    ドメインへのリンク(ハイフンはアンダースコアに置き換え)
    例
    url:github.com
  • filter:news

    見つかるもの
    ニュースサイトへのリンク
    例
    election filter:news
  • filter:hashtags

    見つかるもの
    ハッシュタグのある投稿
    例
    from:nasa filter:hashtags
  • filter:mentions

    見つかるもの
    他のアカウントにメンションした投稿
    例
    from:nasa filter:mentions
  • filter:safe

    見つかるもの
    センシティブと設定された投稿を除外
    例
    anime filter:safe

言語とアプリ

lang: は2文字の言語コードを受け取り、Xの自動判定をそのまま信頼します。判定が最も弱いのは、非常に短い投稿です。

演算子見つかるもの例
lang:1つの言語の投稿ramen lang:ja
lang:undXが分類できない投稿(絵文字のみなど)lang:und filter:images
lang:qmeメディアのリンクだけでできた投稿lang:qme from:nasa
source:1つのアプリから送られた投稿(スペースはアンダースコア)source:tweetdeck
  • lang:

    見つかるもの
    1つの言語の投稿
    例
    ramen lang:ja
  • lang:und

    見つかるもの
    Xが分類できない投稿(絵文字のみなど)
    例
    lang:und filter:images
  • lang:qme

    見つかるもの
    メディアのリンクだけでできた投稿
    例
    lang:qme from:nasa
  • source:

    見つかるもの
    1つのアプリから送られた投稿(スペースはアンダースコア)
    例
    source:tweetdeck

位置情報

位置情報の演算子が見るのは、場所や座標を持つ投稿だけです。これは人々の投稿のごく一部なので、位置情報クエリが返すのは会話のごく一部になります。

演算子見つかるもの例
near:ある場所の近くにタグ付けされた投稿(2語なら引用符)coffee near:boston
within:near: の半径(kmまたはmi)coffee near:tokyo within:15km
geocode:座標から半径内の投稿geocode:40.7128,-74.0060,5km
place:Xの場所IDを1つ指定してタグ付けされた投稿place:96683cc9126741d1
  • near:

    見つかるもの
    ある場所の近くにタグ付けされた投稿(2語なら引用符)
    例
    coffee near:boston
  • within:

    見つかるもの
    near: の半径(kmまたはmi)
    例
    coffee near:tokyo within:15km
  • geocode:

    見つかるもの
    座標から半径内の投稿
    例
    geocode:40.7128,-74.0060,5km
  • place:

    見つかるもの
    Xの場所IDを1つ指定してタグ付けされた投稿
    例
    place:96683cc9126741d1

日付と時刻の演算子は、次の独立した節で解説します。

#Twitterを日付で検索する方法

Xを日付で検索するには、最初の日を since: に、最後の日の翌日を until: に、どちらも YYYY-MM-DD の形式で指定します。since: はその日を含み、until: はその日の始まりで止まります。どちらの日も、UTCの午前0時から始まります。

  1. 話題またはアカウントから始めます。 "solar eclipse"、または1つのアカウントの投稿なら from:nasa です。

  2. 最初の日を加えます。 since:2026-10-01 は10月1日を含みます。

  3. 最後の日の翌日を加えます。 until:2026-11-01 なら、11月1日そのものは含まれないので、10月全体をカバーします。

  4. 「最新」タブを読みます。 一致するすべての投稿が時系列で並びます。トップには、順位づけされた一部が表示されます。

クエリ全体は from:nasa since:2026-10-01 until:2026-11-01 となります。1日だけなら since:2026-10-15 until:2026-10-16 です。Xの詳細検索フォームでは、「期間」にある「開始」と「終了」の欄が、この2つの演算子を書き出します。

since: includes its date, until: leaves its date out, both at midnight UTC since:2026-10-15 10月15日を含む until:2026-10-18 10月18日は含まない UTC 10月14日 10月15日 10月16日 10月17日 10月18日 10月19日 ニューヨーク 10月14日 10月15日 10月16日 10月17日 10月18日 10月19日 UTCでは10月15・16・17日をカバーします。10月のニューヨークの1日は04:00 UTCに始まるため、 同じクエリはニューヨーク時間の10月14日午後8時から始まります。
since:はその日付のUTC午前0時に範囲を開き、until:はその日付のUTC午前0時に閉じるため、その日は含まれません。

知っておきたいこと

日付はお使いの時計ではなく、UTCに従います。10月15日のUTCの1日は、ニューヨークでは10月14日の午後8時から10月15日の午後8時までです。そのため、その日付で検索すると、前日の夜を拾い、当日の夜を取りこぼします。ニューヨークの1日を指定するなら、時刻をUTCで書きます。since:2026-10-15_04:00:00_UTC until:2026-10-16_04:00:00_UTC

下で期間を選ぶと、x.com用、Sorsa API用、公式X API用の、それぞれの形式で演算子をコピーできます。

31日間: 2026年10月1日から10月31日、UTCの0:00から翌0:00まで。

x.comの検索ボックスとSorsa API
from:nasa since:2026-10-01 until:2026-11-01
同じ期間をUnix秒で
from:nasa since_time:1790812800 until_time:1793491200
公式X APIのパラメータ
start_time=2026-10-01T00:00:00Z&end_time=2026-11-01T00:00:00Z

日付を入れると演算子が出力されます。終了日は1日進められ、時刻はすべてUTCに変換されます。

時刻、Unix時間、投稿ID

1日より短い期間では、X検索は日付のほかに、時刻と投稿IDも受け付けます。次の各行が演算子1つと、それが見つけるものです。

日付・時刻・IDの演算子
since:2026-10-01                 # on or after a UTC date
until:2026-11-01                 # before a UTC date
since:2026-10-15_14:00:00_UTC    # from a time of day, in UTC
until:2026-10-15_18:00:00_UTC    # before a time of day
since_time:1792072800            # from a Unix second
until_time:1792087200            # before a Unix second
within_time:2d                   # the last 2 days; also h, m and s
since_id:2108468174910472193     # newer than a post ID
max_id:2110405289047048193       # that post ID and older

2010年11月以降のすべての投稿IDには、作成された瞬間が含まれています。そのため、since_id: と max_id: が正確な時刻の境界として使えます。無料のツイートIDから日付への変換ツールは、任意のIDからその時刻を読み取ります。日付の演算子は、クエリに少なくとも1つ別の語がないと、何も返しません。

X検索はどこまでさかのぼれるか

X検索は、2006年3月の最初の公開投稿までさかのぼり、日付の形式ではそれ以降の任意の日を受け付けます。古い結果が薄くなるのは、投稿が削除されたり、アカウントが非公開になったりした箇所です。X検索が返すのは、現在公開されているものだけだからです。1つのアカウントがある日に何を投稿したかを知るには、無料の日付でツイートを検索ツールが使えます。数年分を一括で取得するなら、過去のTwitterデータのガイドがバックフィルを扱っています。

#公式X APIの検索演算子

公式X API v2は、これらの演算子の独自の方言を使います。ほとんどのフィルターの名前が変わり、日付はリクエストのパラメーターで渡し、ウェブ上の名前である min_faves: や min_retweets: は400エラーで拒否されます(Xの演算子リファレンス(新しいタブで開きます))。Sorsa APIは、x.comの検索ボックスと同じ演算子を読み取るので、クエリは両者の間でそのまま移せます。

やりたいことSorsa APIとx.com公式X API v2
いいね100以上min_faves:100min_likes:100
リポスト20以上min_retweets:20min_reposts:20
リプライ10以上min_replies:10min_replies:10
2026年10月のみsince:2026-10-01 until:2026-11-01start_time、end_time パラメーター
直近2日間within_time:2dstart_time パラメーター
リプライのみfilter:repliesis:reply
引用投稿のみfilter:quoteis:quote
1つの投稿の引用quoted_tweet_id:quotes_of_tweet_id:
画像つきの投稿filter:imageshas:images
何らかのメディアつきの投稿filter:mediahas:media
リンクつきの投稿filter:linkshas:links
認証済みの投稿者filter:verifiedis:verified
リポストデフォルトで除外キーワード検索で除外
フォロー中のアカウントx.comのみ(ログイン時)演算子なし
語句、from:、to:、@、#、$、lang:、list:、url:同じ同じ
  • いいね100以上

    Sorsa APIとx.com
    min_faves:100
    公式X API v2
    min_likes:100
  • リポスト20以上

    Sorsa APIとx.com
    min_retweets:20
    公式X API v2
    min_reposts:20
  • リプライ10以上

    Sorsa APIとx.com
    min_replies:10
    公式X API v2
    min_replies:10
  • 2026年10月のみ

    Sorsa APIとx.com
    since:2026-10-01 until:2026-11-01
    公式X API v2
    start_time、end_time パラメーター
  • 直近2日間

    Sorsa APIとx.com
    within_time:2d
    公式X API v2
    start_time パラメーター
  • リプライのみ

    Sorsa APIとx.com
    filter:replies
    公式X API v2
    is:reply
  • 引用投稿のみ

    Sorsa APIとx.com
    filter:quote
    公式X API v2
    is:quote
  • 1つの投稿の引用

    Sorsa APIとx.com
    quoted_tweet_id:
    公式X API v2
    quotes_of_tweet_id:
  • 画像つきの投稿

    Sorsa APIとx.com
    filter:images
    公式X API v2
    has:images
  • 何らかのメディアつきの投稿

    Sorsa APIとx.com
    filter:media
    公式X API v2
    has:media
  • リンクつきの投稿

    Sorsa APIとx.com
    filter:links
    公式X API v2
    has:links
  • 認証済みの投稿者

    Sorsa APIとx.com
    filter:verified
    公式X API v2
    is:verified
  • リポスト

    Sorsa APIとx.com
    デフォルトで除外
    公式X API v2
    キーワード検索で除外
  • フォロー中のアカウント

    Sorsa APIとx.com
    x.comのみ(ログイン時)
    公式X API v2
    演算子なし
  • 語句、from:、to:、@、#、$、lang:、list:、url:

    Sorsa APIとx.com
    同じ
    公式X API v2
    同じ

2026年の2つの変更が、古い一覧やAIの回答で公式APIについての説明が食い違う理由です。Xは2026年1月19日に、検索エンドポイントで min_likes:、min_replies:、min_reposts: を停止し、5月4日に復活させました。このとき検索が新しいインデックスに移り、キーワードクエリのリツイートも返されなくなりました(XのAPI変更履歴(新しいタブで開きます))。公式APIはエンゲージメントのフィルターを「無視する」という説は、その間の数か月を説明したものです。現在は、ウェブ上の名前にはエラーを返します。

公式エンドポイントは、クエリ文字列の長さにも上限があります。過去7日間をカバーする直近検索は512文字、全アーカイブ検索は1,024文字です。has:media や is:reply のような論理積だけの演算子は、そこでは単独でクエリを構成できず、語、アカウント、ハッシュタグを隣に置く必要があります。

#Sorsa APIで同じクエリをコードから実行する

Xの検索演算子をコードから実行するなら、Twitter(X)API兼スクレイピングツールであるSorsa APIが使えます。POST /search-tweets は、x.comで入力するのと同じクエリをそのまま受け取り、1リクエストで約20ツイートを、各投稿者のプロフィール全体つきで返します。料金は結果1,000件あたり$0.07からです。公式X APIは1,000投稿あたり$5.00で、開発者アカウントとOAuthが必要なうえ、x.comとは別の演算子名を読み取ります。

  1. キーを取得します。 登録して、ダッシュボードからAPIキーをコピーします。最初の100リクエストは無料です。

  2. クエリを送ります。 演算子はJSONボディの query フィールドに入れます。order では popular(トップ。デフォルト)か latest を選びます。

    Terminal
    curl -X POST "https://api.sorsa.io/v3/search-tweets" \
      -H "ApiKey: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "query": "\"vector database\" lang:en min_faves:50 since:2026-10-01",
        "order": "latest"
      }'
    
  3. ツイートを読み取ります。 各ツイートには、カウント、ISO 8601形式の日付、投稿者のプロフィールが付いてきます。

    Response200 OK
    {
      "tweets": [
        {
          "id": "2110405289047048193",
          "full_text": "Benchmarked three vector database engines on 40M vectors.",
          "created_at": "2026-10-14T16:20:05Z",
          "lang": "en",
          "likes_count": 184,
          "retweet_count": 41,
          "reply_count": 23,
          "quote_count": 6,
          "view_count": 52300,
          "is_reply": false,
          "user": {
            "id": "1592041833471827968",
            "username": "kestrel_db_engineering",
            "display_name": "Kestrel DB Engineering",
            "followers_count": 12480,
            "verified": false
          }
        }
      ],
      "next_cursor": "DAABCgABGSmiaxkAAgoAAgjEJ"
    }
    
  4. カーソルをたどります。 カーソルのないレスポンスが返るまで、同じクエリに next_cursor を付けて送り返します。

    import requests
    
    URL = "https://api.sorsa.io/v3/search-tweets"
    HEADERS = {"ApiKey": "YOUR_API_KEY"}
    
    
    def search(query, order="latest"):
        body = {"query": query, "order": order}
        while True:
            r = requests.post(URL, headers=HEADERS, json=body)
            r.raise_for_status()
            page = r.json()
            yield from page["tweets"]
            cursor = page.get("next_cursor")
            if not cursor:
                break
            body["next_cursor"] = cursor
    
    
    q = '"vector database" lang:en min_faves:50 since:2026-10-01'
    for tweet in search(q):
        print(tweet["created_at"], tweet["user"]["username"])
    

403はキーがないかリクエストを使い切ったことを、429は1秒間に20リクエストを超えたことを示します。失敗したリクエストに課金されることはありません。すべてのフィールドはPOST /search-tweets のリファレンス(新しいタブで開きます)に載っています。クエリをスケジュールで繰り返し実行する方法は、Twitter検索APIのガイドで解説しています。

検索作業の費用は、結果の件数に比例します。Sorsa APIはリクエスト単位の課金で、1リクエストにつき約20件です。公式X APIは、返した投稿1件ごとに課金します。

検索結果Sorsa API(最安)公式X API
1,000$0.07$5.00
10万$7$500
100万$70$5,000
  • 1,000

    Sorsa API(最安)
    $0.07
    公式X API
    $5.00
  • 10万

    Sorsa API(最安)
    $7
    公式X API
    $500
  • 100万

    Sorsa API(最安)
    $70
    公式X API
    $5,000

100回分の無料リクエストで約2,000件の検索結果を取得できるので、上のどのクエリでも、最初のテストは無料です。

#すぐに使える検索クエリ集

よく実行される検索を集めました。どのクエリも、x.comの検索ボックスと、Sorsa APIの query フィールドに、そのまま入力して使えます。語句、アカウント、日付は、ご自身のものに置き換えてください。x.comでは、検索結果ページのアドレスにクエリが含まれるため、ブックマークすれば検索を保存できます。アドレスの末尾に &f=live を付けると、「最新」タブが開きます。

検索クエリ
# What people say about a brand, without its own posts
("acme cloud" OR @acme_cloud_status) -from:acme_cloud_status -filter:replies

# Questions in a niche that nobody has answered yet
("any recommendations" OR "what do you use") crm ? -min_replies:1 lang:en

# The most liked posts on a topic this month
"vector database" min_faves:200 -filter:replies since:2026-10-01

# One account's posts on a subject in October 2026
from:kestrel_db_engineering benchmark since:2026-10-01 until:2026-11-01

# Complaints about a competitor
@brightpath_analytics (broken OR outage OR refund OR "not working")

# Every reply in one thread
conversation_id:2110405289047048193

# Quote posts of one post
quoted_tweet_id:2110405289047048193

# Images under a hashtag, original posts only
#buildinpublic filter:images -filter:replies

# Posts that link to your site, from other accounts
url:acmecloud.dev -from:acme_cloud_status

# Hiring posts with links, from the last 2 days
(hiring OR "we're hiring") "rust engineer" filter:links within_time:2d

1つのアカウントにタグ付けされたすべての投稿を、いいね、リプライ、日付のフィルターつきでリクエストに指定して追うには、TwitterメンションAPIのガイドを参照してください。

#検索結果が空になる原因

クエリの結果が空のとき、原因はたいてい、Xではなく構文にあります。まず次の点を確認してください。

  • コロンの後ろのスペース、小文字の or、YYYY-MM-DD ではない日付の書き方。
  • 終了日。 until: はその日自体を含まないため、until:2026-10-31 では10月31日が抜けます。
  • トップタブ。 トップは結果を順位づけして絞り込みます。「最新」に切り替えるか、Sorsa APIに "order": "latest" を送ってください。
  • 非公開アカウント。 非公開や凍結されたアカウントは、誰が検索しても表示されません。
  • 範囲の短さ。 card_name: がカバーするのは直近約7日間で、位置情報のフィルターが見るのはタグ付けされた投稿だけです。
  • 演算子が多すぎる。 約22個を超えたら、クエリを2つに分けて、結果を統合します。
  • url: のハイフン。 t-mobile.comなら url:t_mobile.com と書きます。
  • Xがフィルターとして読む語。 photoやvideoを検索すると、メディアのフィルターに変わることがあります。その語は引用符で囲んでください。
  • 公式APIの名前。 has:media、is:reply、min_likes: は公式X APIのものです。x.comとSorsa APIでは、filter:media、filter:replies、min_faves: を使います。

間違った結果の大半は、次の5組が原因です。

この2つ違い
to: と @to: はそのアカウントへのリプライを、@ はそのアカウントにタグ付けした全投稿を見つける
filter:retweets と filter:nativeretweets昔の「RT」テキスト形式のリツイートと引用、対してボタンで行ったリポスト
filter:nativeretweets と include:nativeretweetsリポストだけを返す、対して通常の結果にリポストを加える
filter:images と filter:twimgリンクされたものも含む任意の画像、対してXにアップロードされた画像
min_faves: と min_likes:同じ下限。x.comでの名前と、公式X APIでの名前
  • to: と @

    違い
    to: はそのアカウントへのリプライを、@ はそのアカウントにタグ付けした全投稿を見つける
  • filter:retweets と filter:nativeretweets

    違い
    昔の「RT」テキスト形式のリツイートと引用、対してボタンで行ったリポスト
  • filter:nativeretweets と include:nativeretweets

    違い
    リポストだけを返す、対して通常の結果にリポストを加える
  • filter:images と filter:twimg

    違い
    リンクされたものも含む任意の画像、対してXにアップロードされた画像
  • min_faves: と min_likes:

    違い
    同じ下限。x.comでの名前と、公式X APIでの名前

投稿にいいねしたアカウントを一覧にする演算子はなく、ダイレクトメッセージや非公開アカウントを検索する演算子もありません。検索が対象とするのは、現在Xで公開されているものです。

#検索演算子を使って、コードからXを検索する

Twitterの検索演算子は、キーワード検索を精密なフィルターに変えます。x.comで動くクエリは、Sorsa APIでもそのままコードから実行できます。検索ボックスかTwitter高度な検索ツールでクエリを組み立て、POST /search-tweets に送ってください。1リクエストで約20ツイート、2006年までの任意の日付、全プラン毎秒20リクエストで、結果1,000件あたり$0.07からです。最初の100リクエストは無料です。

#よくある質問

2026年も、Xに高度な検索はありますか?

はい。Xの詳細検索フォーム(x.com/search-advanced)は、ログイン済みのアカウントなら今も開けます。ウェブとアプリの検索ボックスも、from:、since:、min_faves: などの演算子を引き続き受け付けます。エンゲージメントの演算子は、2026年5月4日に公式X APIにも min_likes:、min_replies:、min_reposts: という名前で戻りました。

until:は終了日を含みますか?

含みません。until: はその日付より前の投稿を返すので、日付そのものは含まれません。since:2026-10-01 until:2026-10-31 は、10月30日の終わりで止まります。最終日を含めるには、until: をその翌日に設定します。since: は逆で、その日付を含みます。どちらの日付もUTCの午前0時から始まります。

X検索で、1回に使える演算子はいくつですか?

x.comでは、約22個の演算子までが1つのクエリに入り、それを超えると結果が返らなくなります。この上限はXが公表したものではなく、公開テストで分かったものです。公式X APIは文字数で数えます。直近検索は1クエリ512文字、全アーカイブ検索は1,024文字です。長いアカウントや語のリストは、複数のクエリに分けて、結果を統合してください。

Xのアカウントなしで、Twitterの検索演算子を使えますか?

x.comでは使えません。Xは検索結果をログイン済みのアカウントにしか表示せず、x.com/search-advanced の詳細検索フォームも、ログイン済みのアカウントでしか開けません。ログインしていれば、このページのすべての演算子を、ウェブとアプリの検索ボックスで、通常の語句の隣に入力して使えます。

min_favesのようなTwitter検索演算子に対応するAPIはどれですか?

Sorsa APIは、POST /search-tweets で、x.comの演算子構文を、min_faves:、since:、until:、filter: を含めて、そのまま実行します。1リクエストで約20ツイートを投稿者のプロフィール全体つきで返し、2006年までさかのぼれて、全プラン毎秒20リクエストです。料金は結果1,000件あたり$0.07からで、公式X APIの$5.00を下回ります。

#検証の方法

2026年11月2日に、このページの演算子を、XのAPIドキュメント(演算子の一覧、クエリのルール、変更履歴、料金表)、Xの詳細検索のヘルプページ、自社のAPIリファレンスと検索ドキュメント、GitHubの公開リファレンスと照らし合わせました。今回の更新では、x.comでの実際の検索は行っていません。リクエストとレスポンスは、公開中のAPIリファレンスに基づいて書き、例には架空のアカウントを使っています。

Sorsa APIチーム 読み取り専用のX(Twitter)APIとスクレイピングツール、Sorsa APIを開発・運営しています。2022年から本番稼働し(旧TweetScout API)、累計60億リクエスト以上を処理しています。 Sorsa APIについて

変更点
  • 全面的に書き直しました。演算子を表に整理し直し、廃止した日付検索ガイドから日付指定の節を統合して期間ビルダーを追加しました。x.com、Sorsa API、公式X APIを比べる3列の対応表はXの変更履歴で確認済みです。クエリのレシピと対処法も追加しています。2026-05-16: 初回公開。