Skip to main content
X API は、ポスト、ユーザー、メディアなどを表現する構造化された JSON オブジェクトを返します。このリファレンスでは、各オブジェクトの種類ごとに利用可能なすべてのフィールドを記載しています。

クイックナビゲーション

特定のフィールドをリクエストするには fields パラメータ を使用し、関連オブジェクトを含めるには expansions を使用します。

ポスト (ツイート)

ポストは X における中核的なコンテンツ単位です。各ポストオブジェクトには、テキスト、メタデータ、投稿者、メディア、投票などの関連オブジェクトへの参照が含まれます。 デフォルトフィールド: id, text, edit_history_tweet_ids 追加のフィールドを取得するには tweet.fields を、関連オブジェクトを含めるには expansions を使用します。

すべてのポストのフィールド

ツイートオブジェクトの取得 サンプルリクエスト 次のリクエストでは、Tweets lookup エンドポイントに対して、ツイートのフィールドを指定してリクエストしています。必ず $BEARER_TOKEN を自分で生成した ベアラートークン に置き換えてください。
レスポンス例

User

user オブジェクトには、参照されているユーザーを表す X ユーザーアカウントのメタデータが含まれます。user オブジェクトは、users lookup エンドポイントで返される主要なオブジェクトです。このエンドポイントで追加のユーザーフィールドをリクエストする場合は、user.fields フィールドパラメータを使用します。 user オブジェクトは、子オブジェクトとして Tweet オブジェクト内にも含まれ、expansion によって展開できます。オブジェクトは、デフォルトフィールドのみを含む簡略化されたオブジェクトを取得するために、?expansions=author_id または ?expansions=in_reply_to_user_id で展開可能です。オブジェクトを完全な形にするために追加のフィールドをリクエストする際は、expansions とフィールドパラメータ user.fields を組み合わせて使用してください。   ユーザーオブジェクトの取得 リクエスト例 次のリクエストでは、users lookup エンドポイントを使用してユーザーオブジェクトのフィールドをリクエストします。$BEARER_TOKEN は、ご自身で生成した ベアラートークン に必ず置き換えてください。
レスポンス例

Space

Space では、ライブ音声会話を通じて表現や交流を行うことができます。Space データディクショナリには Space に関する関連メタデータが含まれており、その詳細はすべてリアルタイムで更新されます。 User オブジェクトは user リソースで取得・展開できます。これらのオブジェクトは、host_idscreator_idspeaker_idsmentioned_user_ids のいずれか少なくとも 1 つを expansions クエリパラメータに追加することで、expansion の対象として指定できます。 ツイートとは異なり、Space は一時的なものであり、終了後、または作成者によってキャンセルされた場合は利用できなくなります。アプリケーションが Space データを扱う際には、常に最新の情報を返し、プラットフォーム上で利用できなくなったデータを削除する責任があります。Spaces lookup endpoints を利用すると、ユーザーの期待や意図を尊重できているかを確認するのに役立ちます。 Retrieving a Space Object Sample Request 次のリクエストでは、Spaces lookup endpoint で Space のフィールドをリクエストしています。必ず $BEARER_TOKEN を、ご自身で生成したベアラートークンに置き換えてください。
** レスポンス例 **

リスト

リストオブジェクトには、参照されているリストを説明する Twitter Lists のメタデータが含まれます。List オブジェクトは、List ルックアップエンドポイントで返される主オブジェクトです。このエンドポイントで追加の List フィールドを要求する場合は、list.fields パラメータグループを使用します。 List オブジェクトが他のデータオブジェクトの子要素として返されることはありません。ただし、User オブジェクトは user リソースで取得および展開できます。これらのオブジェクトは、expansions クエリパラメータに owner_id を追加することで展開して取得できます。主要な List オブジェクトを補完するために追加フィールドを要求する際は、この展開と list.fields フィールドパラメータを組み合わせて使用し、展開オブジェクトを補完するには user.fields を使用します。 User オブジェクトの取得 サンプルリクエスト 次のリクエストでは、List lookup by ID エンドポイントでユーザーに関するフィールドを要求しています。$BEARER_TOKEN は、生成済みの ベアラートークン に置き換えてください。
** レスポンス例**

メディア

メディアとは、ツイートに添付された画像、GIF、または動画を指します。media オブジェクトはどのエンドポイントでも主オブジェクトではありませんが、ツイートオブジェクト内に含まれており、参照・展開できます。オブジェクトは ?expansions=attachments.media_keys を指定することで展開可能で、デフォルトフィールドのみを含む簡略化されたオブジェクトを取得できます。オブジェクトを補完するために追加フィールドをリクエストする場合は、media.fields フィールドパラメータと組み合わせてこの expansions を使用します。 メディアオブジェクトの取得 サンプルリクエスト 次のリクエストでは、Tweet lookup エンドポイントで、Tweet に添付されている media オブジェクトのフィールドを取得しています。media は Tweet の子オブジェクトであるため、attachment.media_keys の展開を指定する必要があります。$BEARER_TOKEN は、必ずご自身で生成した ベアラートークン に置き換えてください。

