# solari catalog instagram tag search

> 해시태그 또는 멘션이 달린 포스트를 찾을 때 사용해요.

- **CLI**: `solari catalog instagram tag search`
- **MCP 도구**: `solari_catalog_instagram_tag_search`
- **권한**: `solari:read` — 로그인한 SOLARI 계정이면 쓸 수 있어요.
- **Required plan**: Free
- **Credit**: 0

추적된 전체 기간에서 해시태그 또는 멘션을 정확히 찾아요. 본문 어디든 있는 키워드면 content search를 쓰세요.

**언제 쓰나** — 캠페인 해시태그가 얼마나 쓰였는지, 또는 멘션된 포스트가 필요할 때 사용해요.

**무엇이 나오나** — 검색한 태그가 달린 포스트예요. 수집된 시각 최신순이에요.

## 파라미터

- `query` (string, 필수, ≤ 200 chars) — 해시태그(#ootd) 또는 멘션(@사용자명)
- `limit` (integer, 선택, ≥ 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) — 포스트 형식

## 예시

```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이 아니에요. 게시 시각 순이 필요하면 직접 정렬하세요.
- 태그 인덱스는 하루에 한 번 갱신돼요. 기준 시각은 mirror_synced_at이에요.
- 정확히 맞아야 해요. #ootd는 #ootdkorea와 안 맞아요. 멘션은 @를 붙이세요.

## 관련 도구

- [`solari_catalog_instagram_content_search`](https://solari.sh/docs/tools/catalog-instagram-content-search.md?lang=ko)
- [`solari_insight_instagram_content_aggregate`](https://solari.sh/docs/tools/insight-instagram-content-aggregate.md?lang=ko)
