# solari instagram brand ad posts

> Row-level sponsored posts targeting a brand, with the authoring creator on each row.

- **CLI**: `solari instagram brand ad posts`
- **MCP tool**: `solari_instagram_brand_ad_posts`
- **Access**: `solari:read` — Works with any signed-in SOLARI account.

Paginated row-level list of the identified sponsored posts targeting a brand, each hydrated with slug, caption, posted_at, like/comment counts, play_count for videos, and the authoring creator's username and account_id. sort=recent pages the full window newest-first with an exact total; sort=engagement ranks within a bounded recent window whose size is reported as ranking_window (non-null means the ordering covers a slice, not everything). Widen the lookback with months (default 3, up to 24). Row-level companion to solari_instagram_brand_ad_stats. Takes the brand's Instagram handle (no @). Works with any signed-in SOLARI account. Returns 404 if the handle is not tracked.

**When to use it** — Analysing a brand's ad history as raw rows rather than rollups.

**What comes back** — Sponsored posts. What total means depends on the sort.

## Parameters

- `username` (string, required) — Brand Instagram handle without the leading @.
- `sort` (enum, optional, default "recent") — recent pages the full window with an exact total; engagement ranks within ranking_window. Values: `recent`, `engagement`.
- `months` (integer, optional, ≥ 1) — Lookback window in months, default 3. Values above 24 are clamped to 24.
- `limit` (integer, optional, ≥ 1) — Posts per page, default 50. Values above 200 are clamped to 200.
- `offset` (integer, optional, default 0, ≥ 0) — Pagination offset, default 0.

## Response

### `Response`

- `items` (object[]) — Sponsored posts.
- `total` (integer) — Exact count across the window when sort=recent.
- `has_more` (boolean) — Whether another page exists.
- `ranking_window` (integer | null) — How far the engagement ranking actually looked. Non-null means the ordering covers a slice, not the whole window.

### `items[]`

- `id` (uuid) — Post id.
- `slug` (string) — Instagram shortcode.
- `text` (string) — Caption text.
- `posted_at` (timestamp) — Publication time (UTC).
- `username / user_id / account_id` (string) — The authoring creator. account_id is the current name; user_id carries the same value.
- `like_count / comment_count / play_count` (integer) — Engagement snapshot.
- `media_type` (string) — Post format.
- `media / media_url / thumbnail_url` (string) — Media links.
- `virtual_campaign` (object | null) — Campaign grouping, when one is resolved.

## Example

```console
$ solari instagram brand ad posts username=innisfreeofficial limit=2
```

_Long strings and repeated array entries are trimmed for readability._

```json
{
  "items": [
    {
      "id": "01a062a0-2747-72eb-b20d-670cf30f2c96",
      "slug": "DcygG05GrA-",
      "text": "#광고 요즘 부쩍 신경 쓰이기 시작한 모공 고민을 직접 경험해보고 싶어 방문한 이니스프리 레티놀 시카 강의실 무빙 팝업💙\n\n업그레이드된 레티놀 시카 모공 흔적 앰플을 직접 테스트해볼 수 있을 뿐 아니라, 제품을 알아보고 체험할 수 있는 다양한 프로그램과 이벤트가 마련되어 있어 더욱 재미있게 둘러볼 수 있었어요.\n\n특히 오늘 방문했을 때는 정말 많은 분들이 찾아와서 놀랐는데요. 대기 줄이 길게 …",
      "posted_at": "2026-09-02T14:56:19Z",
      "virtual_campaign": null,
      "username": "_mini_mming",
      "user_id": "018caf92-e08a-78a2-b9c3-59f6f5740182",
      "profile_picture_url": null,
      "like_count": 384,
      "comment_count": 4,
      "thumbnail_url": null,
      "media_url": null,
      "media": [],
      "media_type": "post",
      "account_id": "018caf92-e08a-78a2-b9c3-59f6f5740182"
    },
    "… 1 more"
  ],
  "total": 405,
  "has_more": true,
  "ranking_window": null
}
```

## As an MCP call

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

## Notes

- sort=recent pages the full window newest-first with an exact total. sort=engagement ranks within a bounded recent slice and reports its size as ranking_window.
- months defaults to 3 and is clamped at 24.
- Takes a handle only. An untracked handle returns 404.

## Related tools

- [`solari_instagram_brand_ad_stats`](https://solari.sh/docs/tools/instagram-brand-ad-stats.md)
- [`solari_instagram_account_ad_posts`](https://solari.sh/docs/tools/instagram-account-ad-posts.md)
