# solari catalog instagram tag search

> ハッシュタグやメンションを含む投稿を探すときに使います。

- **CLI**: `solari catalog instagram tag search`
- **MCP ツール**: `solari_catalog_instagram_tag_search`
- **アクセス権**: `solari:read`
- **対象プラン**: 無料トライアル · Plus · Pro · Enterprise
- **クレジット**: 1

収集済みの全期間から、ハッシュタグやメンションを完全一致で探します。本文中のどこかに含まれるキーワードを探す場合は、コンテンツ検索を使います。

**どんなときに使うか** — キャンペーンのハッシュタグの広がりや、あるアカウントをメンションした投稿を知りたいとき。

**返される内容** — タグを含む投稿（収集が新しい順）。

## パラメータ

- `query` (string, 必須, ≤ 200 chars) — ハッシュタグ（#ootd）またはメンション（@username）。
- `limit` (integer, 任意, 既定値 20, 1–1000) — 1 ページあたりの投稿数。
- `cursor` (string, 任意) — 前のページで返された next_cursor。

## レスポンス

### `Response`

- `query` (string) — 実際に検索に使ったタグ（先頭の # や @ は除きます）。
- `tag_kind` (string) — hashtag または mention。query をどちらとして扱ったかを表します。
- `matched_tags` (integer) — 一致した保存済みの表記の数。0 の場合、そのタグは一度も確認されていません。
- `items` (object[]) — 見つかった投稿。
- `found` (integer) — 詳細データまで読み込めた投稿の数。
- `next_cursor` (string | null) — 次のページの cursor として渡す値。最後のページでは null。
- `mirror_synced_at` (timestamp | null) — タグのインデックスを最後に更新した日時（UTC）。

### `items[]`

- `id` (uuid) — 投稿 ID。
- `slug` (string) — Instagram のショートコード。
- `text` (string) — キャプション。
- `posted_at` (timestamp) — 投稿日時（UTC）。
- `username / user_id / account_id` (string) — 投稿したアカウント。
- `like_count / comment_count` (integer) — エンゲージメント。
- `play_count` (integer | null) — 動画の再生数。
- `media_type` (string) — 投稿の形式。
- `assets` (object[]) — メディアファイルの一覧（表示順）。それぞれ asset_url、media_type、video_duration を持ちます。
- `assets[].asset_url` (string | null) — フルサイズの画像または動画の直接ダウンロードリンク。ファイルが保存されていない場合は null。

## 例

```console
$ solari catalog instagram tag search query=#ootd limit=3
```

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

```json
{
  "query": "ootd",
  "tag_kind": "hashtag",
  "matched_tags": 1,
  "items": [
    {
      "id": "01a06a16-781f-7578-822b-1c326e72f28d",
      "slug": "DW1jniHiVSU",
      "text": "御殿場是一個一天逛不完的地方 希望下次有時間可以慢慢逛 —— OOTD —— Pants：LAKOLE / Shirt：HARE #LYNN__OOTD #日常穿搭 #ootd …",
      "posted_at": "2026-04-07T16:16:21Z",
      "virtual_campaign": null,
      "username": "llling_yinnnnn",
      "user_id": "019dbc46-1a67-7ef5-b95a-2fb466790d04",
      "account_id": "019dbc46-1a67-7ef5-b95a-2fb466790d04",
      "profile_picture_url": null,
      "like_count": 3,
      "comment_count": 4,
      "media_type": "post",
      "play_count": null,
      "media": []
    },
    {
      "id": "01a06a16-552d-7099-ae0a-77e6b68de960",
      "slug": "DaS66VzJBPW",
      "text": "SEOUL OOTD — 這次搭配了四種完全不同風格 #ootd #lynn__ootd #穿搭販賣機 #韓國穿搭",
      "posted_at": "2026-07-02T15:33:13Z",
      "virtual_campaign": null,
      "username": "llling_yinnnnn",
      "user_id": "019dbc46-1a67-7ef5-b95a-2fb466790d04",
      "account_id": "019dbc46-1a67-7ef5-b95a-2fb466790d04",
      "profile_picture_url": null,
      "like_count": 32,
      "comment_count": 1,
      "media_type": "reel",
      "play_count": 888,
      "media": []
    },
    "… 1 more"
  ],
  "found": 3,
  "next_cursor": "01a06a16-552d-7099-ae0a-77e6b68de960",
  "mirror_synced_at": "2026-09-03T21:47:19Z"
}
```

## MCP で呼び出す場合

```json
{
  "name": "solari_catalog_instagram_tag_search",
  "arguments": {
    "query": "#ootd",
    "limit": 3
  }
}
```

## 注意点

- 並び順は posted_at ではなく収集した時刻です。投稿日時が重要な場合は、posted_at で並べ替えてください。
- タグのインデックスは毎日更新されます。mirror_synced_at が反映済みの時点です。
- 完全一致で照合します。#ootd は #ootdkorea に一致しません。メンションは先頭に @ を付けます。
- likes_hidden が true のときは like_count を使わないでください。投稿者がいいね数を非表示にしているため、null か、実際の値ではない可能性があります。

## 関連ツール

- [`solari_catalog_instagram_content_search`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-search.md?lang=ja)
- [`solari_insight_instagram_content_aggregate`](https://clip-pub.bzine.co/docs/tools/insight-instagram-content-aggregate.md?lang=ja)
- [`solari_insight_instagram_hashtag_posts`](https://clip-pub.bzine.co/docs/tools/insight-instagram-hashtag-posts.md?lang=ja)