Poll

ツイートに含まれる投票 (Poll) は、いずれのエンドポイントでもプライマリオブジェクトではありませんが、ツイートオブジェクト内で取得および展開することができます。このオブジェクトは、?expansions=attachments.poll_ids を指定することで、デフォルトフィールドのみを含む簡略化されたオブジェクトとして展開可能です。オブジェクトを完全な形で取得するために追加のフィールドをリクエストする場合は、expansions とフィールドパラメータ poll.fields を組み合わせて使用してください。 投票オブジェクトの取得 サンプルリクエスト 次のリクエストでは、Tweets lookup エンドポイントでツイートに添付された投票オブジェクトのフィールドをリクエストしています。poll はツイートの子オブジェクトであるため、attachments.poll_id の expansion が必須です。$BEARER_TOKEN はご自身で生成した Bearer Token に必ず置き換えてください。
レスポンス例

Place

ツイートにタグ付けされた場所は、どのエンドポイントにおいてもプライマリオブジェクトではありませんが、ツイートリソース内で取得および展開できます。オブジェクトは ?expansions=geo.place_id を使用して、デフォルトフィールドのみを含む省略版のオブジェクトとして展開可能です。オブジェクトを補完する追加フィールドをリクエストする場合は、フィールド用パラメータ place.fields を expansions と併用してください。 place オブジェクトの取得 サンプルリクエスト 次のリクエストでは、Tweets lookup エンドポイント上のツイートに付随する place オブジェクトのフィールドをリクエストしています。place はツイートの子オブジェクトであるため、geo.place_id の expansion パラメータが必須です。必ず $BEARER_TOKEN を、自身で生成した ベアラートークン に置き換えてください。
レスポンス例

ダイレクトメッセージイベント

ダイレクトメッセージ (DM) の会話は、イベントの集合で構成されています。X API v2 は現在、MessageCreate、ParticipantsJoin、ParticipantsLeave の 3 種類のイベントタイプをサポートしています。 DM イベントオブジェクトは Direct Message lookup エンドポイントから返され、Manage Direct Messages エンドポイントでダイレクトメッセージが正常に作成されると、MessageCreate イベントが生成されます。 DM イベントをリクエストする際には、デフォルトで 3 つのイベントオブジェクト属性、つまりフィールドが含まれます: id、event_type、text です。追加のイベントフィールドを取得するには、fields パラメータ dm_event.fields を使用して、他のフィールドを指定します。利用可能なその他のイベントフィールドには、次のものが含まれます: dm_conversation_id、created_at、sender_id、attachments、participant_ids、referenced_tweets。 これらのフィールドのいくつかは、ダイレクトメッセージイベントに関連する他の X オブジェクトの ID を提供します:
  • sender_id - メッセージを送信した、あるいはグループ会話に参加者を招待したアカウントの ID
  • partricipants_ids - アカウント ID の配列。ParticipantsJoin および ParticipantsLeave イベントでは、この配列にはイベントを作成したアカウントの ID が 1 件だけ含まれます
  • attachments - 送信者によって X にアップロードされたコンテンツのメディア ID を提供します
  • referenced_tweets - text フィールド内でツイート URL が検出された場合、そのツイートの ID がレスポンスに含まれます
sender_id、participant_ids、referenced_tweets.id、attachments.media_keys の expansions を使用して、これらの X オブジェクト ID を展開することができます。 ダイレクトメッセージイベントオブジェクトの取得 サンプルリクエスト この例では、1 対 1 の会話に関連付けられたイベントを取得するリクエストを作成します。このリクエストは、基本的なダイレクトメッセージイベントのフィールドに加え、参照されているツイートおよびその作成者に関する追加フィールドを返します。次の内容を要求するクエリを構築してみましょう。
  • 作成されたタイミングや、どの会話 (dm_conversation) に属しているかといった、基本的なイベント属性。
  • ダイレクトメッセージを送信したアカウントの ID と説明。
  • 参照されているツイートのテキストと、その投稿日時。
  • 参照されているツイート作成者のアカウント ID と説明。
これらの属性を返すには、リクエストクエリに次の内容を含めます。 ?dm_event.fields=id,sender_id,text,created_at,dm_conversation_id&expansions=sender_id,referenced_tweets.id&tweet.fields=created_at,text,author_id&user.fields=description
必ず $BEARER_TOKEN を自分で生成したベアラートークンに置き換えてください。 レスポンス例

