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

# Metrics

> X API v2 の Post と動画メディアに対して、public、non-public、organic、promoted のエンゲージメント metrics（impressions、likes、views を含む）をリクエストします。

X API では、post やメディアのエンゲージメント metrics を取得できます。任意の認証で public metrics にアクセスできるほか、ユーザー認証で自分のコンテンツの private metrics にもアクセスできます。

***

## メトリックタイプ

| Type           | Authentication | Description                                   |
| :------------- | :------------- | :-------------------------------------------- |
| **Public**     | Bearer Token   | 誰にでも表示されます（impressions、likes、reposts、replies） |
| **Non-public** | User context   | プライベート metrics（clicks）                        |
| **Organic**    | User context   | プロモーションされていない閲覧からの metrics                    |
| **Promoted**   | User context   | 広告表示からの metrics                               |

<Note>
  **30 日制限**: non-public、organic、promoted metrics は、過去 30 日以内に作成された post のみで利用可能です。
</Note>

***

## 利用可能な metrics

### Post metrics

| Metric         | Type       | Field path                               |
| :------------- | :--------- | :--------------------------------------- |
| Reposts        | Public     | `public_metrics.retweet_count`           |
| Quotes         | Public     | `public_metrics.quote_count`             |
| Likes          | Public     | `public_metrics.like_count`              |
| Replies        | Public     | `public_metrics.reply_count`             |
| Impressions    | Public     | `public_metrics.impression_count`        |
| Bookmarks      | Public     | `public_metrics.bookmark_count`          |
| URL clicks     | Non-public | `non_public_metrics.url_link_clicks`     |
| Profile clicks | Non-public | `non_public_metrics.user_profile_clicks` |
| Engagements    | Non-public | `non_public_metrics.engagements`         |

### Media metrics（動画）

| Metric        | Type       | Field path                              |
| :------------ | :--------- | :-------------------------------------- |
| Views         | Public     | `public_metrics.view_count`             |
| Playback 0%   | Non-public | `non_public_metrics.playback_0_count`   |
| Playback 25%  | Non-public | `non_public_metrics.playback_25_count`  |
| Playback 50%  | Non-public | `non_public_metrics.playback_50_count`  |
| Playback 75%  | Non-public | `non_public_metrics.playback_75_count`  |
| Playback 100% | Non-public | `non_public_metrics.playback_100_count` |

***

## metrics のリクエスト

### Public metrics（任意の認証）

```bash theme={null}
curl "https://api.x.com/2/tweets/1234567890?tweet.fields=public_metrics" \
  -H "Authorization: Bearer $TOKEN"
```

レスポンス:

```json title="Example response" lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "data": {
    "id": "1234567890",
    "text": "Hello world!",
    "public_metrics": {
      "retweet_count": 50,
      "reply_count": 12,
      "like_count": 234,
      "quote_count": 5,
      "bookmark_count": 8,
      "impression_count": 5432
    }
  }
}
```

### Private metrics（user context）

自分が所有する post には、OAuth 1.0a または user context を伴う OAuth 2.0 が必要です。

```bash theme={null}
curl "https://api.x.com/2/tweets/1234567890?tweet.fields=non_public_metrics,organic_metrics" \
  -H "Authorization: OAuth oauth_consumer_key=...,oauth_token=..."
```

レスポンス:

```json title="Example response" lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "data": {
    "id": "1234567890",
    "text": "Hello world!",
    "non_public_metrics": {
      "impression_count": 5432,
      "url_link_clicks": 89,
      "user_profile_clicks": 156,
      "engagements": 345
    },
    "organic_metrics": {
      "impression_count": 5432,
      "like_count": 234,
      "reply_count": 12,
      "retweet_count": 50,
      "url_link_clicks": 89,
      "user_profile_clicks": 156
    }
  }
}
```

***

## 動画 metrics

動画再生 metrics を取得するには、media expansion を使用します。

```bash theme={null}
curl "https://api.x.com/2/tweets/1234567890?\
tweet.fields=attachments&\
expansions=attachments.media_keys&\
media.fields=public_metrics,non_public_metrics" \
  -H "Authorization: OAuth ..."
```

レスポンス:

```json title="Example response" expandable lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "data": {
    "id": "1234567890",
    "text": "Check out this video!",
    "attachments": {
      "media_keys": ["13_9876543210"]
    }
  },
  "includes": {
    "media": [{
      "media_key": "13_9876543210",
      "type": "video",
      "public_metrics": {
        "view_count": 12543
      },
      "non_public_metrics": {
        "playback_0_count": 12543,
        "playback_25_count": 9876,
        "playback_50_count": 7654,
        "playback_75_count": 5432,
        "playback_100_count": 3210
      }
    }]
  }
}
```

***

## Organic と promoted の metrics

post が広告としてプロモーションされた場合、metrics は organic と promoted の閲覧に分かれます。

| Context      | Description             |
| :----------- | :---------------------- |
| **Organic**  | 通常のタイムライン表示からの metrics  |
| **Promoted** | 有料広告インプレッションからの metrics |
| **Public**   | 合計（organic + promoted）  |

内訳を確認するには両方をリクエストします。

```bash theme={null}
tweet.fields=public_metrics,organic_metrics,promoted_metrics
```

***

## メトリック定義

<Accordion title="Impressions">
  post がユーザーの画面に表示された回数。ユニークではありません — 同じユーザーが 2 回閲覧するとインプレッション 2 回としてカウントされます。
</Accordion>

<Accordion title="Repost count">
  リポスト（retweet）の数。quote post は含みません。
</Accordion>

<Accordion title="Quote count">
  quote post（コメント付きリポスト）の数。これらは常に organic です。
</Accordion>

<Accordion title="Bookmark count">
  ユーザーが post をブックマークした回数。
</Accordion>

<Accordion title="Video views">
  動画を含むすべての post 全体で集計されます。複数の post でリポストされた動画は、合計のビュー数が 1 つになります。
</Accordion>

<Accordion title="Playback quartiles">
  動画の各割合まで再生したユニークユーザー数。ドロップオフレートの把握に役立ちます。
</Accordion>

***

## 要件のまとめ

| Metric field         | Authentication required        |
| :------------------- | :----------------------------- |
| `public_metrics`     | Bearer Token（任意）               |
| `non_public_metrics` | User context（所有する post のみ）     |
| `organic_metrics`    | User context（所有する post のみ）     |
| `promoted_metrics`   | User context（promoted post のみ） |

***

## 次のステップ

<CardGroup cols={2}>
  <Card title="Data Dictionary" icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-book.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=22ac564792481d14ae36a941546039c8" href="/x-api/fundamentals/data-dictionary" width="24" height="24" data-path="icons/xds/icon-book.svg">
    完全なフィールドリファレンス。
  </Card>

  <Card title="認証" icon="https://mintcdn.com/x-preview/SxzTbJaLjs3MidH1/icons/xds/icon-key.svg?fit=max&auto=format&n=SxzTbJaLjs3MidH1&q=85&s=de93497af2dde62afd3a06e896d330f5" href="/resources/fundamentals/authentication/overview" width="24" height="24" data-path="icons/xds/icon-key.svg">
    user context 認証を設定。
  </Card>
</CardGroup>
