# solari instagram account posts

> 1つのアカウントの投稿を新しい順にページングします。

- **CLI**: `solari instagram account posts`
- **MCP ツール**: `solari_instagram_account_posts`
- **アクセス権**: `solari:read` — サインイン済みの SOLARI アカウントであれば利用できます。

追跡中の1つのInstagramアカウントの投稿を新しい順に返します。ページネーションとフィルタに対応します。アカウントはaccount_id（solari_instagram_account_searchが返すUUID）またはusername（Instagramハンドル）で指定します。各アイテムはpost_id（SOLARIの投稿UUID）、slugとurl（Instagramの公開パーマリンク）、post_type（reel、video、photo、carousel）、posted_at、キャプションのテキスト、like/comment/playの各カウント、media_count、is_paid_partnership、medias配列（投稿のすべてのメディアをカルーセル順に格納し、それぞれがmedia_type、media/thumbnailのURL、video_duration、tags（そのメディアにタグ付けされたアカウントとハッシュタグ。タグ付けされたアカウントが追跡中の場合はaccount_idを含む）を持つ）、および代表のthumbnail_urlを持ちます。レスポンスはfound、account_id、username、total、has_more、itemsを含みます。limitとoffsetでページングし、since/until（UTCの日付、両端を含む）とpost_typeで絞り込みます。未追跡のusernameは最初のリクエスト時にライブ取得されます（数秒かかります）。fetched_on_demand=trueは、現時点で直近の投稿のみ利用できることを示します。found=falseは、そのハンドルがInstagramに存在しないことを意味します。サインイン済みのSOLARIアカウントであれば利用できます。

**どんなときに使うか** — プロフィールのプレビューより深く掘り下げるとき、または期間とフォーマットで絞り込んだ生の行を取得するとき。

**何が返るか** — 各投稿のすべてのメディアを含む投稿。メディアにタグ付けされたアカウントとハッシュタグも含みます。

## パラメータ

- `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)$) — アカウントのaccount_id（SOLARIアカウントUUID）。これかusernameのいずれかを指定してください。
- `username` (string, 任意, ≤ 64 chars) — Instagramハンドル。先頭の@はあってもなくてもかまいません。account_idが指定されている場合は無視されます。
- `limit` (integer, 任意, ≥ 1) — 1ページあたりの投稿数。デフォルトは12。200を超える値は200に上限で切り詰められます。
- `offset` (integer, 任意, 既定値 0, ≥ 0) — ページネーションのオフセット。デフォルトは0。
- `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形式で、当日を含みます。
- `post_type` (enum, 任意) — このフォーマットの投稿のみ。reelはショート形式の単一動画、videoはreel以外の動画。 値: `reel`, `video`, `photo`, `carousel`.

## レスポンス

### `Response`

- `found` (boolean) — falseは、そのハンドルがInstagramに存在しないことを意味します。
- `account_id / username` (string) — 解決されたアカウント。
- `total` (integer) — フィルタに一致した投稿数。
- `has_more` (boolean) — 次のページが存在するかどうか。
- `items` (object[]) — 投稿。新しい順。
- `fetched_on_demand` (boolean) — 現時点で直近の投稿のみ利用できる場合はtrue。

### `items[]`

- `post_id` (uuid) — SOLARIの投稿id。
- `slug` (string) — Instagramのショートコード。
- `url` (string) — 公開パーマリンク。
- `post_type` (string) — reel、video、photo、またはcarousel。
- `posted_at` (timestamp) — 投稿日時（UTC）。
- `text` (string) — キャプションのテキスト。
- `like_count / comment_count / play_count` (integer) — エンゲージメントのスナップショット。
- `media_count` (integer) — 投稿内のメディア数。
- `is_paid_partnership` (boolean | null) — Instagram自身が付けるタイアップ投稿ラベル。
- `medias` (object[]) — カルーセル順のすべてのメディア。それぞれmedia_type、media/thumbnailのURL、video_durationを持ちます。
- `medias[].tags` (object[]) — そのメディアにタグ付けされたアカウントとハッシュタグ。タグ付けされたアカウントをSOLARIが追跡している場合はaccount_idを持ちます。
- `thumbnail_url` (string) — 代表のサムネイル。

## 例

```console
$ solari instagram account posts username=innisfreeofficial limit=2
```

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

```json
{
  "found": true,
  "account_id": "018cabce-14cc-7544-8890-7811ec33ef74",
  "username": "innisfreeofficial",
  "fetched_on_demand": false,
  "total": 4196,
  "has_more": true,
  "items": [
    {
      "post_id": "01a06275-d974-7fda-98ee-dd3ee15b4dcf",
      "slug": "DcyMAmUh6FZ",
      "url": "https://www.instagram.com/p/DcyMAmUh6FZ/",
      "post_type": "reel",
      "posted_at": "2026-09-02T12:00:06+00:00",
      "text": "Deeply hydrated skin—NO OFF HOURS. 💚\nwherever the day takes MINGYU (@min9yu_k)—his hydration stays SUPERCHARGED ⚡️\n\nGreen Tea Ceramide Milk: Lightweight milky toner that won‘t clog your pores\nGreen Tea Ceramide Mist: Tou …",
      "like_count": 3224,
      "comment_count": 57,
      "play_count": 22467,
      "media_count": 1,
      "is_paid_partnership": false,
      "medias": [
        {
          "media_type": "video",
          "media_url": "https://smr-images-b.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.mp4",
          "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.m …",
          "video_duration": 23.868000030517578,
          "tags": []
        }
      ],
      "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.m …"
    },
    "… 1 more"
  ]
}
```

## MCP 呼び出しとして

```json
{
  "name": "solari_instagram_account_posts",
  "arguments": {
    "username": "innisfreeofficial",
    "limit": 2
  }
}
```

## 注意点

- 1ページあたり最大200件。大量に取得する場合は、メモリ上の大きなページよりも--ndjsonでファイルに追記する方法を選んでください。
- sinceとuntilはUTCの日付で、両端を含みます。
- post_type=reelはショート形式の単一動画、videoはreel以外の動画。

## 関連ツール

- [`solari_instagram_account_profile`](https://solari.sh/docs/tools/instagram-account-profile.md?lang=ja)
- [`solari_instagram_content_detail`](https://solari.sh/docs/tools/instagram-content-detail.md?lang=ja)
- [`solari_tiktok_account_posts`](https://solari.sh/docs/tools/tiktok-account-posts.md?lang=ja)
