# solari fetch instagram hashtag posts

> Collect a live page of a hashtag's posts.

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

Collect one live page of an Instagram hashtag feed, store the posts, and get them back in feed order. Every call goes out to Instagram, so read catalog tag search first.

**언제 쓰나** — When a hashtag is missing or stale in catalog tag search, or you need its top posts or reels right now.

**무엇이 나오나** — The posts of that page, already stored, and a cursor for the next page.

## 파라미터

- `hashtag` (string, 필수, ≤ 150 chars) — Hashtag, with or without #.
- `tab` (enum, 선택) — recent, top, or clips (reels). 값: `recent`, `top`, `clips`.
- `cursor` (string, 선택, ≤ 8192 chars) — next_cursor from the previous page.

## 응답

### `Response`

- `ingested` (boolean) — true if this call stored at least one post.
- `fetched_on_demand` (boolean) — Always true: every call collects live.
- `hashtag` (string) — The hashtag the fetch ran on, without #.
- `tab` (string) — Feed the page came from.
- `is_hidden` (boolean) — true if Instagram hides this hashtag's posts. items is empty then.
- `hidden_reason` (string | null) — Instagram's label for a hidden hashtag.
- `found` (integer) — Posts in items.
- `fetched_count` (integer) — Posts Instagram returned for this page. Higher than found when some could not be stored.
- `items` (object[]) — The posts of this page, in feed order.
- `next_cursor` (string | null) — Pass back as cursor for the next page. null when the feed ends.
- `note` (string) — What to expect next.
- `next` (string) — Catalog command that reads the same tag later.

### `items[]`

- `id` (uuid) — Post id.
- `slug` (string) — Instagram shortcode.
- `text` (string) — Caption.
- `posted_at` (timestamp) — Published at (UTC).
- `username / user_id / account_id` (string) — Authoring account.
- `like_count / comment_count` (integer) — Engagement.
- `play_count` (integer | null) — Video plays.
- `media_type` (string) — Post format.
- `assets` (object[]) — Media files in order. Each has asset_url, media_type, and video_duration.
- `assets[].asset_url` (string | null) — Direct download link to the full-size image or video. Null when no file is stored yet.

## 예시

```console
$ solari fetch instagram hashtag posts hashtag=ootd tab=top
```

_읽기 편하도록 긴 문자열과 반복되는 배열 항목을 줄였어요._

```json
{
  "ingested": true,
  "fetched_on_demand": true,
  "hashtag": "ootd",
  "tab": "top",
  "is_hidden": false,
  "hidden_reason": null,
  "found": 1,
  "fetched_count": 1,
  "items": [
    {
      "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": []
    }
  ],
  "next_cursor": "eyJwIjoxLCJtIjoiUVZGRC4uLiJ9",
  "note": "These posts were collected live and are stored now. solari_catalog_instagram_tag_search lists them after its next daily refresh.",
  "next": "solari catalog instagram tag search query=#ootd"
}
```

## MCP 호출로 쓰면

```json
{
  "name": "solari_fetch_instagram_hashtag_posts",
  "arguments": {
    "hashtag": "ootd",
    "tab": "top"
  }
}
```

## 주의사항

- One page is roughly 20 to 30 posts and takes several seconds.
- A cursor only works with the hashtag and tab it came from.
- The feed ends only when next_cursor is null. A page can come back with found 0 and a next_cursor: keep going.
- The posts are stored at once, but catalog tag search lists them only after its next daily refresh.
- Media files of a just-collected post can take a moment to be stored, so asset_url may be null at first.

## 관련 도구

- [`solari_fetch_instagram_hashtag_search`](https://finder-dev-pub.bzine.co/docs/tools/fetch-instagram-hashtag-search.md?lang=ko)
- [`solari_catalog_instagram_tag_search`](https://finder-dev-pub.bzine.co/docs/tools/catalog-instagram-tag-search.md?lang=ko)
- [`solari_catalog_instagram_content_batch`](https://finder-dev-pub.bzine.co/docs/tools/catalog-instagram-content-batch.md?lang=ko)
