# solari catalog instagram content history

> Instagram 投稿のエンゲージメントの推移です。

- **CLI**: `solari catalog instagram content history`
- **MCP ツール**: `solari_catalog_instagram_content_history`
- **アクセス権**: `solari:read` — トライアルを含むすべての SOLARI プランで利用できます。成功した呼び出し 1 回につき 1 クレジットです。
- **対象プラン**: 有料プランまたはトライアル
- **クレジット**: 1

SOLARI が記録した値で、Instagram 投稿のいいね、コメント、再生、シェア数の推移を表示します。投稿を直接選ぶか、アカウントの最新投稿を追跡できます。

**どんなときに使うか** — 投稿の数字がどう伸びたかを見たいときや、投稿同士の伸び方を比べたいときに使います。

**返される内容** — 投稿ごとに 1 件で、それぞれ記録された値が古い順に並びます。

## パラメータ

- `post_ids` (uuid[], 任意, ≤ 50 items, uuid) — 追跡する post_id。slugs、urls と合わせて最大 50 件。
- `slugs` (string[], 任意, ≤ 50 items) — 追跡する Instagram のショートコード。
- `urls` (string[], 任意, ≤ 50 items) — 追跡する公開 Instagram 投稿 URL。
- `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — このアカウントの最新投稿を追跡します。これか username を渡します。
- `username` (string, 任意, ≤ 64 chars) — 追跡する Instagram のユーザー名。account_id があるときは無視されます。
- `posted_since` (string, 任意, pattern ^\d{4}-\d{2}-\d{2}$) — アカウントモード：この UTC 日付以降に公開された投稿だけ (YYYY-MM-DD)。
- `posted_until` (string, 任意, pattern ^\d{4}-\d{2}-\d{2}$) — アカウントモード：この UTC 日付以前に公開された投稿だけ (YYYY-MM-DD)。
- `limit` (integer, 任意, ≥ 1) — アカウントモード：最新の投稿を何件追跡するか。
- `since` (string, 任意, pattern ^\d{4}-\d{2}-\d{2}$) — この UTC 日付以降に記録された値だけ (YYYY-MM-DD)。
- `until` (string, 任意, pattern ^\d{4}-\d{2}-\d{2}$) — この UTC 日付以前に記録された値だけ (YYYY-MM-DD)。
- `granularity` (enum, 任意, 既定値 "day") — day は投稿ごとに UTC の 1 日につき 1 点だけ残し、all はすべての点を返します。 値: `day`, `all`.

## レスポンス

### `Response`

- `found` (boolean) — アカウントモード：カタログにないアカウントなら false。投稿モード：1 件も見つからなければ false。
- `account_id / username` (string | null) — アカウントモード：特定したアカウント。
- `granularity` (string) — 適用された day または all。
- `items` (object[]) — 投稿ごとに 1 件。投稿モードはリクエスト順、アカウントモードは新しい順です。
- `missing` (string[]) — 投稿モード：カタログにない post_id やショートコード。

### `items[]`

- `post_id` (uuid) — SOLARI の post_id。
- `slug` (string) — Instagram のショートコード。
- `url` (string) — 公開パーマリンク。
- `posted_at` (timestamp) — 投稿日時（UTC）。
- `account_id / username` (string) — 投稿したアカウント。
- `points` (object[]) — 記録された値です。古い順です。
- `truncated` (boolean) — 古い点が切り捨てられたとき true。since を狭めてください。

### `items[].points[]`

- `captured_at` (timestamp) — SOLARI がこの値を記録した時刻（UTC）。
- `like_count / comment_count` (integer | null) — その時点のいいね数とコメント数。
- `play_count` (integer | null) — その時点の動画の再生数。画像では null。
- `reshare_count` (integer | null) — その時点のシェア数。Instagram が表示しているときだけ。
- `likes_hidden` (boolean | null) — 投稿者がいいね数と再生数を非表示にしています。like_count はたいてい残っています。
- `deleted` (boolean) — その時点で投稿が削除されていたとき true。

## 例

```console
$ solari catalog instagram content history username=innisfreeofficial posted_since=2026-09-20 posted_until=2026-09-23 limit=2
```

_読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_

```json
{
  "found": true,
  "account_id": "018cabce-14cc-7544-8890-7811ec33ef74",
  "username": "innisfreeofficial",
  "granularity": "day",
  "items": [
    {
      "post_id": "01a0caef-bf57-7996-83af-d75cd21ab215",
      "slug": "DdlXQy8I10z",
      "url": "https://www.instagram.com/p/DdlXQy8I10z/",
      "posted_at": "2026-09-22T09:00:12Z",
      "account_id": "018cabce-14cc-7544-8890-7811ec33ef74",
      "username": "innisfreeofficial",
      "points": [
        {
          "captured_at": "2026-09-22T21:05:04.820000Z",
          "like_count": 80,
          "comment_count": 2,
          "play_count": null,
          "reshare_count": null,
          "likes_hidden": false,
          "deleted": false
        },
        {
          "captured_at": "2026-09-23T21:30:43.016000Z",
          "like_count": 112,
          "comment_count": 3,
          "play_count": null,
          "reshare_count": null,
          "likes_hidden": false,
          "deleted": false
        },
        "… 1 more"
      ],
      "truncated": false
    },
    {
      "post_id": "01a0c433-73cd-7141-a458-e2eeb1441dba",
      "slug": "DdiychFo_91",
      "url": "https://www.instagram.com/p/DdiychFo_91/",
      "posted_at": "2026-09-21T09:00:07Z",
      "account_id": "018cabce-14cc-7544-8890-7811ec33ef74",
      "username": "innisfreeofficial",
      "points": [
        {
          "captured_at": "2026-09-21T20:00:23.541000Z",
          "like_count": 94,
          "comment_count": 5,
          "play_count": null,
          "reshare_count": null,
          "likes_hidden": false,
          "deleted": false
        },
        {
          "captured_at": "2026-09-22T21:05:05.524000Z",
          "like_count": 114,
          "comment_count": 6,
          "play_count": null,
          "reshare_count": null,
          "likes_hidden": false,
          "deleted": false
        },
        "… 2 more"
      ],
      "truncated": false
    }
  ],
  "missing": []
}
```

## MCP で呼び出す場合

```json
{
  "name": "solari_catalog_instagram_content_history",
  "arguments": {
    "username": "innisfreeofficial",
    "posted_since": "2026-09-20",
    "posted_until": "2026-09-23",
    "limit": 2
  }
}
```

## 注意点

- 投稿（post_ids、slugs、urls）かアカウント（account_id または username）のどちらか一方だけを渡します。
- since と until は記録された値を絞り込み、posted_since と posted_until はアカウントのどの投稿を追跡するかを選びます。
- 投稿は主に公開から数日のあいだに再収集されるため、古い投稿は点が少なく、途中に空白があるのは正常です。
- likes_hidden=true でも like_count がないわけではありません。たいてい値は残っているので、比較から外さないでください。
- カタログだけを読みます。ない投稿は、先に solari fetch instagram post url=… を呼んでください。記録はそこから始まり、過去の値は埋められません。

## 関連ツール

- [`solari_catalog_instagram_content_detail`](https://solari.sh/docs/tools/catalog-instagram-content-detail.md?lang=ja)
- [`solari_catalog_instagram_account_posts`](https://solari.sh/docs/tools/catalog-instagram-account-posts.md?lang=ja)
- [`solari_catalog_instagram_account_history`](https://solari.sh/docs/tools/catalog-instagram-account-history.md?lang=ja)
- [`solari_fetch_instagram_post`](https://solari.sh/docs/tools/fetch-instagram-post.md?lang=ja)
