メインコンテンツへスキップ
特定のトピックやイベントに関するX上の会話を可視化するうえで、Postsの検索は重要な機能です。X自体にも同様の機能はありますが、これらのendpointはPostsのフィルタリングと取り込みにおいて、より柔軟で強力です。これにより、調査に関連するデータを見つけやすくなり、準リアルタイムの「リスニング」アプリケーションを構築したり、関心のあるトピックに関連するPostsを探索・分析・活用したりできます。  Postsを検索できるendpointは2種類あります。Recent searchとfull-archive searchです。これらのREST endpointは共通の設計と機能を備えており、特定のトピックに関するPostsを1つの検索queryでフィルタリングする点が共通しています。検索queryは、メッセージのキーワード、ハッシュタグ、URLなどのPostおよびユーザー属性にマッチする一連のオペレーターで作成します。オペレーターはブール論理や括弧と組み合わせて、queryのマッチング挙動をより精緻にできます。  recent searchとfull-archive searchの両endpointは、編集されたPostのmetadataを提供します。2022年9月29日以降に作成されたPostsのすべてのオブジェクトには、Postが一度も編集されていない場合でも、Postの編集metadataが含まれます。Postが編集されるたびに、新しいPost IDが作成されます。あるPostの編集履歴は、元のIDから始まるPost IDの配列で記録されます。 これらのendpointは常に、最新の編集内容と編集履歴を返します。30分の編集可能時間を過ぎて収集されたPostは、その最終版を表します。Edit Postのmetadataの詳細は、Edit Posts fundamentalsページをご覧ください。 queryを設定してPostsの受信を開始すると、これらのendpointは結果を時間およびPost IDの範囲でナビゲートすることをサポートします。これは、次の2つの一般的なユースケースを想定しています。 
  • 履歴を取得: 関心期間に対してリクエストを行い、データのリアルタイム性は重視しません。単一のリクエストで、必要に応じてページネーションを用いて一致するすべてのdataが配信されます。これはSearch Postsのデフォルトモードです。
  • ポーリングまたはリスニング: 「前回のリクエスト以降に新しいPostsはあるか?」というモードで継続的にリクエストします。通常、関心のあるPostsを準リアルタイムで「リスニング」するユースケースに焦点を当てます。
多くのオペレーターおよびqueryの上限はEnterprise access専用です。つまり、追加機能を利用するには、Enterprise accessを持つProject内のAppのキーおよびトークンを使用して認証する必要があります。詳細は後述のendpointセクションをご覧ください。 recent searchとfull-archive searchの両endpointで返されるPostsは、月次のPost上限に計上されます。 アカウントのセットアップ これらのendpointにアクセスするには、次が必要です。 X API v2 endpointへのアクセス方法は、はじめにガイドをご覧ください。 Recent search endpoint は、過去1週間に投稿された公開の Posts にフィルターをかけてプログラムからアクセスできるようにするもので、デベロッパーアカウントを持ち、Project 内の App のキーおよびトークンを使用しているすべての開発者が利用できます。 リクエストの認証には、OAuth 1.0a ユーザーコンテキストOAuth 2.0 App-Only、または OAuth 2.0 Authorization Code(PKCE 付き) を使用できます。ただし、private metrics や、Post の結果内でのオーガニックとプロモーションの metrics の内訳を受け取りたい場合は、OAuth 1.0a ユーザーコンテキストまたは OAuth 2.0 Authorization Code(PKCE 付き)を使用し、対象コンテンツを投稿したユーザーに紐づくユーザーの Access Tokens を渡す必要があります。 この endpoint は、リクエストごとに最大 100 件の Posts を新しい順(逆時系列)で返し、マッチした Posts の大規模セットをページングするためのページネーショントークンを提供します。 通常アクセスの Project を使用する場合、基本的なオペレーターを使用でき、512 文字までの query を作成できます。Enterprise アクセスの Project を使用する場合は、追加のオペレーターが利用可能です。Enterprise アクセスの Projects は、最大 4096 文字の query を作成できます。 アクセスレベルの詳細をご覧ください。 v2 のフルアーカイブ検索 endpoint は、Pro アクセスおよび Enterprise アクセスを持つ Project にのみ提供されます。この endpoint により、検索 query に基づいて、2006 年 3 月の最初の Post まで遡る完全なアーカイブから公開 Post にプログラムでアクセスできます。 この endpoint へのリクエストは OAuth 2.0 App-Only を使用して認証でき、App Access Token は Pro または Enterprise アクセスを持つ Project 内の App から発行されたものである必要があります。この endpoint では他のユーザーの代わりにリクエストを行う(OAuth 1.0a ユーザーコンテキスト または OAuth 2.0 Authorization Code(PKCE 付き))ことはできないため、非公開の metrics を取得することはできません。 この endpoint は、逆時系列で 1 リクエストあたり最大 500 件の Posts を返し、マッチした大量の Posts をページングするための pagination トークンを提供します。 注意: tweet.fields パラメータで annotations を要求する場合、max_results パラメータの最大値は現在 100 に制限されています。将来的に変更される可能性はありますが、この制限に留意してください。 この endpoint は Pro および Enterprise アクセスの承認を受けた方のみが利用可能なため、検索 operators のフルセットにアクセスでき、最大 1024 文字までのクエリを作成できます。






関連リソース Postman を使ってリクエストを送る方法 エラーのトラブルシュート API リファレンスページを見る
I