コミュニティ

コミュニティは、X ユーザーがつながり、共有し、自分が最も関心のある議論により近づくための専用スペースです。 コミュニティ内の投稿は X 上の誰でも閲覧できますが、実際にやり取りしたり議論に参加できるのは、そのコミュニティ内の他のメンバーのみです。 Community オブジェクトには、コミュニティに関する関連メタデータが含まれます。 Community オブジェクトの取得 サンプルリクエスト 次のリクエストでは、指定したキーワードに基づいてコミュニティのリストを検索しつつ、特定のフィールドをリクエストしています。必ず、$BEARER_TOKEN を自分で生成した ベアラートークン に置き換えてください。
レスポンス例

フィールドとexpansionsの使い方

デフォルトでは、fieldsexpansions パラメータ、fields を使用せずにリクエストを行うと、X API v2 のデータオブジェクトにはごく少数のデフォルトフィールドのみが含まれます。このガイドでは、レスポンスで追加のオブジェクトやフィールドを受け取れるように、リクエストで fieldsexpansions のクエリパラメータを使用する方法を説明します。 このガイドでは、次のツイートのスクリーンショットに含まれる複数のフィールドをリクエストしていきます。   この画像には、@X が投稿したツイートのスクリーンショットが含まれています。ツイート本文、ユーザー名、投稿日と時刻、ソース、および公開メトリクスが表示されています。動画も含まれています。 スクリーンショットでわかるように、このツイートにはツイートの投稿者、ツイートのメトリクス、作成タイムスタンプ、動画、動画の再生回数など、いくつかの情報が表示されています。また、スクリーンショットには表示されていませんが、リクエスト可能なデータもいくつか存在します。  API へのリクエストを行うと、デフォルトのレスポンスはシンプルで、デフォルトのツイートフィールド (idtext) のみが含まれます。また、利用しているエンドポイントが返すプライマリオブジェクトのみが取得され、そのプライマリオブジェクトに関連する付随データオブジェクトは含まれません。 このシンプルさと fields および expansions パラメータを組み合わせることで、利用目的に応じて必要なフィールドだけをリクエストできるようになります。   

追加のフィールドとオブジェクトのリクエスト

まず、ツイートIDとGET /tweetsエンドポイントを使用して、ツイートオブジェクトをリクエストします。 リクエスト:
レスポンス:
以下のステップバイステップガイドでは、スクリーンショットに表示されている追加データの取得方法を説明します。
  1. オブジェクトモデルを参照するか、各エンドポイントのAPIリファレンスページに記載されたフィールド一覧を確認し、追加でリクエストしたいフィールドを特定します。 この場合、次の追加フィールドを指定します: attachments、author_id、created_at、public_metrics。
  2. 上記のフィールドを値として使用し、カンマ区切りのリストで tweet.fields クエリパラメータを指定します: ?tweet.fields=attachments,author_id,created_at,public_metrics
  3. 先ほど行った GET /tweets リクエストにクエリパラメータを追加します。
リクエスト: curl --request GET --url 'https://api.x.com/2/tweets?ids=1260294888811347969&tweet.fields=attachments,author_id,created_at,public_metrics' \ --header 'Authorization: Bearer $BEARER_TOKEN' レスポンス:
  1. 次に、ツイートに含まれている動画に関連するフィールドをリクエストします。これには、expansions パラメータの値として attachments.media_keys を指定し、リクエストに追加します。
?expansions=attachments.media_keys リクエスト:
レスポンス。メディアオブジェクトは includes オブジェクトで表されます:
  1. 最後に、動画の再生回数と長さをリクエストします。これらはデフォルトフィールドではないため、明示的にリクエストする必要があります。リクエストに media.fields パラメータを使用し、カンマ区切りの値として public_metricsduration_ms を指定してください。
?media.fields=public_metrics,duration_ms リクエスト:   curl --request GET --url 'https://api.x.com/2/tweets?ids=1260294888811347969&tweet.fields=attachments,author_id,created_at,public_metrics&expansions=attachments.media_keys&media.fields=duration_ms,public_metrics' --header 'Authorization: Bearer $BEARER_TOKEN' このリクエストのレスポンスには、ツイートのスクリーンショットに表示されているデータがすべて含まれます。
この例では、合計で次のパラメータを指定しています。
  • ids=1260294888811347969
  • tweet.fields=attachments,author_id,created_at,public_metrics
  • expansions=attachments.media_keys
  • media.fields=public_metrics,duration_ms  
これらを組み合わせると、最終的なクエリ文字列は次のようになります。

X API v2 のペイロード例

ツイート

返信ツイート

拡張ツイート

メディア付きツイート

リツイートされた引用ツイート