# solari insight tiktok content aggregate

> TikTok の投稿数を集計します。

- **CLI**: `solari insight tiktok content aggregate`
- **MCP ツール**: `solari_insight_tiktok_content_aggregate`
- **アクセス権**: `solari:read`
- **対象プラン**: 無料トライアル · Plus · Pro · Enterprise
- **クレジット**: 1

収集済みの TikTok 投稿を、アカウント・形式・ハッシュタグ・メンション・キーワード別に集計します。

**どんなときに使うか** — 投稿頻度、ハッシュタグの内訳、平均再生数を知りたいとき。投稿そのものが必要な場合は content search を使います。

**返される内容** — グループごとの件数（多い順）。追加の指標は指定したときだけ返します。

## パラメータ

- `region` (enum, 任意, 既定値 "KR") — KR、JP、US、TW のいずれか。 値: `KR`, `JP`, `US`, `TW`.
- `group_by` (enum, 任意) — 件数を分けるときの基準。 値: `account`, `post_type`, `hashtag`, `mention`, `caption_keyword`.
- `interval` (enum, 任意) — この暦の単位で時系列を追加します。 値: `day`, `week`, `month`.
- `metrics` (string[], 任意) — post_count 以外に返す指標。 値: `like_sum`, `like_avg`, `comment_sum`, `comment_avg`, `view_sum`, `view_avg`, `share_sum`, `share_avg`, `collect_sum`, `collect_avg`, `follower_avg`, `account_count`.
- `query` (string, 任意) — キャプションと文字起こしを対象にしたキーワードの絞り込み。
- `usernames` (string[], 任意) — 指定した TikTok ユーザー名のみ。
- `hashtags` (string[], 任意) — 指定したハッシュタグをすべて含む投稿のみ。
- `mentions` (string[], 任意) — 指定したユーザー名をすべてメンションしている投稿のみ。
- `post_types` (string[], 任意) — 指定した形式のみ。 値: `video`, `carousel`.
- `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）以前の投稿のみ。
- `limit` (integer, 任意, 既定値 20, 1–50) — 返すグループの数。

## レスポンス

### `Response`

- `region` (string) — 集計した地域。
- `since` (date) — 実際に使われた開始日。
- `until` (date | null) — 実際に使われた終了日。
- `group_by` (string | null) — 適用したグループ分け。
- `interval` (string | null) — 適用した時間の単位。
- `total_posts` (integer) — フィルターに合う投稿の数。
- `truncated` (boolean) — limit より多くのグループがあった場合は true。
- `buckets` (object[]) — グループの一覧（多い順）。

### `buckets[]`

- `key` (string) — グループの値。group_by を省略した場合は全体の合計 1 件になります。
- `metrics.post_count` (integer) — 投稿数。常に含まれます。
- `metrics.like_sum / like_avg` (number | null) — いいね数の合計と平均（指定した場合）。
- `metrics.comment_sum / comment_avg` (number | null) — コメント数の合計と平均（指定した場合）。
- `metrics.view_sum / view_avg` (number | null) — 再生数の合計と平均（指定した場合）。
- `metrics.share_sum / collect_sum` (number | null) — シェア数と保存数の合計（指定した場合）。
- `metrics.follower_avg` (number | null) — 投稿者の平均フォロワー数。
- `metrics.account_count` (integer | null) — グループ内のアカウント数（重複なし）。
- `series` (object[] | null) — 期間ごとの内訳（interval を指定した場合）。

## 例

```console
$ solari insight tiktok content aggregate group_by=account query="이니스프리" metrics='["view_sum","like_avg","account_count"]' limit=5
```

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

```json
{
  "region": "KR",
  "since": "2026-03-04",
  "until": null,
  "group_by": "account",
  "interval": null,
  "total_posts": 20,
  "truncated": true,
  "buckets": [
    {
      "key": "merryview_",
      "metrics": {
        "post_count": 2,
        "like_sum": null,
        "like_avg": 2378.5,
        "comment_sum": null,
        "comment_avg": null,
        "view_sum": 179504,
        "view_avg": null,
        "share_sum": null,
        "share_avg": null,
        "collect_sum": null,
        "collect_avg": null,
        "follower_avg": null,
        "account_count": 1
      },
      "series": null
    },
    {
      "key": "_kimdayun_",
      "metrics": {
        "post_count": 1,
        "like_sum": null,
        "like_avg": 1829,
        "comment_sum": null,
        "comment_avg": null,
        "view_sum": 102000,
        "view_avg": null,
        "share_sum": null,
        "share_avg": null,
        "collect_sum": null,
        "collect_avg": null,
        "follower_avg": null,
        "account_count": 1
      },
      "series": null
    },
    "… 3 more"
  ]
}
```

## MCP で呼び出す場合

```json
{
  "name": "solari_insight_tiktok_content_aggregate",
  "arguments": {
    "group_by": "account",
    "query": "이니스프리",
    "metrics": [
      "view_sum",
      "like_avg",
      "account_count"
    ],
    "limit": 5
  }
}
```

## 注意点

- view_* は再生数です。Instagram と違い、share_* と collect_* にも値が入ります。
- 対象は KR・JP・US・TW の直近およそ 6 か月です。それより前の since は、扱える最も古い日付に合わせます。

## 関連ツール

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