# SOLARI > SOLARI CLI と MCP:ターミナルで使えるクリエイター・ブランドデータ。 ## 概要 SOLARI CLI・MCP を使うと、SOLARI が収集した Instagram・TikTok・Threads のデータをターミナル・スクリプト・AI エージェントから利用できます。ツールは 3 つのグループに分かれます: - catalog:SOLARI にすでにあるアカウントと投稿。 - insight:ランキング、類似アカウント、広告、トレンドなど、SOLARI が計算した結果。 - fetch:プラットフォームから直接収集するアカウント・投稿・Instagram ハッシュタグ。 ```console $ solari insight instagram account similar username=oliveyoung_official limit=10 ``` ターミナルやコマンドを実行するエージェントでは CLI を、Claude Desktop・ChatGPT などのアプリでは MCP を使ってください。 ## インストール **macOS** Shell: ```bash curl -fsSL https://solari.sh/install | sh ``` Homebrew: ```bash brew install brandazine/solari/solari ``` npm: ```bash npm install -g @brandazine/solari ``` uv: ```bash uv tool install solari-cli ``` uv tool は CLI を専用の環境にインストールし、PATH に追加します。プロジェクトの依存関係とは衝突しません。 **Windows** PowerShell: ```powershell irm https://solari.sh/install.ps1 | iex ``` npm: ```bash npm install -g @brandazine/solari ``` uv: ```bash uv tool install solari-cli ``` uv tool は CLI を専用の環境にインストールし、PATH に追加します。プロジェクトの依存関係とは衝突しません。 **Linux** Shell: ```bash curl -fsSL https://solari.sh/install | sh ``` npm: ```bash npm install -g @brandazine/solari ``` uv: ```bash uv tool install solari-cli ``` uv tool は CLI を専用の環境にインストールし、PATH に追加します。プロジェクトの依存関係とは衝突しません。 ```console $ solari --version 1.0.1 ``` ## クイックスタート ```console $ solari auth login # sign in through the browser $ solari # lists catalog, insight, and fetch $ solari catalog instagram account search --help # parameters only $ solari catalog instagram account search query=innisfree brands_only=true limit=3 ``` 結果の username や account_id を次のツールに渡します: ```console $ solari insight instagram brand ad stats username=innisfreeofficial ``` ## コマンド構造 ```console $ solari insight instagram brand # lists the group $ solari insight instagram brand overview username=innisfreeofficial ``` 引数は key=value の形式です。配列は JSON かカンマ区切り(post_ids=a,b)で渡します。 - `solari help all` — すべてのコマンド・ツール・パラメータを 1 ページで表示します。直近 7 日間に追加されたツールには NEW が付きます。 - `solari get ` — ツールの実行だけを行います。パスが途中までなら、一覧を出さずに失敗します。 - `solari cache refresh` — ツール一覧をすぐに取得し直し、変わったツールを表示します。 > 新しいツールは CLI を更新しなくても追加されます。note: SOLARI tools changed と表示されたら、solari help all を実行してください。 ## 認証 - `solari auth login` — ブラウザでログインします。SSH やエージェントの環境ではリンクを表示します。--add を付けると別のアカウントも追加でログインします。 - `solari auth list · switch ` — ログイン済みのアカウントを表示するか、ブラウザを開かずに切り替えます。 - `solari auth status` — アカウントとログインの有効期限を表示します。終了コード 3 は再ログインが必要という意味です。 - `solari auth logout` — ログアウトします。--all ですべてのアカウントからログアウトします。 ブラウザが CLI を実行したマシンに戻れない場合(SSH・コンテナ)は、ログイン後にアドレスバーの URL をコピーしてプロンプトに貼り付けてください。 ## クレジットと利用状況 クレジットを消費するのは、成功したツール呼び出しだけです。クレジットはアカウントの前払い残高から差し引かれ、CLI・MCP・REST API がこの残高を共有します。複数ページの結果は、ページごとに別の呼び出しとして数えます。失敗した呼び出し、ツール一覧、アプリカタログ、アカウント情報、フィードバック、残高の確認は無料です。 ```console $ solari usage ``` プラン、残りのクレジットと有効期限、直近 30 日間の課金された呼び出し数を表示します。無料で、残高が 0 でも使えます。MCP では solari_usage_get を使います。 残高が 0 になると、呼び出しは CREDIT_EXHAUSTED(REST:HTTP 402)で失敗し、課金はされません。次にすべきことはエラーメッセージに表示されます。 プラン・トライアル・追加クレジット:https://solari.sh/pricing · 残高:https://solari.brandazine.com/settings/billing ## 出力とパイプ 結果は標準出力、案内は標準エラーに出るので、パイプにはデータだけが渡ります。 - `--json` — 生の JSON。データは content[0].text の JSON 文字列です。 - `--ndjson` — 1 行に JSON オブジェクト 1 つ。total などの値は標準エラーに出ます。 - `--verbose, -v` — 進行状況を標準エラーに出力します。秘密の値は伏せます。 投稿ごとに assets にメディアファイルが順番に入っていて、各 asset_url からそのままダウンロードできます。保存済みのコピーなので、最高画質は solari instagram download content または solari tiktok download content で取得してください。 ```console $ solari catalog instagram account posts username=innisfreeofficial limit=200 --ndjson \ | jq -r '.assets[].asset_url | select(.)' > urls.txt $ aria2c -i urls.txt -d media -j 8 ``` ## エージェントからのフィードバック エージェントが SOLARI で作業を終えられないとき(データや機能がない、件数が足りない、値がおかしい、ツールが失敗し続ける)は、確認を挟まずに SOLARI チームへフィードバックを送り、1 行で知らせます。個人情報は含めず、SOLARI も保存前にメールアドレス・電話番号・キーをもう一度取り除きます。 ```console $ solari feedback "brand ad posts returned 3 rows for 24 months" category=insufficient_results ``` ## 設定 設定は ~/.solari/config.json に保存されます。環境変数を指定すると、そのコマンドに限って設定より優先されます。 ```console $ solari config list $ solari config set server https://solari.sh ``` - `server · SOLARI_SERVER` — 接続先の SOLARI サーバー。既定は https://solari.sh。 - `cacheTtl · SOLARI_CACHE_TTL` — 手元のツール一覧を最新とみなす秒数。既定は 900 で、0 なら毎回サーバーに問い合わせます。 - `callTimeout · SOLARI_CALL_TIMEOUT` — ツール呼び出しを待つ秒数。既定は 150。 - `SOLARI_TOKEN` — 保存済みのログインの代わりに使うアクセストークンまたは API key。「自分のコードから使う」を参照してください。 - `SOLARI_HOME` — SOLARI のファイルを ~/.solari 以外の場所に置きます。 - `SOLARI_NO_UPDATE_CHECK=1` — 1 日 1 回の更新チェックを無効にします。 ## エージェント ```text set up solari.sh/get-started.md ``` 上の 1 行をコーディングエージェントに渡すと、セットアップが完了します。インストールスクリプトも、このマシンで見つかったエージェント(Claude Code、Codex、Grok Build、Antigravity CLI、OpenCode)に CLI を登録します。CLAUDE.md やプロジェクトの AGENTS.md は変更しません。 ```bash solari init # register again, choosing agents solari init --remove # undo ``` ### 機械可読なドキュメント ドキュメントの URL に .md を付けると Markdown で取得できます(?lang=ko・?lang=ja で言語を選択)。/llms.txt は全ページの索引、/llms-full.txt は全体を 1 ファイルにまとめたものです。 ## 自分のコードから使う 同じツールを REST API・TypeScript/Python SDK・MCP からも使え、トークン 1 つですべてに対応します。詳しいリファレンス:https://solari.sh/api ```console $ solari auth token ``` 有効期間 8 時間のアクセストークンを出力します。秘密情報として扱ってください。CI・サーバー・定期実行ジョブでは、https://solari.brandazine.com/me/api-keys で API key(solari_sk_…)を作成してください。 どちらかを SOLARI_TOKEN に入れると、CLI と SDK はログインなしで動き、HTTP 呼び出しでは bearer トークンとして送ります: ```console $ export SOLARI_TOKEN= $ solari catalog instagram account search query=nike --json $ curl -sS https://solari.sh/mcp/api/v1/tools/solari_catalog_instagram_account_search \ -H "Authorization: Bearer $SOLARI_TOKEN" \ -H "Content-Type: application/json" \ -d '{"query":"nike","limit":3}' ``` ## MCP で接続する アプリに次のリモート MCP アドレスを追加します。初回接続時にブラウザが開き、ログイン画面が表示されます。 ```text https://solari.sh/mcp ``` ### Claude Desktop 設定 → Customize を開きます。 ![Claude Desktop の設定サイドバー。最下部に Customize があります。](https://clip-pub.bzine.co/docs/claude-desktop-settings.webp) _Settings → Customize_ Connectors で Add を押し、名前とアドレスを入力します。 ![Claude Desktop の Add custom connector ダイアログ。名前と SOLARI MCP のアドレスが入力されています。](https://clip-pub.bzine.co/docs/claude-desktop-add-connector.webp) _Connectors → Add → Add custom connector_ Continue を押してログインすれば完了です。claude.ai も同じ手順です。 ### Claude Code ```bash claude mcp add --transport http solari https://solari.sh/mcp ``` /mcp を実行すると、接続状態の確認やログインができます。 ### ChatGPT 設定 → Connectors でアドレスをカスタムコネクタとして追加し、ログインします(有料プランのみ)。 ### その他のホスト リモート MCP に対応したアプリの多くは、次の項目で接続できます: ```json { "mcpServers": { "solari": { "url": "https://solari.sh/mcp" } } } ``` > ローカルの MCP サーバーしか動かせないアプリは接続できないため、CLI を使ってください。 ## エラーと終了コード - `0` — 成功。 - `1` — ツールまたはサーバー側で失敗しました。 - `2` — 不正な入力です。存在しないパス、抜けている引数、不正な値のいずれかです。 - `3` — ログインが必要です。人にしか完了できないため、エージェントは再試行せず利用者に伝えてください。 ### よく見るツールエラー - `auth expired, reconnect the connector` — solari auth login を実行し直すか、アプリでコネクタを再接続してください。 - `SOLARI access denied (403)` — ログインし直してください。 - `SOLARI rate limit` — プランの 1 分あたりの呼び出し上限を超えました。メッセージに出た秒数だけ待ってください。 - `SOLARI upstream timed out` — 呼び出しが 90 秒(集計とトレンドのまとまりのツールは 120 秒)を超えました。範囲を狭めるか limit を下げてください。 - `CREDIT_EXHAUSTED` — クレジットがないか、メール確認・カード登録が済んでおらずトライアルが始まっていません。課金はされません。再試行せず、solari usage で確認してからエラーメッセージに従ってください。 - `ACCOUNT_BLOCKED` — このアカウントのツール呼び出しは停止中です。課金はされず、問い合わせ先はエラーメッセージに書かれています。 ## データの対象範囲 - content search・content aggregate:KR・JP・US・TW、直近およそ 6 か月。 - アカウント・ブランド・投稿のツール:全期間、地域の制限なし。KR のデータが最も充実しています。 - 件数は 10,000 まで正確です。TikTok 検索のページ送りは 9,800 件までです。 ### 識別子 - account_id と post_id はプラットフォームごとに異なります。Instagram・TikTok・Threads の id は相互に使えません。 - account_id か username を渡します。両方ある場合は account_id が優先されます。 - 公開の投稿 id:Instagram は slug、TikTok は video_id、Threads は code。 ## よくある質問 ### SOLARI のデータを変更できますか? いいえ。SOLARI のデータは変更・削除できません。fetch ツールは公開アカウントと投稿を収集するだけです。 ### Claude などのエージェントでも使えますか? はい。solari init でエージェントに CLI を登録するか、MCP で接続してください。 ### 検索結果が出てきません。 アカウント検索では、ユーザー名か表示名に入力した文字がそのまま含まれている必要があります。コンテンツ検索では、地域は KR・JP・US・TW、日付は直近 6 か月以内を指定してください。 ### 料金はかかりますか? ツール呼び出しには前払いクレジットを使い、消費するのは成功した呼び出しだけです。確認済みメールアドレスのある新しいアカウントは、カード登録後に 30 日間・5,000 クレジットのトライアルを 1 回利用できます。請求や有料プランへの自動移行はありません。プランと料金:https://solari.sh/pricing ## ツールリファレンス CLI・MCP のツールを 3 つのグループに分けています。catalog は SOLARI にあるデータ、insight は SOLARI が計算した結果、fetch はプラットフォームから直接取得するデータです。 ### solari catalog instagram account search > 収集済みの Instagram アカウントを、ユーザー名・名前・プロフィール文の語句で探します。account_id を調べるときに使います。 - **CLI**: `solari catalog instagram account search` - **MCP ツール**: `solari_catalog_instagram_account_search` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 SOLARI が収集した Instagram アカウントを、ユーザー名・表示名・プロフィール文の語句で検索します。Instagram 本体の検索ではありません。ここで得た account_id を、ほかの Instagram ツールに渡します。 **どんなときに使うか** — 名前やユーザー名はわかっていて、account_id がまだないとき。 **返される内容** — 条件に合うアカウント。近いものから順に並びます。 #### パラメータ - `query` (string, 必須) — ユーザー名か表示名。query_type=bio のときはプロフィール文の語句。 - `query_type` (enum, 任意, 既定値 "auto") — 検索する対象。ユーザー名・表示名・プロフィール文、またはそのすべて(auto)。 値: `auto`, `username`, `full_name`, `bio`. - `brands_only` (boolean, 任意, 既定値 false) — 既知のブランドアカウントだけを返します。ブランドを調べるときはオンにしてください。 - `limit` (integer, 任意, 既定値 8, 1–50) — 返すアカウントの件数。 - `region` (string, 任意, ≤ 8 chars) — KR や JP などの国コード。指定しなければ全地域を検索します。 #### レスポンス ##### `Response` - `found` (boolean) — 一致したアカウントがあるかどうか。 - `items` (object[]) — 一致したアカウント。近いものから順に並びます。 ##### `items[]` - `account_id` (uuid) — ほかの Instagram ツールに渡す account_id。 - `username` (string) — Instagram のユーザー名。 - `full_name` (string) — 表示名。 - `biography` (string) — プロフィール文。 - `follower_count` (integer) — フォロワー数。 - `region` (string) — 地域コード。 - `is_verified` (boolean) — 認証バッジ。 - `profile_pic_url` (string) — プロフィール画像の URL。 #### 例 ```console $ solari catalog instagram account search query=oliveyoung brands_only=true limit=5 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "found": true, "items": [ { "account_id": "018cab6d-1648-7071-9734-c47a2be2fd19", "username": "oliveyoung_official", "full_name": "올리브영 OLIVE YOUNG", "biography": "ALL LIVE YOUNG 🫒\nALL LIVE BETTER @olivebetter.official", "follower_count": 1199628, "region": "KR", "is_verified": true, "profile_pic_url": "https://dcr.bzine.co/instagram/users/oliveyoung_official/profile-picture" }, { "account_id": "018dc63c-31b5-740f-bde0-2c00931385e1", "username": "oliveyoung_global", "full_name": "OLIVE YOUNG Global", "biography": "Korea's No.1 Health & Beauty Store\n✈️ FREE SHIPPING on orders over $60", "follower_count": 535949, "region": "KR", "is_verified": true, "profile_pic_url": "https://dcr.bzine.co/instagram/users/oliveyoung_global/profile-picture" }, { "account_id": "018cabcf-e60e-70af-95eb-eff777ce5195", "username": "oliveyoung_magazine", "full_name": "올리브영 매거진", "biography": "내 일상과 가까운 뷰티 매거진", "follower_count": 142316, "region": "KR", "is_verified": false, "profile_pic_url": "https://dcr.bzine.co/instagram/users/oliveyoung_magazine/profile-picture" }, "… 2 more" ] } ``` #### MCP で呼び出す場合 ```json { "name": "solari_catalog_instagram_account_search", "arguments": { "query": "oliveyoung", "brands_only": true, "limit": 5 } } ``` #### 注意点 - 名前がユーザー名か表示名に含まれている必要があります。ニックネームや略称では、たいてい見つかりません。 - ブランドを探すときは brands_only=true を指定すると、ファンアカウントが除かれます。 - region を指定すると、その国のアカウントだけに絞り込みます。必要なとき以外は指定しないでください。 #### 関連ツール - [`solari_catalog_instagram_account_profile`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-profile.md?lang=ja) - [`solari_catalog_instagram_account_posts`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-posts.md?lang=ja) - [`solari_catalog_tiktok_account_search`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-search.md?lang=ja) ### solari insight instagram account similar > 似ている Instagram アカウントを探すときに使います。 - **CLI**: `solari insight instagram account similar` - **MCP ツール**: `solari_insight_instagram_account_similar` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 ネットワーク上で近い Instagram アカウントを探します。近くにいるアカウントを探すもので、一緒に広告を出したアカウントを探すものではありません。 **どんなときに使うか** — 似ているアカウントを探したいとき。広告のパートナーを探すなら brand top collaborators を使います。 **返される内容** — 似ているアカウント。近いものから順に並びます。 #### パラメータ - `username` (string, 必須) — Instagram のユーザー名(@ は付けない)。 - `limit` (integer, 任意, 既定値 50, 1–100) — 返す類似アカウントの件数。 #### レスポンス ##### `Response` - `account_id` (uuid) — 基準にしたアカウントの ID。 - `user` (object) — 基準にしたアカウントのプロフィール。 - `params` (object) — 実際に使われた設定。 - `results` (object[]) — 類似アカウント。スコアの高い順。 - `diagnostics` (object) — 検索の実行方法。 - `note` (string) — results が空のときだけ返ります。次に行うことを示します。 - `next` (string) — results が空のときだけ返ります。アカウントを収集するコマンドです。 ##### `results[]` - `account_id` (uuid) — 類似アカウントの account_id。 - `username` (string) — ユーザー名。 - `full_name / bio` (string) — 表示名とプロフィール文。 - `score` (number) — このレスポンス内での類似度スコア。 - `follower_count` (integer) — フォロワー数。 - `region` (string) — 地域コード。 - `has_collaborated` (boolean) — 起点のアカウントと広告でコラボしたことがあるか。 - `last_collaboration_date` (date | null) — 最新の協業日。 #### 例 ```console $ solari insight instagram account similar username=oliveyoung_official limit=8 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "account_id": "018cab6d-1648-7071-9734-c47a2be2fd19", "user_id": "018cab6d-1648-7071-9734-c47a2be2fd19", "params": { "k": 8, "hops": 3, "max_rank_to_use": 25 }, "diagnostics": { "neighbors_used": 6137, "unique_terms": 25, "build_ms": 9419, "algorithm": "distance_weighted_jaccard", "max_rank_used": 25, "target_related_count": 25 }, "user": { "account_id": "018cab6d-1648-7071-9734-c47a2be2fd19", "user_id": "018cab6d-1648-7071-9734-c47a2be2fd19", "username": "oliveyoung_official", "full_name": "올리브영 OLIVE YOUNG", "biography": null, "profile_pic_url": "https://dcr.bzine.co/instagram/users/oliveyoung_official/profile-picture", "follower_count": 1209835, "region": "KR", "is_verified": null }, "results": [ { "account_id": "018cabd4-926b-7a58-b0cb-11dfc7c37006", "user_id": "018cabd4-926b-7a58-b0cb-11dfc7c37006", "username": "gs25_official", "score": 0.1875, "profile_pic_url": "https://dcr.bzine.co/instagram/users/gs25_official/profile-picture", "follower_count": 1018225, "median_views": null, "full_name": "대한민국 대표 편의점 GS25", "bio": "더 재미있게 더 실속있게\n오늘 가장 최신의 트렌드를 만나는\n#25매거진 #재미있는GS25 #라이프스타일플랫폼", "region": "KR", "has_collaborated": false, "last_collaboration_date": null, "collaborated_with": [] }, { "account_id": "018cab6d-19b5-7545-b202-4738e83acd81", "user_id": "018cab6d-19b5-7545-b202-4738e83acd81", "username": "romandyou", "score": 0.1, "profile_pic_url": "https://dcr.bzine.co/instagram/users/romandyou/profile-picture", "follower_count": 845616, "median_views": null, "full_name": "롬앤 romand official", "bio": "멀멀한 ☆초미녀☆ 신상으로 돌아왔어요!\n롬앤 𝗡𝗘𝗪 레오파드 산리오캐릭터즈 에디션\n올리브영 온/오프라인 𝗢𝗣𝗘𝗡 💜🩵\n⁺‧₊‧⁺‧₊‧⁺‧₊‧⁺‧₊‧⁺‧₊‧⁺‧₊‧⁺‧₊‧⁺‧₊‧", "region": "KR", "has_collaborated": false, "last_collaboration_date": null, "collaborated_with": [] } ] } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_account_similar", "arguments": { "username": "oliveyoung_official", "limit": 8 } } ``` #### 注意点 - account_id ではなく username を渡します。 - ブランドと一緒に広告を出したアカウントを知りたいときは、brand top collaborators を使います。 - results が空のときは solari fetch instagram account username=… を実行してから、もう一度呼び出してください。類似アカウントは、アカウントの収集時に一緒に集めたデータから探します。 #### 関連ツール - [`solari_catalog_instagram_account_search`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-search.md?lang=ja) - [`solari_fetch_instagram_account`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-account.md?lang=ja) - [`solari_insight_instagram_brand_top_collaborators`](https://clip-pub.bzine.co/docs/tools/insight-instagram-brand-top-collaborators.md?lang=ja) ### solari insight instagram brand overview > Instagram ブランドのプロフィールと広告の履歴。 - **CLI**: `solari insight instagram brand overview` - **MCP ツール**: `solari_insight_instagram_brand_overview` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 ブランドのプロフィールと、その広告に関わったクリエイターの ID・広告投稿の ID を返します。投稿の ID を content batch に渡すと、投稿を読み込めます。 **どんなときに使うか** — ブランドの分析を始めるとき。広告の正確な件数が必要なら brand ad stats を使います。 **返される内容** — ブランドのプロフィールと、クリエイターの ID・広告投稿の ID。 #### パラメータ - `username` (string, 必須) — ブランドの Instagram ユーザー名(@ は付けない)。 - `full` (boolean, 任意, 既定値 false) — 最初の 20 件ではなく、ID の一覧をすべて返します。 #### レスポンス ##### `Response` - `information` (object) — ブランドのプロフィール。user_id, username, full_name, bio, follower_count を含みます。 - `all_influencers_id` (uuid[]) — ブランドの広告を制作したクリエイターの account_id。既定では最初の 20 件。 - `all_influencers_count` (integer) — 切り詰める前のクリエイターの総数。 - `all_influencers_truncated` (boolean) — 一覧がプレビューのときは true。 - `all_campaign_posts_id` (uuid[]) — 広告投稿の ID。既定では最初の 20 件。 - `all_campaign_posts_count` (integer) — 切り詰める前の投稿の総数。 - `all_campaign_posts_truncated` (boolean) — 一覧がプレビューのときは true。 #### 例 ```console $ solari insight instagram brand overview username=innisfreeofficial ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "information": { "user_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "full_name": "INNISFREE | 이니스프리", "bio": "NATURE MEETS KOREAN SKIN SCIENCE", "follower_count": 847619, "brand_id": null }, "all_influencers_id": [ "01935f3d-8188-727e-a0bb-09e54aadfdac", "018caf6e-abfd-73da-88ad-11a56c39358b", "019a0061-b1d4-7adb-8ea4-1c5572dca38c", "… 17 more" ], "all_campaign_ids": [], "all_campaign_posts_id": [ "019f505f-f8be-7e88-ae08-6fba999950b1", "019f5060-3449-779e-a08b-d6d49add90cd", "019f4342-3357-7418-916c-da1c44468308", "… 17 more" ], "post_id_to_campaign_id": {}, "all_influencers_count": 93, "all_influencers_truncated": true, "all_campaign_posts_count": 100, "all_campaign_posts_truncated": true } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_brand_overview", "arguments": { "username": "innisfreeofficial" } } ``` #### 注意点 - account_id ではなく username を渡します。存在しないユーザー名を渡すと 404 が返ります。 - full=true にすると、それぞれ最大 100 件の ID を返します。正確な合計が必要なら brand ad stats を使います。 #### 関連ツール - [`solari_insight_instagram_brand_ad_stats`](https://clip-pub.bzine.co/docs/tools/insight-instagram-brand-ad-stats.md?lang=ja) - [`solari_catalog_instagram_content_batch`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-batch.md?lang=ja) - [`solari_insight_instagram_brand_ad_posts`](https://clip-pub.bzine.co/docs/tools/insight-instagram-brand-ad-posts.md?lang=ja) ### solari insight instagram brand ad stats > Instagram ブランドの広告の量。 - **CLI**: `solari insight instagram brand ad stats` - **MCP ツール**: `solari_insight_instagram_brand_ad_stats` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 ブランドの最近の広告について、正確な数を返します。タイアップ投稿の件数、クリエイターの数、再生回数の合計です。 **どんなときに使うか** — 答えが数値のとき。brand overview が返す id を数える代わりに、このツールを使ってください。 **返される内容** — 広告投稿の件数、クリエイターの数、再生回数の合計。 #### パラメータ - `username` (string, 必須) — ブランドの Instagram ユーザー名(@ は付けない)。 #### レスポンス ##### `Response` - `total_ad_posts` (integer) — 期間内のタイアップ投稿の件数。正確な値です。 - `unique_creator_count` (integer) — 協業したクリエイターの数(重複なし)。 - `total_play_count` (integer) — 再生回数の合計。 - `play_count_covered_posts` (integer) — 再生回数の合計に含めた投稿の件数。total_ad_posts より少ない場合、合計は下限値です。 - `window_months` (integer) — 期間の長さ(月数)。 #### 例 ```console $ solari insight instagram brand ad stats username=innisfreeofficial ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "total_ad_posts": 405, "unique_creator_count": 360, "total_play_count": 27357941, "play_count_covered_posts": 405, "window_months": 3 } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_brand_ad_stats", "arguments": { "username": "innisfreeofficial" } } ``` #### 注意点 - account_id ではなく username を渡します。 #### 関連ツール - [`solari_insight_instagram_brand_ad_posts`](https://clip-pub.bzine.co/docs/tools/insight-instagram-brand-ad-posts.md?lang=ja) - [`solari_insight_instagram_brand_overview`](https://clip-pub.bzine.co/docs/tools/insight-instagram-brand-overview.md?lang=ja) ### solari insight instagram brand ad posts > Instagram ブランドの広告投稿。 - **CLI**: `solari insight instagram brand ad posts` - **MCP ツール**: `solari_insight_instagram_brand_ad_posts` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 ブランドの広告投稿を、投稿したクリエイターの情報と一緒に返します。 **どんなときに使うか** — 合計だけでなく、投稿そのものが必要なとき。 **返される内容** — 広告投稿。合計が正確なのは sort=recent のときだけです。 #### パラメータ - `username` (string, 必須) — ブランドの Instagram ユーザー名(@ は付けない)。 - `sort` (enum, 任意, 既定値 "recent") — recent は期間全体を対象にします。engagement は最近の一部を順位付けします。 値: `recent`, `engagement`. - `months` (integer, 任意, 既定値 3, 1–24) — 何か月前までさかのぼるか。 - `limit` (integer, 任意, 既定値 50, 1–200) — 1 ページあたりの投稿の件数。 - `offset` (integer, 任意, 既定値 0, ≥ 0) — スキップする投稿の件数。 #### レスポンス ##### `Response` - `items` (object[]) — タイアップ投稿。 - `total` (integer) — sort=recent のときの、期間全体での正確な件数。 - `has_more` (boolean) — 次のページがあるかどうか。 - `ranking_window` (integer | null) — エンゲージメント順の順位付けで対象にした範囲。期間全体ではなく一部だけを並べたときに設定されます。 ##### `items[]` - `id` (uuid) — 投稿 ID。 - `slug` (string) — Instagram のショートコード。 - `text` (string) — キャプション。 - `posted_at` (timestamp) — 公開日時(UTC)。 - `username / user_id / account_id` (string) — 投稿したクリエイター。 - `like_count / comment_count / play_count` (integer) — エンゲージメント。 - `media_type` (string) — 投稿の形式。 - `media / media_url / thumbnail_url` (string) — メディアのリンク。 - `virtual_campaign` (object | null) — キャンペーンのまとまり。特定できた場合のみ。 - `assets` (object[]) — メディアファイル(順番どおり)。それぞれに asset_url, media_type, video_duration があります。 - `assets[].asset_url` (string | null) — 元サイズの画像・動画を直接ダウンロードできるリンク。ファイルが保存されていない場合は null。 #### 例 ```console $ solari insight instagram brand ad posts username=innisfreeofficial limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```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 } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_brand_ad_posts", "arguments": { "username": "innisfreeofficial", "limit": 2 } } ``` #### 注意点 - username を渡します。存在しないユーザー名を渡すと 404 が返ります。 - sort=engagement は、最近の一部の投稿だけを順位付けします。どこまで対象にしたかは ranking_window でわかります。 - likes_hidden が true のときは like_count を使わないでください。投稿者がいいね数を非表示にしているため、null か、実際の値ではない可能性があります。 #### 関連ツール - [`solari_insight_instagram_brand_ad_stats`](https://clip-pub.bzine.co/docs/tools/insight-instagram-brand-ad-stats.md?lang=ja) - [`solari_insight_instagram_account_ad_posts`](https://clip-pub.bzine.co/docs/tools/insight-instagram-account-ad-posts.md?lang=ja) ### solari insight instagram brand top collaborators > Instagram ブランドと協業したクリエイター。 - **CLI**: `solari insight instagram brand top collaborators` - **MCP ツール**: `solari_insight_instagram_brand_top_collaborators` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 ブランドの広告を担当したクリエイターを、担当した回数の多い順に返します。 **どんなときに使うか** — ブランドが誰と協業してきたかを見たいとき。クリエイター側から見るなら account collabs を使います。 **返される内容** — 協業回数の多い順に並んだクリエイター。 #### パラメータ - `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — ブランドの account_id か username を渡します。 - `username` (string, 任意, ≤ 64 chars) — ブランドのユーザー名。account_id を指定した場合は無視されます。 - `promotion` (enum, 任意, 既定値 "all") — すべての投稿、プロモーション投稿のみ、プロモーション以外のみのいずれか。 値: `all`, `true_only`, `false_only`. - `limit` (integer, 任意, 既定値 20, 1–1000) — 返すクリエイターの人数。 - `offset` (integer, 任意, 既定値 0, ≥ 0) — スキップするクリエイターの人数。 #### レスポンス ##### `Response` - `brand_id` (uuid) — 特定したブランドの account_id。 - `promotion_filter` (string) — 適用したプロモーションのフィルター。 - `items` (object[]) — クリエイター。協業回数の多い順。 - `total_count` (integer) — フィルターに合うクリエイターの数。 ##### `items[]` - `creator_id` (uuid) — クリエイターの account_id。 - `username / full_name` (string) — ユーザー名と表示名。 - `profile_pic_url` (string) — プロフィール画像。 - `follower_count` (integer) — フォロワー数。 - `collaboration_count` (integer) — ブランドとの協業投稿。 #### 例 ```console $ solari insight instagram brand top collaborators username=innisfreeofficial limit=5 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "brand_id": "018cabce-14cc-7544-8890-7811ec33ef74", "promotion_filter": "all", "items": [ { "creator_id": "0195474c-8ee3-7690-a385-71b2913e31b5", "username": "donge_cos", "full_name": "💞동이💞", "profile_pic_url": "https://dcr.bzine.co/instagram/users/donge_cos/profile-picture", "follower_count": 83354, "collaboration_count": 31 }, { "creator_id": "018ecc75-55d8-70a7-a348-d370aa504ed9", "username": "beinny_motd", "full_name": "베이니 BEINNY", "profile_pic_url": "https://dcr.bzine.co/instagram/users/beinny_motd/profile-picture", "follower_count": 205754, "collaboration_count": 29 }, "… 3 more" ], "total_count": 2331 } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_brand_top_collaborators", "arguments": { "username": "innisfreeofficial", "limit": 5 } } ``` #### 注意点 - クリエイターの投稿を読み込むには、creator_id の値を brand collaborator posts に渡します。一度に 100 件までです。 #### 関連ツール - [`solari_insight_instagram_brand_collaborator_posts`](https://clip-pub.bzine.co/docs/tools/insight-instagram-brand-collaborator-posts.md?lang=ja) - [`solari_insight_instagram_account_collabs`](https://clip-pub.bzine.co/docs/tools/insight-instagram-account-collabs.md?lang=ja) ### solari insight instagram brand collaborator posts > ブランドと協業したクリエイターの広告投稿。 - **CLI**: `solari insight instagram brand collaborator posts` - **MCP ツール**: `solari_insight_instagram_brand_collaborator_posts` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 ブランドについて、最大 100 人のクリエイターの広告投稿を読み込みます。最近の期間ではなく、全期間が対象です。 **どんなときに使うか** — 多くのクリエイターの投稿を一度に取得したいとき。 **返される内容** — クリエイターごとの合計と投稿。エンゲージメントの高い順に並びます。 #### パラメータ - `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — ブランドの account_id か username を渡します。 - `username` (string, 任意, ≤ 64 chars) — ブランドのユーザー名。account_id を指定した場合は無視されます。 - `account_ids` (uuid[], 必須, 1–100 items, uuid) — 読み込むクリエイターの account_id。最大 100 件。 #### レスポンス ##### `Response` - `(top level)` (object[]) — クリエイター。最上位の配列として返します。 ##### `[]` - `user_id` (uuid) — クリエイターの account_id。 - `username / full_name` (string) — ユーザー名と表示名。 - `follower_count` (integer) — フォロワー数。 - `post_count` (integer) — そのブランドを対象にした投稿。 - `reels_count / images_count` (integer) — 形式ごとの内訳。 - `posts` (object[]) — 投稿。id, slug, text, posted_at, like_count, comment_count, play_count を含みます。 - `like_count_avg / comment_count_avg` (number | null) — エンゲージメントの平均。計算できた場合のみ。 - `posts[].assets` (object[]) — メディアファイル(順番どおり)。それぞれに asset_url, media_type, video_duration があります。 - `posts[].assets[].asset_url` (string | null) — 元サイズの画像・動画を直接ダウンロードできるリンク。ファイルが保存されていない場合は null。 #### 例 ```console $ solari insight instagram brand collaborator posts username=innisfreeofficial account_ids='["0195474c-8ee3-7690-a385-71b2913e31b5","018ecc75-55d8-70a7-a348-d370aa504ed9"]' ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json [ { "user_id": "018ecc75-55d8-70a7-a348-d370aa504ed9", "username": "beinny_motd", "full_name": "베이니 BEINNY", "post_count": 29, "follower_count": 205754, "reels_count": 1, "images_count": 28, "posts": [ { "id": "019c98bc-a666-717d-a5fe-ea96f1345042", "slug": "ByVKkIbnQ8S", "text": "#이니스프리 에서 새롭게 출시된 #구름블러틴트 ☁️💓\n비비드 코튼 잉크 블러버젼이에용\n.\n요즘 이런 블러틴트류 많이 출시돼서 넘 행복해요🥺💛\n이니스프리 블러틴트는 보송보송한 마무리지만 꽤 촉촉하고 가볍게 발리더라구요! 발림성 넘 좋았어요✨\n총 8가지 컬러인데 그중 제 맘에 드는 4가지 컬러는 입술에 발색해서 보여드려용 :) 특히 로즈+핑크 섞인듯한 2호 #로제핑크 완전 추천👍🏻✨\n가격은 9, …", "posted_at": "2019-06-05T14:02:19Z", "virtual_campaign": null, "like_count": 2399, "comment_count": 20, "play_count": null, "username": "beinny_motd", "user_id": "018ecc75-55d8-70a7-a348-d370aa504ed9" }, "… 10 more" ], "like_count_avg": null, "comment_count_avg": null, "synced_at": null }, "… 1 more" ] ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_brand_collaborator_posts", "arguments": { "username": "innisfreeofficial", "account_ids": [ "0195474c-8ee3-7690-a385-71b2913e31b5", "018ecc75-55d8-70a7-a348-d370aa504ed9" ] } } ``` #### 注意点 - account_ids には JSON 配列かカンマ区切りの一覧を渡せます。最大 100 件です。 - likes_hidden が true のときは like_count を使わないでください。投稿者がいいね数を非表示にしているため、null か、実際の値ではない可能性があります。 #### 関連ツール - [`solari_insight_instagram_brand_top_collaborators`](https://clip-pub.bzine.co/docs/tools/insight-instagram-brand-top-collaborators.md?lang=ja) - [`solari_insight_instagram_brand_overview`](https://clip-pub.bzine.co/docs/tools/insight-instagram-brand-overview.md?lang=ja) ### solari insight instagram brand lookalike content > ブランドの広告に似た投稿を探すときに使います。 - **CLI**: `solari insight instagram brand lookalike content` - **MCP ツール**: `solari_insight_instagram_brand_lookalike_content` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 ブランドの成果が高い広告に似た投稿を探します。クリエイティブの参考探しに役立ちます。 **どんなときに使うか** — 広告の量を測るのではなく、参考になる投稿がほしいとき。 **返される内容** — 類似投稿と、基準にしたブランドの広告。 #### パラメータ - `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — ブランドの account_id か username を渡します。 - `username` (string, 任意, ≤ 64 chars) — ブランドのユーザー名。account_id を指定した場合は無視されます。 - `limit` (integer, 任意, 既定値 30, 1–50) — 返す類似投稿の件数。 - `region` (string, 任意, 既定値 "KR") — KR や JP などの国コード。 #### レスポンス ##### `Response` - `items` (object[]) — 類似投稿。 - `basis` (object[]) — 検索の基準になった、ブランド自身の広告投稿。 - `region` (string) — 検索の対象にした地域。 ##### `items[] · basis[]` - `post_id` (uuid) — ほかのコンテンツ系ツールに渡す投稿 ID。 - `slug` (string) — 公開 URL に含まれるショートコード。 - `author_id` (uuid) — 投稿者の account_id。 - `username` (string) — 投稿者のユーザー名。 - `full_name` (string | null) — 表示名。 - `profile_pic_url` (string | null) — プロフィール画像の URL。 - `follower_count` (integer | null) — 投稿者のフォロワー数。 - `region` (string | null) — 投稿者の地域。 - `posted_at` (timestamp) — 公開日時(UTC)。 - `media_type` (string) — image, video, carousel のいずれか。 - `play_count` (integer | null) — 動画の再生回数。画像の場合は null。 - `like_count` (integer | null) — いいね数。 - `text` (string | null) — キャプション。 - `media_url` (string) — メディアの URL。 - `thumbnail_url` (string) — サムネイルの URL。 - `score` (number | null) — ランキングのスコア。ランキング形式の一覧以外では null。 - `efficiency_score` (number | null) — 投稿者のフォロワー数に対する成果。 - `est_percentile` (number | null) — 地域内のパーセンタイル(0〜1)。 - `total_views_3m` (integer | null) — 投稿者の直近 3 か月の再生回数。 - `median_views_3m` (integer | null) — 投稿者の直近 3 か月の再生回数の中央値。 - `recent_collab_brands` (string[]) — 投稿者が最近協業したブランド。 - `item_type` (string) — 項目の種類。常に "content"。 - `content_source` (string | null) — 投稿の出どころのフィード。フィード経由でなければ null。 - `is_saved` (boolean | null) — SOLARI でこの投稿を保存したか。不明な場合は null。 - `updated_at` (timestamp | null) — 指標を最後に更新した日時。 - `assets` (object[]) — メディアファイル(順番どおり)。それぞれに asset_url, media_type, video_duration があります。 - `assets[].asset_url` (string | null) — 元サイズの画像・動画を直接ダウンロードできるリンク。ファイルが保存されていない場合は null。 #### 例 ```console $ solari insight instagram brand lookalike content username=innisfreeofficial limit=3 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "items": [ { "item_type": "content", "post_id": "019ecb92-a677-7421-8ed6-752efe3d99d0", "author_id": "0196cb39-870a-7a76-9773-0b95789c877d", "username": "boo_rookie", "full_name": null, "profile_pic_url": null, "follower_count": null, "region": null, "posted_at": "2026-06-11T08:14:37Z", "media_type": "video", "play_count": 427258, "like_count": null, "score": null, "efficiency_score": null, "est_percentile": null, "updated_at": null, "media_url": "https://smr-images-b.bzine.co/users/0196cb39-870a-7a76-9773-0b95789c877d/posts/019ecb92-a677-7421-8ed6-752efe3d99d0/medias/019ecb92-a92e-7fc8-b644-69b930f2e197.mp4", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=100ms/https://smr-images-a.bzine.co/users/0196cb39-870a-7a76-9773-0b95789c877d/posts/019ecb92-a677-7421-8ed6-752efe3d99d0/medias/019ecb92-a92e-7fc8-b644-69b930f2e1 …", "slug": "DZcD8KXxKwd", "text": null, "brand_match_score": null, "recent_collab_brands": [], "total_views_3m": null, "median_views_3m": null, "is_saved": null, "content_source": "lookalikes_by_top_ad" }, "… 2 more" ], "basis": [ { "item_type": "content", "post_id": "01a04c73-3ec3-7873-9e84-334c644abfe4", "author_id": "0196c474-c96e-71ad-aceb-61af051c81d3", "username": "hwitto_", "full_name": null, "profile_pic_url": null, "follower_count": null, "region": null, "posted_at": null, "media_type": "video", "play_count": 155729, "like_count": null, "score": null, "efficiency_score": null, "est_percentile": null, "updated_at": null, "media_url": "https://smr-images-a.bzine.co/users/0196c474-c96e-71ad-aceb-61af051c81d3/posts/01a04c73-3ec3-7873-9e84-334c644abfe4/medias/01a04c73-4036-7a83-a52a-97b0058e6732.mp4", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=100ms/https://smr-images.bzine.co/users/0196c474-c96e-71ad-aceb-61af051c81d3/posts/01a04c73-3ec3-7873-9e84-334c644abfe4/medias/01a04c73-4036-7a83-a52a-97b0058e6732 …", "slug": "DckGrZ6vZiU", "text": null, "brand_match_score": null, "recent_collab_brands": [], "total_views_3m": null, "median_views_3m": null, "is_saved": null, "content_source": "lookalikes_by_top_ad" }, "… 5 more" ], "region": "KR" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_brand_lookalike_content", "arguments": { "username": "innisfreeofficial", "limit": 3 } } ``` #### 注意点 - basis が空の場合、基準にできる広告投稿がまだありません。 #### 関連ツール - [`solari_insight_instagram_content_similar`](https://clip-pub.bzine.co/docs/tools/insight-instagram-content-similar.md?lang=ja) - [`solari_insight_instagram_brand_ad_posts`](https://clip-pub.bzine.co/docs/tools/insight-instagram-brand-ad-posts.md?lang=ja) - [`solari_catalog_instagram_content_search`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-search.md?lang=ja) ### solari catalog instagram account profile > Instagram アカウントのプロフィール・成果・最近の投稿。 - **CLI**: `solari catalog instagram account profile` - **MCP ツール**: `solari_catalog_instagram_account_profile` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 Instagram アカウントのプロフィール、再生回数の指標、最近の投稿と協業のプレビューを返します。 **どんなときに使うか** — アカウントの全体像を知りたいとき。最近の投稿と協業も一緒に返します。 **返される内容** — プロフィール、成果、最近の投稿と協業。 #### パラメータ - `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — account_id か username を渡します。 - `username` (string, 任意, ≤ 64 chars) — Instagram のユーザー名。account_id を指定した場合は無視されます。 #### レスポンス ##### `Response` - `user_id` (uuid) — account_id。 - `username / full_name / bio` (string) — ユーザー名・表示名・プロフィール文。 - `follower_count / following_count` (integer) — フォロワー数とフォロー数。 - `total_post_count` (integer) — これまでの投稿の総数。 - `post_count_3m` (integer) — 直近 3 か月の投稿の件数。 - `is_verified` (boolean) — 認証バッジ。 - `account_type` (string) — SOLARI が推定したアカウントの種類(ブランド、クリエイターなど)。 - `median_views_cur` (integer) — 現在の期間の再生回数の中央値。 - `total_views_cur` (integer) — 現在の期間の再生回数の合計。 - `ad_count_cur` (integer) — 現在の期間のタイアップ投稿の件数。 - `median_views_growth_m1` (number) — 再生回数の中央値の前月比(比率)。 - `total_views_growth_m1` (number) — 再生回数の合計の前月比(比率)。 - `median_views_region_pct` (number) — 地域内での再生回数の中央値のパーセンタイル(0〜1)。 - `total_views_region_pct` (number) — 地域内での再生回数の合計のパーセンタイル(0〜1)。 - `recent_posts` (object[]) — 最近の投稿のプレビュー。 - `recent_collabs` (object[]) — 最近の広告協業のプレビュー。 - `fetched_on_demand` (boolean) — この呼び出しでアカウントをリアルタイムに取得した場合は true。 - `collected_at` (timestamp) — Instagram からプロフィールを最後に収集した時刻(UTC)。 - `refreshes_regularly` (boolean) — 定期的に再収集されるアカウントかどうか。 #### 例 ```console $ solari catalog instagram account profile username=innisfreeofficial ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "user_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "full_name": "INNISFREE | 이니스프리", "bio": "NATURE MEETS KOREAN SKIN SCIENCE", "profile_pic_url": "https://dcr.bzine.co/instagram/users/innisfreeofficial/profile-picture", "follower_count": 847619, "total_post_count": 4131, "post_count_3m": 100, "following_count": 17, "is_verified": true, "median_views_cur": 12409, "ad_count_cur": 0, "total_views_cur": 685771, "median_views_growth_m1": 0.04956440835659308, "total_views_growth_m1": 0.39407867587418205, "median_views_region_pct": 0.1736183168163037, "total_views_region_pct": 0.1457900950723917, "recent_posts": [ { "post_id": "01a06275-d974-7fda-98ee-dd3ee15b4dcf", "slug": "DcyMAmUh6FZ", "media_type": "video", "media_url": "https://smr-images-b.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.mp4", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.m …", "text": "Deeply hydrated skin—NO OFF HOURS. 💚\nwherever the day takes MINGYU (@min9yu_k)—his hydration stays SUPERCHARGED ⚡️\n\nGreen Tea Ceramide Milk: Lightweight milky toner that won‘t clog your pores\nGreen Tea Ceramide Mist: Tou …", "play_count": 22467, "like_count": 3224, "video_media_count": 0, "media_count": 1 }, "… 5 more" ], "recent_collabs": [], "account_type": "brand", "fetched_on_demand": false } ``` #### MCP で呼び出す場合 ```json { "name": "solari_catalog_instagram_account_profile", "arguments": { "username": "innisfreeofficial" } } ``` #### 注意点 - カタログだけを読みます。アカウントがまだカタログにない場合は、solari fetch instagram account username=… を実行してから再試行してください。 - 見つからないというエラーは、そのハンドルがカタログにないことを示します。名前が変更または削除されたと表示された場合は、Instagram にその名前のアカウントがないため、表示名で検索してください。 - likes_hidden が true のときは like_count を使わないでください。投稿者がいいね数を非表示にしているため、null か、実際の値ではない可能性があります。 #### 関連ツール - [`solari_catalog_instagram_account_posts`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-posts.md?lang=ja) - [`solari_catalog_instagram_account_history`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-history.md?lang=ja) - [`solari_insight_instagram_account_collabs`](https://clip-pub.bzine.co/docs/tools/insight-instagram-account-collabs.md?lang=ja) - [`solari_catalog_tiktok_account_profile`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-profile.md?lang=ja) ### solari catalog instagram account posts > Instagram アカウントの投稿。 - **CLI**: `solari catalog instagram account posts` - **MCP ツール**: `solari_catalog_instagram_account_posts` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 Instagram アカウントの投稿を、メディア・タグ・いいね数と一緒に一覧で返します。日付や形式で絞り込めます。 **どんなときに使うか** — プロフィールのプレビューより多くの投稿が必要なとき。または期間や形式を指定したいとき。 **返される内容** — 投稿。カルーセルの各スライドと、タグ付けされたアカウント・ハッシュタグを含みます。 #### パラメータ - `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — account_id か username を渡します。 - `username` (string, 任意, ≤ 64 chars) — Instagram のユーザー名。account_id を指定した場合は無視されます。 - `limit` (integer, 任意, 既定値 12, 1–200) — 1 ページあたりの投稿の件数。 - `offset` (integer, 任意, 既定値 0, ≥ 0) — スキップする投稿の件数。 - `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)以前の投稿だけを返します。 - `post_type` (enum, 任意) — reel, video, photo, carousel のいずれかに絞り込みます。 値: `reel`, `video`, `photo`, `carousel`. #### レスポンス ##### `Response` - `found` (boolean) — そのユーザー名が Instagram に存在しない場合は false。 - `account_id / username` (string) — 特定したアカウント。 - `total` (integer) — フィルターに合う投稿の数。 - `has_more` (boolean) — 次のページがあるかどうか。 - `items` (object[]) — 投稿。新しい順。 - `fetched_on_demand` (boolean) — 現時点で最新の投稿しか取得できていない場合は true。 - `collected_at` (timestamp) — Instagram からプロフィールを最後に収集した時刻(UTC)。 - `posts_collected_at` (timestamp) — 保存済みの投稿がどこまで収集されているか(UTC)。それ以降の投稿はまだカタログにありません。 - `refreshes_regularly` (boolean) — 定期的に再収集されるアカウントかどうか。 - `stored_post_count / profile_post_count` (integer) — カタログに保存された投稿数と、プロフィールに表示された投稿数。保存数がかなり少ない場合は収集が不十分です。 - `refreshed` (boolean) — 1 日以上前の保存データをこの呼び出しで再収集した場合は true。 - `note` (string | null) — 結果が不完全な可能性がある理由、または found が false の理由(名前の変更や削除)。 ##### `items[]` - `post_id` (uuid) — SOLARI の投稿 ID。 - `slug` (string) — Instagram のショートコード。 - `url` (string) — 公開パーマリンク。 - `post_type` (string) — reel, video, photo, carousel のいずれか。 - `posted_at` (timestamp) — 公開日時(UTC)。 - `text` (string) — キャプション。 - `like_count / comment_count / play_count` (integer) — エンゲージメント。 - `media_count` (integer) — メディアの数。 - `is_paid_partnership` (boolean | null) — Instagram の「タイアップ投稿」ラベル。 - `medias` (object[]) — すべてのメディア(カルーセルの順番どおり)。 - `medias[].tags` (object[]) — メディアにタグ付けされたアカウントとハッシュタグ。 - `thumbnail_url` (string) — サムネイル。 - `assets` (object[]) — メディアファイル(順番どおり)。それぞれに asset_url, media_type, video_duration があります。 - `assets[].asset_url` (string | null) — 元サイズの画像・動画を直接ダウンロードできるリンク。ファイルが保存されていない場合は null。 #### 例 ```console $ solari catalog instagram account posts username=innisfreeofficial limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "found": true, "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "fetched_on_demand": false, "total": 4196, "has_more": true, "items": [ { "post_id": "01a06275-d974-7fda-98ee-dd3ee15b4dcf", "slug": "DcyMAmUh6FZ", "url": "https://www.instagram.com/p/DcyMAmUh6FZ/", "post_type": "reel", "posted_at": "2026-09-02T12:00:06+00:00", "text": "Deeply hydrated skin—NO OFF HOURS. 💚\nwherever the day takes MINGYU (@min9yu_k)—his hydration stays SUPERCHARGED ⚡️\n\nGreen Tea Ceramide Milk: Lightweight milky toner that won‘t clog your pores\nGreen Tea Ceramide Mist: Tou …", "like_count": 3224, "comment_count": 57, "play_count": 22467, "likes_hidden": false, "media_count": 1, "is_paid_partnership": false, "medias": [ { "media_type": "video", "media_url": "https://smr-images-b.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.mp4", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.m …", "video_duration": 23.868000030517578, "tags": [] } ], "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.m …" }, "… 1 more" ] } ``` #### MCP で呼び出す場合 ```json { "name": "solari_catalog_instagram_account_posts", "arguments": { "username": "innisfreeofficial", "limit": 2 } } ``` #### 注意点 - since と until は UTC の日付で、両端の日を含みます。 - post_type=reel はショート動画です。video はリール以外の動画です。 - カタログには抜けがあったり、古かったりすることがあります。solari fetch instagram posts username=…(再生数は type=reels)でその場で収集すると、投稿がそのまま返ります。 - 指定した日付が posts_collected_at より後の場合、結果が空でも投稿がないとは限りません。solari fetch instagram posts username=… で最新の投稿をその場で収集してください。 - likes_hidden が true のときは like_count を使わないでください。投稿者がいいね数を非表示にしているため、null か、実際の値ではない可能性があります。 #### 関連ツール - [`solari_catalog_instagram_account_profile`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-profile.md?lang=ja) - [`solari_catalog_instagram_content_detail`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-detail.md?lang=ja) - [`solari_catalog_instagram_content_history`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-history.md?lang=ja) - [`solari_catalog_tiktok_account_posts`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-posts.md?lang=ja) ### solari catalog instagram account history > Instagram アカウントのフォロワー数・投稿数の推移です。 - **CLI**: `solari catalog instagram account history` - **MCP ツール**: `solari_catalog_instagram_account_history` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 SOLARI が記録した値で、Instagram アカウントのフォロワー数、フォロー数、投稿数の推移を表示します。成長の推移をグラフにしたり、アカウント同士を比べたりするときに使います。 **どんなときに使うか** — 今の数字だけでなく、フォロワーの伸びや推移が必要なときに使います。 **返される内容** — 記録された値が古い順に並び、アカウントの現在の値も付きます。 #### パラメータ - `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — account_id。これか username を渡します。 - `username` (string, 任意, ≤ 64 chars) — Instagram のユーザー名。account_id があるときは無視されます。 - `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)。 - `granularity` (enum, 任意, 既定値 "day") — day は UTC の 1 日につき 1 点だけ残し、all はすべての点を返します。 値: `day`, `all`. #### レスポンス ##### `Response` - `found` (boolean) — カタログにないアカウントなら false です。 - `account_id / username` (string) — 特定したアカウント。 - `granularity` (string) — 適用された day または all。 - `since / until` (date) — 対象の UTC 日付範囲。 - `current` (object | null) — カタログの現在の値。日付範囲に関係なく付きます。 - `points` (object[]) — 記録された値です。古い順です。 - `truncated` (boolean) — 古い点が切り捨てられたとき true。since を狭めてください。 ##### `current` - `follower_count / following_count / post_count` (integer | null) — カタログの現在の数値。 - `is_verified / is_private` (boolean | null) — 認証バッジと非公開かどうか。 - `collected_at` (timestamp | null) — Instagram からプロフィールを最後に収集した時刻。 ##### `points[]` - `captured_at` (timestamp) — SOLARI がこの値を記録した時刻(UTC)。 - `follower_count / following_count / post_count` (integer | null) — その時点の数値。 - `is_verified / is_private` (boolean | null) — その時点の認証バッジと非公開かどうか。 #### 例 ```console $ solari catalog instagram account history username=innisfreeofficial since=2025-03-01 until=2025-03-07 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "found": true, "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "granularity": "day", "since": "2025-03-01", "until": "2025-03-07", "current": { "follower_count": 847643, "following_count": 17, "post_count": 4164, "is_verified": true, "is_private": false, "collected_at": "2026-09-28T05:30:38.364000Z" }, "points": [ { "captured_at": "2025-03-01T18:05:16.810000Z", "follower_count": 881841, "following_count": 22, "post_count": 3611, "is_verified": true, "is_private": false }, { "captured_at": "2025-03-02T22:08:10.426000Z", "follower_count": 881784, "following_count": 22, "post_count": 3611, "is_verified": true, "is_private": false }, { "captured_at": "2025-03-03T23:15:12.611000Z", "follower_count": 881711, "following_count": 22, "post_count": 3612, "is_verified": true, "is_private": false }, "… 4 more" ], "truncated": false } ``` #### MCP で呼び出す場合 ```json { "name": "solari_catalog_instagram_account_history", "arguments": { "username": "innisfreeofficial", "since": "2025-03-01", "until": "2025-03-07" } } ``` #### 注意点 - since と until は UTC 日付で、両端を含みます。指定しなければ直近 90 日です。 - SOLARI がアカウントを収集したときにだけ値が残るため、途中に空白があるのは正常です。 - ほとんどのアカウントは 2025-08-26 から 2025-09-27 まで記録がありません。この 1 か月は収集されておらず、埋めることはできません。 - current を今日の数字として扱う前に、current.collected_at を確認してください。 - カタログだけを読みます。アカウントがない場合は、先に solari fetch instagram account username=… を呼んでください。記録はそこから始まり、過去の値は埋められません。 #### 関連ツール - [`solari_catalog_instagram_account_profile`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-profile.md?lang=ja) - [`solari_catalog_instagram_content_history`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-history.md?lang=ja) - [`solari_fetch_instagram_account`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-account.md?lang=ja) ### solari catalog instagram content history > Instagram 投稿のエンゲージメントの推移です。 - **CLI**: `solari catalog instagram content history` - **MCP ツール**: `solari_catalog_instagram_content_history` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 SOLARI が記録した値で、Instagram 投稿のいいね、コメント、再生、シェア数の推移を表示します。投稿を直接選ぶか、アカウントの最新投稿を追跡できます。 **どんなときに使うか** — 投稿の数字がどう伸びたかを見たいときや、投稿同士の伸び方を比べたいときに使います。 **返される内容** — 投稿ごとに 1 件で、それぞれ記録された値が古い順に並びます。 #### パラメータ - `post_ids` (uuid[], 任意, ≤ 50 items, uuid) — 追跡する post_id。slugs、urls と合わせて最大 50 件。 - `slugs` (string[], 任意, ≤ 50 items) — 追跡する Instagram のショートコード。 - `urls` (string[], 任意, ≤ 50 items) — 追跡する公開 Instagram 投稿 URL。 - `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — このアカウントの最新投稿を追跡します。これか username を渡します。 - `username` (string, 任意, ≤ 64 chars) — 追跡する Instagram のユーザー名。account_id があるときは無視されます。 - `posted_since` (string, 任意, pattern ^\d{4}-\d{2}-\d{2}$) — アカウントモード:この UTC 日付以降に公開された投稿だけ (YYYY-MM-DD)。 - `posted_until` (string, 任意, pattern ^\d{4}-\d{2}-\d{2}$) — アカウントモード:この UTC 日付以前に公開された投稿だけ (YYYY-MM-DD)。 - `limit` (integer, 任意, 既定値 20, 1–50) — アカウントモード:最新の投稿を何件追跡するか。 - `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)。 - `granularity` (enum, 任意, 既定値 "day") — day は投稿ごとに UTC の 1 日につき 1 点だけ残し、all はすべての点を返します。 値: `day`, `all`. #### レスポンス ##### `Response` - `found` (boolean) — アカウントモード:カタログにないアカウントなら false。投稿モード:1 件も見つからなければ false。 - `account_id / username` (string | null) — アカウントモード:特定したアカウント。 - `granularity` (string) — 適用された day または all。 - `items` (object[]) — 投稿ごとに 1 件。投稿モードはリクエスト順、アカウントモードは新しい順です。 - `missing` (string[]) — 投稿モード:カタログにない post_id やショートコード。 ##### `items[]` - `post_id` (uuid) — SOLARI の post_id。 - `slug` (string) — Instagram のショートコード。 - `url` (string) — 公開パーマリンク。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `account_id / username` (string) — 投稿したアカウント。 - `points` (object[]) — 記録された値です。古い順です。 - `truncated` (boolean) — 古い点が切り捨てられたとき true。since を狭めてください。 ##### `items[].points[]` - `captured_at` (timestamp) — SOLARI がこの値を記録した時刻(UTC)。 - `like_count / comment_count` (integer | null) — その時点のいいね数とコメント数。 - `play_count` (integer | null) — その時点の動画の再生数。画像では null。 - `reshare_count` (integer | null) — その時点のシェア数。Instagram が表示しているときだけ。 - `likes_hidden` (boolean | null) — 投稿者がいいね数を非表示にしています。このときは like_count を使わないでください。null か、実際の値ではない可能性があります。 - `deleted` (boolean) — その時点で投稿が削除されていたとき true。 #### 例 ```console $ solari catalog instagram content history username=innisfreeofficial posted_since=2026-09-20 posted_until=2026-09-23 limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "found": true, "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "granularity": "day", "items": [ { "post_id": "01a0caef-bf57-7996-83af-d75cd21ab215", "slug": "DdlXQy8I10z", "url": "https://www.instagram.com/p/DdlXQy8I10z/", "posted_at": "2026-09-22T09:00:12Z", "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "points": [ { "captured_at": "2026-09-22T21:05:04.820000Z", "like_count": 80, "comment_count": 2, "play_count": null, "reshare_count": null, "likes_hidden": false, "deleted": false }, { "captured_at": "2026-09-23T21:30:43.016000Z", "like_count": 112, "comment_count": 3, "play_count": null, "reshare_count": null, "likes_hidden": false, "deleted": false }, "… 1 more" ], "truncated": false }, { "post_id": "01a0c433-73cd-7141-a458-e2eeb1441dba", "slug": "DdiychFo_91", "url": "https://www.instagram.com/p/DdiychFo_91/", "posted_at": "2026-09-21T09:00:07Z", "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "points": [ { "captured_at": "2026-09-21T20:00:23.541000Z", "like_count": 94, "comment_count": 5, "play_count": null, "reshare_count": null, "likes_hidden": false, "deleted": false }, { "captured_at": "2026-09-22T21:05:05.524000Z", "like_count": 114, "comment_count": 6, "play_count": null, "reshare_count": null, "likes_hidden": false, "deleted": false }, "… 2 more" ], "truncated": false } ], "missing": [] } ``` #### MCP で呼び出す場合 ```json { "name": "solari_catalog_instagram_content_history", "arguments": { "username": "innisfreeofficial", "posted_since": "2026-09-20", "posted_until": "2026-09-23", "limit": 2 } } ``` #### 注意点 - 投稿(post_ids、slugs、urls)かアカウント(account_id または username)のどちらか一方だけを渡します。 - since と until は記録された値を絞り込み、posted_since と posted_until はアカウントのどの投稿を追跡するかを選びます。 - 投稿は主に公開から数日のあいだに再収集されるため、古い投稿は点が少なく、途中に空白があるのは正常です。 - likes_hidden が true のときは like_count を使わないでください。投稿者がいいね数を非表示にしているため、null か、実際の値ではない可能性があります。 - カタログだけを読みます。ない投稿は、先に solari fetch instagram post url=… を呼んでください。記録はそこから始まり、過去の値は埋められません。 #### 関連ツール - [`solari_catalog_instagram_content_detail`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-detail.md?lang=ja) - [`solari_catalog_instagram_account_posts`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-posts.md?lang=ja) - [`solari_catalog_instagram_account_history`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-history.md?lang=ja) - [`solari_fetch_instagram_post`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-post.md?lang=ja) ### solari insight instagram account collabs > Instagram クリエイターの最近の協業。 - **CLI**: `solari insight instagram account collabs` - **MCP ツール**: `solari_insight_instagram_account_collabs` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 Instagram クリエイターの最近の協業コンテンツ。 **どんなときに使うか** — クリエイターが誰と協業してきたかを見たいとき。ブランド側から見るなら brand top collaborators を使います。 **返される内容** — 最近の協業コンテンツ。 #### パラメータ - `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — クリエイターの account_id か username を渡します。 - `username` (string, 任意, ≤ 64 chars) — クリエイターのユーザー名。account_id を指定した場合は無視されます。 - `months` (integer, 任意, 既定値 3, 1–12) — 何か月前までさかのぼるか。 - `limit` (integer, 任意, 既定値 5, 1–200) — 1 ページあたりのブランドの件数。 - `offset` (integer, 任意, 既定値 0, ≥ 0) — スキップするブランドの件数。 #### レスポンス ##### `Response` - `total` (integer) — フィルターに合う行の数。 - `has_more` (boolean) — まだ行があるかどうか。 - `items` (object[]) — 協業の概要。対象ブランドごとに 1 行。 ##### `items[]` - `target_account_id` (uuid) — 対象ブランドの account_id。 - `target_username` (string) — 対象ブランドのユーザー名。 - `collab_count` (integer) — そのブランドとの協業投稿。 - `last_posted_at` (timestamp) — 最新の協業。 - `post_id / slug` (string) — サンプル投稿の識別子。 - `text` (string) — サンプル投稿のキャプション。 - `like_count / play_count` (integer) — サンプル投稿のエンゲージメント。 - `media_type` (string) — サンプル投稿の形式。 - `thumbnail_url / media_url` (string) — サンプル投稿のメディア。 - `bio` (string) — 対象ブランドのプロフィール文。 #### 例 ```console $ solari insight instagram account collabs username=beinny_motd months=6 limit=3 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "items": [ { "post_id": "01a05575-7c9b-7232-8519-4a38fa061389", "target_user_id": "018cab85-8ef8-7dc9-ab0a-7044d463f65e", "target_username": "dasique_official", "collab_count": 2, "last_posted_at": "2026-08-30T05:08:56+00:00", "slug": "DcpugJ2kzv8", "text": "#광고 무겁지 않은 가을 데일리 팔레트 로즈밀크티 . .🫖🤎\n차분하고 미지근한 로즈핑크 팔레트인데\n부드러운 밀크티 무드라서 분위기가 넘 예뻐요..🥺\n\n데이지크에서 올리브영 X 산리오 콜라보\n시티팝 에디션으로 미니섀도우팔레트 4종이 출시되는데\n그 중 자주 추천드렸던 로즈밀크티, 밀크라떼가 있더라구요 !\n\nNEW 컬러 피치레코드, 모브카세트도 출시되어요🤍\n도시의 아침과 저녁 무드를 담은 데일리한 …", "play_count": 0, "media_type": "8", "like_count": 878, "video_media_count": 0, "media_count": 15, "bio": "🫒올영세일 08.30 – 09.05\nUP TO 37% SALE\n올리브영X산리오,\n🌠데이지크 🆕 미니 섀도우", "thumbnail_url": "https://bzine.co/cdn-cgi/image/fit=scale-down,width=480/https://smr-images-c.bzine.co/users/018ecc75-55d8-70a7-a348-d370aa504ed9/posts/01a05575-7c9b-7232-8519-4a38fa061389/medias/01a05575-7dd3-779e-9050-a6cb59578cb9.jpg", "media_url": "https://bzine.co/cdn-cgi/image/fit=scale-down,width=480/https://smr-images-c.bzine.co/users/018ecc75-55d8-70a7-a348-d370aa504ed9/posts/01a05575-7c9b-7232-8519-4a38fa061389/medias/01a05575-7dd3-779e-9050-a6cb59578cb9.jpg", "target_account_id": "018cab85-8ef8-7dc9-ab0a-7044d463f65e" }, "… 2 more" ], "has_more": true, "total": 7 } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_account_collabs", "arguments": { "username": "beinny_motd", "months": 6, "limit": 3 } } ``` #### 注意点 - 広告投稿を 1 件ずつ見るなら account ad posts を使います。 #### 関連ツール - [`solari_insight_instagram_account_ad_posts`](https://clip-pub.bzine.co/docs/tools/insight-instagram-account-ad-posts.md?lang=ja) - [`solari_insight_instagram_brand_top_collaborators`](https://clip-pub.bzine.co/docs/tools/insight-instagram-brand-top-collaborators.md?lang=ja) ### solari insight instagram account ad posts > Instagram クリエイターの広告投稿。 - **CLI**: `solari insight instagram account ad posts` - **MCP ツール**: `solari_insight_instagram_account_ad_posts` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 Instagram クリエイターのタイアップ投稿。 **どんなときに使うか** — 概要ではなく、広告投稿そのものが必要なとき。 **返される内容** — 広告投稿。新しい順。 #### パラメータ - `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — クリエイターの account_id か username を渡します。 - `username` (string, 任意, ≤ 64 chars) — クリエイターのユーザー名。account_id を指定した場合は無視されます。 - `months` (integer, 任意, 既定値 3, 1–24) — 何か月前までさかのぼるか。 - `limit` (integer, 任意, 既定値 50, 1–200) — 1 ページあたりの行数。 - `offset` (integer, 任意, 既定値 0, ≥ 0) — スキップする行数。 - `target` (string, 任意, ≤ 64 chars) — 1 つのブランドに絞り込みます。account_id か username を渡します。 #### レスポンス ##### `Response` - `account_id / username` (string) — 特定したクリエイター。 - `months` (integer) — 適用したさかのぼり期間。 - `total` (integer) — 行の総数。 - `has_more` (boolean) — 次のページがあるかどうか。 - `items` (object[]) — 投稿とブランドの組み合わせ。 ##### `items[]` - `post_id / slug / url` (string) — 投稿の識別子と公開リンク。 - `post_type` (string) — reel, video, photo, carousel のいずれか。 - `posted_at` (timestamp) — 公開日時(UTC)。 - `text` (string) — キャプション。 - `like_count / comment_count / play_count` (integer) — エンゲージメント。 - `media_count` (integer) — メディアの数。 - `is_paid_partnership` (boolean | null) — Instagram の「タイアップ投稿」ラベル。 - `target_account_id / target_username` (string) — その行のブランド。 - `assets` (object[]) — メディアファイル(順番どおり)。それぞれに asset_url, media_type, video_duration があります。 - `assets[].asset_url` (string | null) — 元サイズの画像・動画を直接ダウンロードできるリンク。ファイルが保存されていない場合は null。 #### 例 ```console $ solari insight instagram account ad posts username=beinny_motd months=6 limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "account_id": "018ecc75-55d8-70a7-a348-d370aa504ed9", "username": "beinny_motd", "months": 6, "total": 12, "has_more": true, "items": [ { "post_id": "01a05575-7c9b-7232-8519-4a38fa061389", "slug": "DcpugJ2kzv8", "url": "https://www.instagram.com/p/DcpugJ2kzv8/", "post_type": "carousel", "posted_at": "2026-08-30T05:08:56Z", "text": "#광고 무겁지 않은 가을 데일리 팔레트 로즈밀크티 . .🫖🤎\n차분하고 미지근한 로즈핑크 팔레트인데\n부드러운 밀크티 무드라서 분위기가 넘 예뻐요..🥺\n\n데이지크에서 올리브영 X 산리오 콜라보\n시티팝 에디션으로 미니섀도우팔레트 4종이 출시되는데\n그 중 자주 추천드렸던 로즈밀크티, 밀크라떼가 있더라구요 !\n\nNEW 컬러 피치레코드, 모브카세트도 출시되어요🤍\n도시의 아침과 저녁 무드를 담은 데일리한 …", "like_count": 878, "comment_count": 19, "play_count": 0, "media_count": 15, "is_paid_partnership": null, "target_account_id": "018cab85-8ef8-7dc9-ab0a-7044d463f65e", "target_username": "dasique_official" }, "… 1 more" ] } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_account_ad_posts", "arguments": { "username": "beinny_motd", "months": 6, "limit": 2 } } ``` #### 注意点 - target を指定すると、1 つのブランドに絞り込みます。ブランドの account_id か username を渡します。 - likes_hidden が true のときは like_count を使わないでください。投稿者がいいね数を非表示にしているため、null か、実際の値ではない可能性があります。 #### 関連ツール - [`solari_insight_instagram_account_collabs`](https://clip-pub.bzine.co/docs/tools/insight-instagram-account-collabs.md?lang=ja) - [`solari_insight_instagram_brand_ad_posts`](https://clip-pub.bzine.co/docs/tools/insight-instagram-brand-ad-posts.md?lang=ja) ### solari catalog instagram content detail > ID、ショートコード、URL で指定した Instagram の投稿。 - **CLI**: `solari catalog instagram content detail` - **MCP ツール**: `solari_catalog_instagram_content_detail` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 post_id、ショートコード、公開 URL のいずれかで Instagram の投稿を読み込みます。 **どんなときに使うか** — 投稿が必要なとき。多くの ID をまとめて扱うなら content batch を使います。 **返される内容** — 投稿。キャプションと指標を含みます。 #### パラメータ - `post_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — post_id。これか slug, url のいずれかを渡します。 - `slug` (string, 任意, pattern ^[A-Za-z0-9_-]{3,20}$) — Instagram のショートコード。 - `url` (string, 任意, ≤ 512 chars) — Instagram 投稿の公開 URL。 #### レスポンス ##### `Response` - `item` (object | null) — 投稿。存在しない場合や非公開の場合は null。 - `fetched_on_demand` (boolean) — この呼び出しで投稿をリアルタイムに取得した場合は true。 - `note` (string) — item が null のときのみ。次に行うべきこと。 - `next` (string) — item が null で、投稿を URL かショートコードで指定したときのみ。その投稿を収集する fetch post コマンド。 ##### `item` - `post_id` (uuid) — ほかのコンテンツ系ツールに渡す投稿 ID。 - `slug` (string) — 公開 URL に含まれるショートコード。 - `author_id` (uuid) — 投稿者の account_id。 - `username` (string) — 投稿者のユーザー名。 - `full_name` (string | null) — 表示名。 - `profile_pic_url` (string | null) — プロフィール画像の URL。 - `follower_count` (integer | null) — 投稿者のフォロワー数。 - `region` (string | null) — 投稿者の地域。 - `posted_at` (timestamp) — 公開日時(UTC)。 - `media_type` (string) — image, video, carousel のいずれか。 - `play_count` (integer | null) — 動画の再生回数。画像の場合は null。 - `like_count` (integer | null) — いいね数。 - `text` (string | null) — キャプション。 - `media_url` (string) — メディアの URL。 - `thumbnail_url` (string) — サムネイルの URL。 - `score` (number | null) — ランキングのスコア。ランキング形式の一覧以外では null。 - `efficiency_score` (number | null) — 投稿者のフォロワー数に対する成果。 - `est_percentile` (number | null) — 地域内のパーセンタイル(0〜1)。 - `total_views_3m` (integer | null) — 投稿者の直近 3 か月の再生回数。 - `median_views_3m` (integer | null) — 投稿者の直近 3 か月の再生回数の中央値。 - `recent_collab_brands` (string[]) — 投稿者が最近協業したブランド。 - `item_type` (string) — 項目の種類。常に "content"。 - `content_source` (string | null) — 投稿の出どころのフィード。フィード経由でなければ null。 - `is_saved` (boolean | null) — SOLARI でこの投稿を保存したか。不明な場合は null。 - `updated_at` (timestamp | null) — 指標を最後に更新した日時。 - `assets` (object[]) — メディアファイル(順番どおり)。それぞれに asset_url, media_type, video_duration があります。 - `assets[].asset_url` (string | null) — 元サイズの画像・動画を直接ダウンロードできるリンク。ファイルが保存されていない場合は null。 #### 例 ```console $ solari catalog instagram content detail slug=DcyMAmUh6FZ ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "item": { "item_type": "content", "post_id": "01a06275-d974-7fda-98ee-dd3ee15b4dcf", "author_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "full_name": "INNISFREE | 이니스프리", "profile_pic_url": "https://dcr.bzine.co/instagram/users/innisfreeofficial/profile-picture", "follower_count": 847619, "region": null, "posted_at": "2026-09-02T12:00:06Z", "media_type": "video", "play_count": 22467, "like_count": 3224, "score": null, "efficiency_score": null, "est_percentile": null, "updated_at": null, "media_url": "https://smr-images-b.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.mp4", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.m …", "slug": "DcyMAmUh6FZ", "text": "Deeply hydrated skin—NO OFF HOURS. 💚\nwherever the day takes MINGYU (@min9yu_k)—his hydration stays SUPERCHARGED ⚡️\n\nGreen Tea Ceramide Milk: Lightweight milky toner that won‘t clog your pores\nGreen Tea Ceramide Mist: Tou …", "brand_match_score": null, "recent_collab_brands": [], "total_views_3m": null, "median_views_3m": null, "is_saved": null, "content_source": null }, "fetched_on_demand": false } ``` #### MCP で呼び出す場合 ```json { "name": "solari_catalog_instagram_content_detail", "arguments": { "slug": "DcyMAmUh6FZ" } } ``` #### 注意点 - url には /p/, /reel/, /tv/ のどのリンクも渡せます。ショートコードは自動で取り出します。 - カタログの情報だけを読みます。まだ収集していない投稿を集めるには、solari fetch instagram post url=… を実行します(投稿者もわかります)。投稿者がわかっている場合は solari fetch instagram posts username=… を実行します。 - likes_hidden が true のときは like_count を使わないでください。投稿者がいいね数を非表示にしているため、null か、実際の値ではない可能性があります。 #### 関連ツール - [`solari_fetch_instagram_post`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-post.md?lang=ja) - [`solari_catalog_instagram_content_batch`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-batch.md?lang=ja) - [`solari_catalog_instagram_content_history`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-history.md?lang=ja) - [`solari_catalog_instagram_account_posts`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-posts.md?lang=ja) ### solari catalog instagram content batch > 複数の Instagram 投稿をまとめて取得します。 - **CLI**: `solari catalog instagram content batch` - **MCP ツール**: `solari_catalog_instagram_content_batch` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 投稿 ID のリストを渡すと、キャプションと指標を読み込みます。見つからない ID はスキップします。 **どんなときに使うか** — brand overview やフィードで得た ID があり、その投稿を見たいとき。 **返される内容** — 見つかった投稿。 #### パラメータ - `post_ids` (uuid[], 必須, 1–100 items, uuid) — 読み込む post_id。最大 100 件。 - `sort` (enum, 任意, 既定値 "recent") — 新しい順かエンゲージメント順で並べます。 値: `recent`, `engagement`. #### レスポンス ##### `Response` - `items` (object[]) — 見つかった投稿。 - `requested` (integer) — 送った ID の件数。 - `found` (integer) — 見つかった ID の件数。収集していない ID は除かれるため、送った件数より少なくなることがあります。 ##### `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 content batch post_ids='["019f505f-f8be-7e88-ae08-6fba999950b1","019f5060-3449-779e-a08b-d6d49add90cd"]' ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "items": [ { "id": "019f505f-f8be-7e88-ae08-6fba999950b1", "slug": "Dam_BYyJxtR", "text": "#광고 ₊✩‧₊˚ @innisfreeofficial ˚₊✩‧₊ \n공들인 나의 화장.. 찜통 더위에 무너져 내릴때\n이니스프리 노세범 선 파우더 하나면 고민 끝!\n\n유분 가득한 피부.. 꺼진 부위, 모공, 요철 부각되어\n10년은 늙어보이는 몰골에서 노세범 선 파우더 바르는\n즉시 핑크빛 필터를 씌운 듯~ 뽀용 피부 완성 ⭒˚.⋆\n\n노세범 맛집 답게 과다 피지와 유분을 즉각 흡착시키고\n무엇보다 가벼 …", "posted_at": "2026-07-10T10:34:01Z", "virtual_campaign": null, "username": "the_ketchap", "user_id": "018d3b53-c0c1-71cc-a44f-204f7d850267", "profile_picture_url": null, "like_count": 38579, "comment_count": 31, "thumbnail_url": null, "media_url": null, "media": [], "media_type": "reel", "play_count": 676825, "account_id": "018d3b53-c0c1-71cc-a44f-204f7d850267" }, "… 1 more" ], "requested": 2, "found": 2 } ``` #### MCP で呼び出す場合 ```json { "name": "solari_catalog_instagram_content_batch", "arguments": { "post_ids": [ "019f505f-f8be-7e88-ae08-6fba999950b1", "019f5060-3449-779e-a08b-d6d49add90cd" ] } } ``` #### 注意点 - SOLARI の投稿 ID だけを受け付けます。ショートコードは slug として content detail に渡します。 - likes_hidden が true のときは like_count を使わないでください。投稿者がいいね数を非表示にしているため、null か、実際の値ではない可能性があります。 #### 関連ツール - [`solari_catalog_instagram_content_detail`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-detail.md?lang=ja) - [`solari_insight_instagram_brand_overview`](https://clip-pub.bzine.co/docs/tools/insight-instagram-brand-overview.md?lang=ja) ### solari catalog instagram content search > Instagram のキャプション、プロフィール文、動画の文字起こしを検索するときに使います。 - **CLI**: `solari catalog instagram content search` - **MCP ツール**: `solari_catalog_instagram_content_search` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 KR, JP, US, TW で収集している Instagram の投稿を、キーワードで検索します。対象はおよそ直近 6 か月です。 **どんなときに使うか** — 特定のテーマの投稿がほしいとき。件数が必要なら content aggregate を使います。 **返される内容** — 関連度の高い順に並んだ投稿。一致したテキストはハイライトされます。 #### パラメータ - `query` (string, 必須) — 検索する語句。 - `region` (enum, 任意, 既定値 "KR") — KR, JP, US, TW のいずれか。 値: `KR`, `JP`, `US`, `TW`. - `limit` (integer, 任意, 既定値 20, 1–100) — 1 ページあたりの投稿の件数。 - `offset` (integer, 任意, 既定値 0, ≥ 0) — スキップする投稿の件数。 - `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)以前の投稿だけを返します。 #### レスポンス ##### `Response` - `query / region` (string) — 適用した検索語句と地域。 - `total` (integer) — 一致した件数。10,000 件までは正確で、それを超えると 10,000 のままになります。 - `took_ms` (integer) — 検索にかかった時間。 - `items` (object[]) — 検索結果。スコアの高い順。 ##### `items[]` - `post_id` (uuid) — SOLARI の投稿 ID。 - `slug` (string) — Instagram のショートコード。 - `account_id / author_id / username` (string) — 投稿したアカウント。 - `caption` (string) — キャプション。 - `user_bio` (string) — 投稿者のプロフィール文。検索対象のテキストに含まれます。 - `transcription_text` (string | null) — 動画の音声の文字起こし。 - `posted_at` (timestamp) — 公開日時(UTC)。 - `like_count / comment_count` (integer) — エンゲージメント。 - `follower_count` (integer) — 投稿者のフォロワー数。 - `score` (number) — 関連度スコア。このレスポンス内でのみ比較できます。 - `highlight` (object) — フィールドごとの一致した部分。caption, user_bio, transcription_text。 - `is_video` (boolean) — 動画の投稿かどうか。 - `assets` (object[]) — メディアファイル(順番どおり)。それぞれに asset_url, media_type, video_duration があります。 - `assets[].asset_url` (string | null) — 元サイズの画像・動画を直接ダウンロードできるリンク。ファイルが保存されていない場合は null。 #### 例 ```console $ solari catalog instagram content search query="이니스프리 그린티" limit=3 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "query": "이니스프리 그린티", "region": "KR", "total": 10000, "took_ms": 1586, "items": [ { "post_id": "019f12d8-3e72-78e9-b7e5-39293bc56f23", "author_id": "019f12d8-3e0f-7c74-afc6-e14405bd1523", "username": "hanydiary", "caption": "[이니스프리에디터 4기 1-2 : 그린티 PDRN 아이&립 세럼] #이니스프리 #그린티PDRN 💚 자세한 포스팅은 프로필 링크 참고해주세요 :)", "user_bio": "대외활동 | 휴학생 | 취준일기 🪽과 학생회 2년 연임 🪽이니스프리 대학생 에디터 3기 / 4기", "transcription_text": null, "posted_at": "2026-02-16T05:44:45Z", "like_count": 3, "comment_count": 3, "follower_count": 972, "score": 140.43787, "slug": "DUzrl1UkoJb", "highlight": { "caption": [ "[이니스프리에디터 4기 1-2 : 그린티 PDRN 아이&립 세럼] #이니스프리 #그린티PDRN 💚 자세한 포스팅은 프로필 링크 참고해주세요 :)" ], "user_bio": [ "대외활동 | 휴학생 | 취준일기 🪽과 학생회 2년 연임 🪽이니스프리 대학생 에디터 3기 / 4기" ], "transcription_text": [] }, "is_video": false, "media_url": null, "thumbnail_url": null, "account_id": "019f12d8-3e0f-7c74-afc6-e14405bd1523" }, "… 2 more" ] } ``` #### MCP で呼び出す場合 ```json { "name": "solari_catalog_instagram_content_search", "arguments": { "query": "이니스프리 그린티", "limit": 3 } } ``` #### 注意点 - since におよそ 6 か月より前の日付を指定すると、何も返りません。 - total は 10,000 件まで数え、それ以上は数えません。 - likes_hidden が true のときは like_count を使わないでください。投稿者がいいね数を非表示にしているため、null か、実際の値ではない可能性があります。 #### 関連ツール - [`solari_insight_instagram_content_aggregate`](https://clip-pub.bzine.co/docs/tools/insight-instagram-content-aggregate.md?lang=ja) - [`solari_catalog_instagram_content_batch`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-batch.md?lang=ja) - [`solari_catalog_tiktok_content_search`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-content-search.md?lang=ja) ### solari insight instagram content trending > いま人気の Instagram 投稿。 - **CLI**: `solari insight instagram content trending` - **MCP ツール**: `solari_insight_instagram_content_trending` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 指定した地域で人気の Instagram 投稿を、投稿者のプロフィールと一緒に返します。 **どんなときに使うか** — いま反応の良い投稿を知りたいとき。伸びの速さを見るなら content rising を使います。 **返される内容** — 人気の投稿。次のページは next_cursor で取得します。 #### パラメータ - `region` (string, 任意, 既定値 "KR") — KR や JP などの国コード。 - `limit` (integer, 任意, 既定値 20, 1–50) — 1 ページあたりの投稿の件数。 - `cursor` (string, 任意) — 前のページで得た next_cursor。 - `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — ブランドの account_id。そのブランドに合う順に並べます。 - `username` (string, 任意, ≤ 64 chars) — ブランドのユーザー名。そのブランドに合う順に並べます。account_id を指定した場合は無視されます。 #### レスポンス ##### `Response` - `items` (object[]) — 人気の投稿。 - `total_count` (integer) — フィード全体の項目数。 - `region` (string) — 適用した地域。 - `content_type` (string) — フィードの種類。 - `next_cursor` (string | null) — 次のページで cursor に渡す値。 ##### `items[]` - `post_id` (uuid) — ほかのコンテンツ系ツールに渡す投稿 ID。 - `slug` (string) — 公開 URL に含まれるショートコード。 - `author_id` (uuid) — 投稿者の account_id。 - `username` (string) — 投稿者のユーザー名。 - `full_name` (string | null) — 表示名。 - `profile_pic_url` (string | null) — プロフィール画像の URL。 - `follower_count` (integer | null) — 投稿者のフォロワー数。 - `region` (string | null) — 投稿者の地域。 - `posted_at` (timestamp) — 公開日時(UTC)。 - `media_type` (string) — image, video, carousel のいずれか。 - `play_count` (integer | null) — 動画の再生回数。画像の場合は null。 - `like_count` (integer | null) — いいね数。 - `text` (string | null) — キャプション。 - `media_url` (string) — メディアの URL。 - `thumbnail_url` (string) — サムネイルの URL。 - `score` (number | null) — ランキングのスコア。ランキング形式の一覧以外では null。 - `efficiency_score` (number | null) — 投稿者のフォロワー数に対する成果。 - `est_percentile` (number | null) — 地域内のパーセンタイル(0〜1)。 - `total_views_3m` (integer | null) — 投稿者の直近 3 か月の再生回数。 - `median_views_3m` (integer | null) — 投稿者の直近 3 か月の再生回数の中央値。 - `recent_collab_brands` (string[]) — 投稿者が最近協業したブランド。 - `item_type` (string) — 項目の種類。常に "content"。 - `content_source` (string | null) — 投稿の出どころのフィード。フィード経由でなければ null。 - `is_saved` (boolean | null) — SOLARI でこの投稿を保存したか。不明な場合は null。 - `updated_at` (timestamp | null) — 指標を最後に更新した日時。 - `assets` (object[]) — メディアファイル(順番どおり)。それぞれに asset_url, media_type, video_duration があります。 - `assets[].asset_url` (string | null) — 元サイズの画像・動画を直接ダウンロードできるリンク。ファイルが保存されていない場合は null。 #### 例 ```console $ solari insight instagram content trending region=KR limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "items": [ { "item_type": "content", "post_id": "01a055fe-d72c-7005-8709-eef67b4be6f0", "author_id": "018ecc27-f8e7-7100-9339-bb050ea44a7f", "username": "sixpackpiggy", "full_name": "Jinmin Park", "profile_pic_url": "https://dcr.bzine.co/instagram/users/sixpackpiggy/profile-picture", "follower_count": 93442, "region": "KR", "posted_at": "2026-08-29T02:02:20Z", "media_type": "video", "play_count": 286749, "like_count": null, "score": 96.69330916066565, "efficiency_score": null, "est_percentile": 96.69330916066565, "updated_at": "2026-09-03T04:51:42.797111Z", "media_url": "https://smr-images-b.bzine.co/users/018ecc27-f8e7-7100-9339-bb050ea44a7f/posts/01a055fe-d72c-7005-8709-eef67b4be6f0/medias/01a055fe-d964-7d73-9a77-d06823a2abc2.mp4", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images.bzine.co/users/018ecc27-f8e7-7100-9339-bb050ea44a7f/posts/01a055fe-d72c-7005-8709-eef67b4be6f0/medias/01a055fe-d964-7d73-9a77-d06823a2abc2.m …", "slug": "Dcmzs05SAae", "text": "How dedicated are you to your Korean skincare? 💅@patinaosaka \n#koreanskincare #osaka #japan #kbeauty #traveling", "brand_match_score": null, "recent_collab_brands": [], "total_views_3m": 1875678, "median_views_3m": 57780, "is_saved": false, "content_source": null }, "… 1 more" ], "total_count": 213635, "region": "KR", "content_type": "trending", "next_cursor": "eyJhcyI6ICIyMDI2LTA5LTAzVDA1OjIwOjIzLjM4Mzk3NCswMDowMCIsICJzYyI6ICIyMDI2LTA5LTAzVDA0OjQ0OjQ3LjkzNTI1OCswMDowMCIsICJzcCI6ICIwMWEwNTVmZS1mOWIyLTdiNmYtYjY1OS05ZGE1OTM3NjgzMWMifQ==" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_content_trending", "arguments": { "region": "KR", "limit": 2 } } ``` #### 注意点 - ブランドの account_id か username を渡すと、そのブランドに合う順に並べます。 - ページ送りには offset ではなくカーソルを使います。next_cursor をそのまま渡してください。 - likes_hidden が true のときは like_count を使わないでください。投稿者がいいね数を非表示にしているため、null か、実際の値ではない可能性があります。 #### 関連ツール - [`solari_insight_instagram_content_rising`](https://clip-pub.bzine.co/docs/tools/insight-instagram-content-rising.md?lang=ja) - [`solari_insight_instagram_content_trend_clusters`](https://clip-pub.bzine.co/docs/tools/insight-instagram-content-trend-clusters.md?lang=ja) ### solari insight instagram content rising > 急上昇中の Instagram の投稿。 - **CLI**: `solari insight instagram content rising` - **MCP ツール**: `solari_insight_instagram_content_rising` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 直近のパフォーマンスが伸びている Instagram の投稿を、投稿者のプロフィール付きで返します。 **どんなときに使うか** — 現在の合計値より伸び率を重視したいとき。 **返される内容** — 急上昇中の投稿。次のページは next_cursor で取得します。 #### パラメータ - `region` (string, 任意, 既定値 "KR") — KR、JP などの国コード。 - `limit` (integer, 任意, 既定値 20, 1–50) — 1 ページあたりの投稿数。 - `cursor` (string, 任意) — 前のページで返された next_cursor。 - `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — ブランドに合わせて並べ替えるときのブランドの account_id。 - `username` (string, 任意, ≤ 64 chars) — ブランドに合わせて並べ替えるときのブランドの username。account_id を指定した場合は無視されます。 #### レスポンス ##### `Response` - `items` (object[]) — 急上昇中の投稿。 - `total_count` (integer) — フィード全体の項目数。 - `region` (string) — 適用された地域。 - `content_type` (string) — フィードの種類。 - `next_cursor` (string | null) — 次のページの cursor に使う値。 ##### `items[]` - `post_id` (uuid) — ほかのコンテンツ系ツールで使う投稿 ID。 - `slug` (string) — 公開 URL に含まれるショートコード。 - `author_id` (uuid) — 投稿者の account_id。 - `username` (string) — 投稿者の username。 - `full_name` (string | null) — 表示名。 - `profile_pic_url` (string | null) — プロフィール画像の URL。 - `follower_count` (integer | null) — 投稿者のフォロワー数。 - `region` (string | null) — 投稿者の地域。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `media_type` (string) — image、video、carousel のいずれか。 - `play_count` (integer | null) — 動画の再生数。画像の場合は null。 - `like_count` (integer | null) — いいね数。 - `text` (string | null) — キャプション。 - `media_url` (string) — メディアの URL。 - `thumbnail_url` (string) — サムネイルの URL。 - `score` (number | null) — ランキングのスコア。ランキング形式の一覧以外では null。 - `efficiency_score` (number | null) — 投稿者のフォロワー数に対するパフォーマンス。 - `est_percentile` (number | null) — 地域内のパーセンタイル(0–1)。 - `total_views_3m` (integer | null) — 投稿者の直近 3 か月の再生数。 - `median_views_3m` (integer | null) — 投稿者の直近 3 か月の再生数の中央値。 - `recent_collab_brands` (string[]) — 投稿者が最近コラボしたブランド。 - `item_type` (string) — 項目の種類。常に "content"。 - `content_source` (string | null) — 投稿の出どころのフィード。フィード経由でなければ null。 - `is_saved` (boolean | null) — SOLARI でこの投稿を保存したか。不明な場合は null。 - `updated_at` (timestamp | null) — 指標を最後に更新した日時。 - `assets` (object[]) — メディアファイルの一覧(表示順)。それぞれ asset_url、media_type、video_duration を持ちます。 - `assets[].asset_url` (string | null) — フルサイズの画像または動画の直接ダウンロードリンク。ファイルが保存されていない場合は null。 #### 例 ```console $ solari insight instagram content rising region=KR limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "items": [ { "item_type": "content", "post_id": "01a0495a-4e46-73d5-a111-a818248b665b", "author_id": "019e4a24-ee85-78e9-8763-602930999853", "username": "iiiwantkitty", "full_name": "주 령", "profile_pic_url": "https://dcr.bzine.co/instagram/users/iiiwantkitty/profile-picture", "follower_count": 706, "region": "KR", "posted_at": "2026-08-28T07:38:46Z", "media_type": "video", "play_count": 48092, "like_count": null, "score": 0.1292899036795201, "efficiency_score": 0.1292899036795201, "est_percentile": 84.68488691008565, "updated_at": "2026-09-03T05:20:45.496271Z", "media_url": "https://smr-images-b.bzine.co/users/019e4a24-ee85-78e9-8763-602930999853/posts/01a0495a-4e46-73d5-a111-a818248b665b/medias/01a0495a-4fc0-7352-92dd-a04afe898589.mp4", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images-a.bzine.co/users/019e4a24-ee85-78e9-8763-602930999853/posts/01a0495a-4e46-73d5-a111-a818248b665b/medias/01a0495a-4fc0-7352-92dd-a04afe898589 …", "slug": "Dck0Wj8xeq3", "text": "이정도가 아니면 뮤트라고 하지말자..⭐️ 뮤트톤 친구 입술에 빡빡 발라주고싶음\n\n컬러 보자마자 아 내꺼하자ㅡㅡ 하고 바로 겟한 것\n\n그레이애쉬,, 핑크 ,, 브라운 다 들어간 밑힌 컬러 이거 뮤트톤들이 바르면 진짜 분위기 미처버리는 립이걸랑 영상보다 실물이 더 뮤트!\n\n입술에 올리면 좀더 투명하게 올라가면서 회끼도는데 뉴트럴하면서도 팥앙금 같은 고런 깔 느낌\n안쪽에만 톡톡 발라서 쌩얼립으로도 …", "brand_match_score": null, "recent_collab_brands": [ "apieu_cosmetics", "… 8 more" ], "total_views_3m": 2389749, "median_views_3m": 5215, "is_saved": false, "content_source": null }, "… 1 more" ], "total_count": 291665, "region": "KR", "content_type": "rising", "next_cursor": "eyJhcyI6ICIyMDI2LTA5LTAzVDA1OjIwOjQ5LjA3Mjg3MiswMDowMCIsICJzYyI6ICIyMDI2LTA5LTAzVDA1OjE5OjQwLjc1NzUwOCswMDowMCIsICJzcCI6ICIwMWEwNDNmOC1hODdlLTdiMWItYjFiNi1iODliMTU2YjU0ODgifQ==" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_content_rising", "arguments": { "region": "KR", "limit": 2 } } ``` #### 注意点 - content trending ツールと同じパラメータを受け付けます。ブランドに合わせた並べ替えも含みます。 - likes_hidden が true のときは like_count を使わないでください。投稿者がいいね数を非表示にしているため、null か、実際の値ではない可能性があります。 #### 関連ツール - [`solari_insight_instagram_content_trending`](https://clip-pub.bzine.co/docs/tools/insight-instagram-content-trending.md?lang=ja) - [`solari_insight_instagram_content_trend_clusters`](https://clip-pub.bzine.co/docs/tools/insight-instagram-content-trend-clusters.md?lang=ja) ### solari insight instagram content trend clusters > テーマ別にまとめた Instagram のトレンド。 - **CLI**: `solari insight instagram content trend clusters` - **MCP ツール**: `solari_insight_instagram_content_trend_clusters` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 指定した地域のトレンドのまとめ。テーマごとに名前、規模、動き、代表的な投稿をいくつか返します。 **どんなときに使うか** — 投稿の一覧ではなく、いまの流れを大きくつかみたいとき。 **返される内容** — 名前付きのトレンドのまとまりと、含まれる投稿のプレビュー。 #### パラメータ - `region` (string, 任意, 既定値 "KR") — KR、JP などの国コード。 - `since_days` (integer, 任意, 既定値 7, 1–90) — 何日前までさかのぼるか。 - `limit` (integer, 任意, 既定値 20, 1–24) — 返すまとまりの数。 - `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — まとまりを並べ替える基準にするブランドの account_id。 - `username` (string, 任意, ≤ 64 chars) — まとまりを並べ替える基準にするブランドの username。account_id を指定した場合は無視されます。 - `brand_aware` (boolean, 任意, 既定値 true) — ブランドに合わせてまとまりを並べ替えます。ブランドを指定した場合は既定で有効です。 #### レスポンス ##### `Response` - `success` (boolean) — まとめが生成されたかどうか。 - `trend_count` (integer) — 返されたまとまりの数。 - `header_text` (string) — まとめの見出し。 - `region / since_days` (string · integer) — 適用された地域と対象期間。 - `brand_aware` (boolean) — ブランドとの相性による並べ替えを指定したかどうか。 - `als_applied` (boolean) — 相性モデルが実際に実行されたかどうか。 - `trends` (object[]) — トレンドのまとまり。 ##### `trends[]` - `cluster_id` (string) — まとまりの ID。 - `name` (string) — まとまりの名前。 - `bullets` (string[]) — まとまりを説明する文章。 - `count` (integer) — 含まれる投稿の数。 - `count_delta` (integer) — 前の期間と比べた、含まれる投稿数の変化。 - `growth_pct` (number) — 伸び率(%)。 - `avg_play_delta` (number) — 平均再生数の変化。 - `distinct_creators` (integer) — このまとまりに投稿しているクリエイター。 - `creator_delta` (integer) — クリエイター数の変化。 - `is_new` (boolean) — このまとまりが今回の期間に初めて現れたかどうか。 - `member_thumbnails` (object[]) — 含まれる投稿のサムネイルプレビュー。 #### 例 ```console $ solari insight instagram content trend clusters region=KR since_days=7 limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "success": true, "trend_count": 2, "header_text": "최근 7일 인기 트렌드 2개 (브랜드 컨텍스트 없음)", "brand_aware": true, "als_applied": false, "region": "KR", "since_days": 7, "directive": null, "trends": [ { "cluster_id": "01a05857-7727-74d8-8da5-4e95981aca8d", "name": "GV90의 미래형 하이테크 기능", "bullets": [ "화면이 회전하거나 시트가 뒤로 돌아가는 등 물리적으로 변형되는 자동차 내부 장치들을 직접 시연함", "… 1 more" ], "count": 7, "count_delta": 0, "growth_pct": 0, "avg_play_delta": 0, "creator_delta": 0, "distinct_creators": 3, "is_new": false, "early_zone_creator_count": null, "early_zone_creator_ratio": null, "als_member_count": null, "mean_als_score": null, "annotation": null, "group": null, "member_thumbnails": [ { "post_id": "01a030df-c4b3-739c-9214-44b3b9463c7b", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=100ms/https://smr-images-c.bzine.co/users/018cb4c9-da89-7b02-8efd-53ccb65c26c9/posts/01a030df-c4b3-739c-9214-44b3b9463c7b/medias/01a030df-c7c3-788e-8775-1096728e07 …", "slug": "DcP6jgRMTRv", "username": "sol.bpd", "media_url": "https://smr-images-c.bzine.co/users/018cb4c9-da89-7b02-8efd-53ccb65c26c9/posts/01a030df-c4b3-739c-9214-44b3b9463c7b/medias/01a030df-c7c3-788e-8775-1096728e07f2.mp4", "media_type": "video", "play_count": 1947419, "posted_at": "2026-08-20T04:37:17+00:00" }, "… 3 more" ] }, "… 1 more" ], "insights": null, "insight_query": null } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_content_trend_clusters", "arguments": { "region": "KR", "since_days": 7, "limit": 2 } } ``` #### 注意点 - この呼び出しには最大 2 分かかることがあります。 - ブランドを渡すと、そのブランドに合わせてまとまりを並べ替えます。元の順序のままにするには brand_aware=false を指定します。 #### 関連ツール - [`solari_insight_instagram_content_trending`](https://clip-pub.bzine.co/docs/tools/insight-instagram-content-trending.md?lang=ja) - [`solari_insight_instagram_content_rising`](https://clip-pub.bzine.co/docs/tools/insight-instagram-content-rising.md?lang=ja) ### solari insight instagram content aggregate > Instagram の投稿を数えるときに使います。 - **CLI**: `solari insight instagram content aggregate` - **MCP ツール**: `solari_insight_instagram_content_aggregate` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 収集済みの投稿を、アカウント・形式・ハッシュタグ・メンション・キーワード別に集計します。数値で答える必要がある質問に使います。 **どんなときに使うか** — 投稿量や平均値、どのハッシュタグが多いかを知りたいとき。投稿そのものが必要な場合は、コンテンツ検索を使います。 **返される内容** — グループごとの件数(多い順)。追加の指標は指定した場合のみ返します。 #### パラメータ - `region` (enum, 任意, 既定値 "KR") — KR、JP、US、TW のいずれか。 値: `KR`, `JP`, `US`, `TW`. - `group_by` (enum, 任意) — 件数の分け方。 値: `account`, `post_type`, `hashtag`, `mention`, `caption_keyword`, `transcription_keyword`. - `interval` (enum, 任意) — この暦の間隔で時系列を追加します。 値: `day`, `week`, `month`. - `metrics` (string[], 任意) — post_count 以外に追加する指標。 値: `like_sum`, `like_avg`, `comment_sum`, `comment_avg`, `view_sum`, `view_avg`, `follower_avg`, `account_count`. - `query` (string, 任意) — キャプションと動画の文字起こしを対象にしたキーワードの絞り込み。 - `usernames` (string[], 任意) — 指定した Instagram の username のみ。 - `hashtags` (string[], 任意) — 指定したハッシュタグをすべて含む投稿のみ。 - `mentions` (string[], 任意) — 指定した username をすべてメンションしている投稿のみ。 - `post_types` (string[], 任意) — 指定した形式のみ。 - `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) — TikTok 専用。ここでは常に null。 - `metrics.follower_avg` (number | null) — 投稿者のフォロワー数の平均。 - `metrics.account_count` (integer | null) — グループ内のアカウント数(重複なし)。 - `series` (object[] | null) — 期間ごとの内訳(interval を指定した場合)。 #### 例 ```console $ solari insight instagram content aggregate group_by=hashtag query="이니스프리" metrics='["like_avg","view_sum","account_count"]' limit=5 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "region": "KR", "since": "2026-03-04", "until": null, "group_by": "hashtag", "interval": null, "total_posts": 1647, "truncated": true, "buckets": [ { "key": "이니스프리", "metrics": { "post_count": 772, "like_sum": null, "like_avg": 320.7240932642487, "comment_sum": null, "comment_avg": null, "view_sum": 9400953, "view_avg": null, "share_sum": null, "share_avg": null, "collect_sum": null, "collect_avg": null, "follower_avg": null, "account_count": 587 }, "series": null }, { "key": "광고", "metrics": { "post_count": 548, "like_sum": null, "like_avg": 373.04021937842776, "comment_sum": null, "comment_avg": null, "view_sum": 5463711, "view_avg": null, "share_sum": null, "share_avg": null, "collect_sum": null, "collect_avg": null, "follower_avg": null, "account_count": 381 }, "series": null }, "… 3 more" ] } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_content_aggregate", "arguments": { "group_by": "hashtag", "query": "이니스프리", "metrics": [ "like_avg", "view_sum", "account_count" ], "limit": 5 } } ``` #### 注意点 - ほかの指標を指定しない限り、値が入るのは post_count だけです。 - 対象は KR・JP・US・TW の直近およそ 6 か月です。それより前の since は、扱える最も古い日付に合わせます。 - interval だけを指定すると、期間ごとに 1 つの区間を作ります。group_by と組み合わせると、グループごとに時系列が付きます。 #### 関連ツール - [`solari_catalog_instagram_content_search`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-search.md?lang=ja) - [`solari_insight_tiktok_content_aggregate`](https://clip-pub.bzine.co/docs/tools/insight-tiktok-content-aggregate.md?lang=ja) ### solari insight instagram account discover > キャンペーンのブリーフに合う Instagram クリエイターを探します。 - **CLI**: `solari insight instagram account discover` - **MCP ツール**: `solari_insight_instagram_account_discover` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 ブリーフをもとにクリエイターの候補リストを作ります。条件にできるのは、投稿の内容、プロフィール文、似ているクリエイター、伸びているかどうか、過去に広告を出した商品です。フォロワー数と 3 か月の再生回数で絞り込み、除外キーワードに当てはまるクリエイターは外せます。 **どんなときに使うか** — まだ知らないクリエイターを探したいとき。名前がわかっているなら catalog account search を使います。 **返される内容** — search_id、見つかった総数、上位のユーザー名のプレビュー、結果のセクション。全件は discover results でページごとに取得します。 #### パラメータ - `intent` (string, 必須, ≤ 300 chars) — ブリーフを 1 文で。結果のラベルとして使われます。 - `topic_keywords` (string[], 任意, 1–3 items) — 投稿の内容を表す 2〜3 個のフレーズ。対象市場の言語で書きます。複数の単語からなるフレーズのほうが精度が上がります。 - `profile_keywords` (string[], 任意, 1–2 items) — プロフィール文で探す 1〜2 個のフレーズ。職業名や得意ジャンルなど。 - `similar_username` (string, 任意, ≤ 64 chars) — 参考にするクリエイターのユーザー名。そのクリエイターに似たクリエイターを追加します。 - `trending` (boolean, 任意, 既定値 false) — 再生回数が急上昇しているクリエイターも追加します。 - `product_query` (string, 任意, ≤ 200 chars) — 商品の短い説明(英語)。似た商品を広告したことのあるクリエイターを優先します。 - `follower_min` (integer, 任意, ≥ 0) — フォロワー数の下限。 - `follower_max` (integer, 任意, ≥ 0) — フォロワー数の上限。 - `total_views_min` (integer, 任意, ≥ 0) — 直近 3 か月の再生回数の合計の下限。 - `total_views_max` (integer, 任意, ≥ 0) — 直近 3 か月の再生回数の合計の上限。 - `median_views_min` (integer, 任意, ≥ 0) — 直近 3 か月の投稿あたりの再生回数の中央値の下限。 - `median_views_max` (integer, 任意, ≥ 0) — 直近 3 か月の投稿あたりの再生回数の中央値の上限。 - `negative_keywords` (string[], 任意, 1–10 items) — プロフィール文か投稿にこれらの語句が 1 つでも含まれるクリエイターを除きます。 - `media_focus` (enum, 任意, 既定値 "balanced") — 見た目のスタイルを照合するとき、写真と動画のどちらの投稿を重視するか。 値: `balanced`, `photo`, `video`. - `region` (string, 任意, 既定値 "KR") — KR, JP, US などの国コード。 - `brand_account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — ブランドの account_id。ブランドのオーディエンスとの相性でクリエイターを順位付けします。 - `brand_username` (string, 任意, ≤ 64 chars) — ブランドのユーザー名。brand_account_id を指定した場合は無視されます。 - `limit` (integer, 任意, 既定値 20, 1–60) — プレビューに含める上位ユーザー名の件数。全件の一覧は常に別途ページごとに取得します。 #### レスポンス ##### `Response` - `search_id` (uuid) — discover results に渡すと、全件の一覧をページごとに取得できます。 - `intent` (string) — 結果のラベルとして使うブリーフ。 - `total` (integer) — 見つかったクリエイターの数。 - `top_usernames` (string[]) — 最も合うクリエイターのプレビュー。合う順に並びます。 - `sections` (object[]) — 結果のグループ分け。 - `duration_ms` (integer) — 検索にかかった時間。 - `next` (string) — 全件の一覧をページごとに取得するコマンド。 ##### `sections[]` - `type` (string) — 最も合うクリエイターは best_match、それ以外は full_results。 - `label` (string) — 表示用のラベル。 - `count` (integer) — そのセクションの最初のページに含まれるクリエイター。 - `has_more` (boolean) — そのセクションに 2 ページ目以降があるかどうか。 #### 例 ```console $ solari insight instagram account discover intent="KR makeup creators for an autumn eyeshadow palette launch" topic_keywords='["가을 메이크업 팔레트","데일리 아이섀도우"]' follower_min=10000 follower_max=300000 region=KR limit=5 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "search_id": "01a0f3c2-7e41-7b9a-8d2c-5e6f1a9b3c47", "intent": "KR makeup creators for an autumn eyeshadow palette launch", "total": 184, "top_usernames": [ "beinny_motd", "donge_cos", "… 18 more" ], "sections": [ { "type": "best_match", "label": "베스트 매칭", "count": 12, "has_more": false }, { "type": "full_results", "label": "전체 결과", "count": 48, "has_more": true } ], "duration_ms": 23871, "next": "solari insight instagram account discover results search_id=01a0f3c2-7e41-7b9a-8d2c-5e6f1a9b3c47" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_account_discover", "arguments": { "intent": "KR makeup creators for an autumn eyeshadow palette launch", "topic_keywords": [ "가을 메이크업 팔레트", "데일리 아이섀도우" ], "follower_min": 10000, "follower_max": 300000, "region": "KR", "limit": 5 } } ``` #### 注意点 - topic_keywords, profile_keywords, similar_username, product_query, trending=true のうち、少なくとも 1 つを指定してください。 - 条件が広いと、最大 1 分ほどかかることがあります。 - search_id は有効なまま残ります。あとから検索し直さずに、並べ替えやページ移動ができます。 #### 関連ツール - [`solari_insight_instagram_account_discover_results`](https://clip-pub.bzine.co/docs/tools/insight-instagram-account-discover-results.md?lang=ja) - [`solari_catalog_instagram_account_search`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-search.md?lang=ja) - [`solari_insight_instagram_ranking_creators`](https://clip-pub.bzine.co/docs/tools/insight-instagram-ranking-creators.md?lang=ja) ### solari insight instagram account discover results > discover 検索で見つかったクリエイターをページごとに取得します。 - **CLI**: `solari insight instagram account discover results` - **MCP ツール**: `solari_insight_instagram_account_discover_results` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 1 回の discover 検索で見つかったクリエイターの全件を、ページごとに取得します。各クリエイターには、プロフィールの指標と最近の上位投稿が付きます。 **どんなときに使うか** — discover のあと、プレビューより多くの結果や別の並び順が必要なとき。 **返される内容** — 1 ページ分のクリエイター。プロフィールの指標と最近の投稿が付きます。 #### パラメータ - `search_id` (string, 必須, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — discover で得た search_id。 - `page` (integer, 任意, 既定値 1, ≥ 1) — ページ番号(1 から始まります)。 - `page_size` (integer, 任意, 既定値 20, 1–100) — 1 ページあたりのクリエイターの人数。 - `sort` (enum, 任意, 既定値 "relevance") — relevance は検索結果の順番のままです。そのほかはフォロワー数、再生回数の中央値、1 か月の伸び、広告の件数で並べ替えます。 値: `relevance`, `follower_count`, `follower_count_asc`, `median_views_cur`, `total_views_growth_m1`, `ad_count_cur`. #### レスポンス ##### `Response` - `search_id` (uuid) — ページごとに取得している検索。 - `intent` (string) — ブリーフ。 - `total` (integer) — 見つかったクリエイターの数。 - `page / page_size` (integer) — 適用したページ。 - `has_more` (boolean) — 次のページがあるかどうか。 - `items` (object[]) — このページのクリエイター。 ##### `items[]` - `account_id` (uuid) — ほかのツールに渡す account_id。 - `username / full_name` (string) — ハンドルと表示名。 - `bio` (string | null) — プロフィール文。 - `profile_pic_url` (string | null) — プロフィール画像の URL。 - `follower_count` (integer | null) — フォロワー数。 - `median_views_cur` (integer | null) — 直近 3 か月の投稿あたりの再生回数の中央値。 - `total_views_cur` (integer | null) — 直近 3 か月の再生回数の合計。 - `total_views_growth_m1` (number | null) — 直近 1 か月の再生回数の伸び。0.27 は +27% を表します。 - `ad_count_cur` (integer | null) — 最近の広告投稿。 - `reel_count_cur` (integer | null) — 最近のリール。 - `score` (number) — この検索での一致スコア。 - `rising_score` (number | null) — 伸びのスコア。trending=true で追加されたクリエイターに設定されます。 - `bio_matched / bio_only` (boolean) — bio_matched:プロフィール文が一致。bio_only:一致する投稿はなく、プロフィール文だけが一致。 - `recent_posts` (object[]) — 最近の上位投稿。post_id, slug, media_type, media_url, thumbnail_url, text, posted_at, play_count, like_count を含みます。 #### 例 ```console $ solari insight instagram account discover results search_id=01a0f3c2-7e41-7b9a-8d2c-5e6f1a9b3c47 page_size=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "search_id": "01a0f3c2-7e41-7b9a-8d2c-5e6f1a9b3c47", "intent": "KR makeup creators for an autumn eyeshadow palette launch", "total": 184, "page": 1, "page_size": 2, "has_more": true, "items": [ { "user_id": "018ecc75-55d8-70a7-a348-d370aa504ed9", "username": "beinny_motd", "full_name": "베이니 BEINNY", "bio": "메이크업 · 뷰티 크리에이터", "profile_pic_url": "https://dcr.bzine.co/instagram/users/beinny_motd/profile-picture", "follower_count": 205754, "total_views_cur": 6184200, "median_views_cur": 98200, "rising_score": null, "total_views_growth_m1": 0.27, "reel_count_cur": 38, "ad_count_cur": 15, "bio_matched": true, "bio_only": false, "score": 0.0487, "recent_posts": [ { "post_id": "01a05575-7c9b-7232-8519-4a38fa061389", "slug": "DcpugJ2kzv8", "media_type": "carousel", "media_url": null, "thumbnail_url": "https://dcr.bzine.co/instagram/posts/DcpugJ2kzv8/thumbnails/m", "text": "#광고 무겁지 않은 가을 데일리 팔레트 로즈밀크티 . .🫖🤎 …", "posted_at": "2026-08-30T05:08:56+00:00", "play_count": null, "like_count": 878 }, "… 2 more" ], "account_id": "018ecc75-55d8-70a7-a348-d370aa504ed9" }, "… 1 more" ] } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_account_discover_results", "arguments": { "search_id": "01a0f3c2-7e41-7b9a-8d2c-5e6f1a9b3c47", "page_size": 2 } } ``` #### 注意点 - プロフィール文だけで一致したクリエイターは、recent_posts が空のことがあります。 - メディアファイルが保存されていない場合、media_url は null です。thumbnail_url は使えます。 - likes_hidden が true のときは like_count を使わないでください。投稿者がいいね数を非表示にしているため、null か、実際の値ではない可能性があります。 #### 関連ツール - [`solari_insight_instagram_account_discover`](https://clip-pub.bzine.co/docs/tools/insight-instagram-account-discover.md?lang=ja) - [`solari_catalog_instagram_account_profile`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-profile.md?lang=ja) - [`solari_insight_instagram_account_collabs`](https://clip-pub.bzine.co/docs/tools/insight-instagram-account-collabs.md?lang=ja) ### solari insight instagram content similar > 1 件の Instagram の投稿に似た投稿。 - **CLI**: `solari insight instagram content similar` - **MCP ツール**: `solari_insight_instagram_content_similar` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 手元にある 1 件の投稿と被写体・形式・雰囲気が近い Instagram の投稿を探します。クリエイティブの参考事例を集めるときに便利です。 **どんなときに使うか** — 1 件の投稿から始めるとき。ブランドの広告を基準にする場合は、ブランドの類似コンテンツのツールを使います。 **返される内容** — 似ている順に並んだ類似投稿。それぞれにタイアップかどうかが付きます。 #### パラメータ - `post_id` (string, 必須, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — 基準にする投稿の post_id。どのコンテンツ系ツールの結果でも使えます。 - `region` (string, 任意) — KR、JP などの国コード。省略するとすべての地域を検索します。 - `limit` (integer, 任意, 既定値 20, 1–60) — 1 ページあたりの投稿数。 - `offset` (integer, 任意, 既定値 0, 0–120) — スキップする投稿数。 #### レスポンス ##### `Response` - `anchor_post_id` (uuid) — 基準にした投稿。 - `items` (object[]) — 似ている順に並んだ類似投稿。 ##### `items[]` - `post_id` (uuid) — ほかのコンテンツ系ツールで使う投稿 ID。 - `id` (uuid) — post_id と同じ値。 - `slug` (string | null) — 公開 URL に含まれるショートコード。 - `account_id` (uuid | null) — 投稿者の account_id。 - `label` (string | null) — 投稿者の username。 - `media_type` (string | null) — image、video、carousel のいずれか。 - `thumbnail_url` (string | null) — サムネイルの URL。 - `media_url` (string | null) — メディアの URL。ファイルが保存されていない場合は null。 - `play_count` (integer | null) — 動画の再生数。 - `posted_at` (timestamp | null) — 投稿日時(UTC)。 - `is_ad` (boolean) — タイアップ投稿と判定されたかどうか。 #### 例 ```console $ solari insight instagram content similar post_id=01a04c73-3ec3-7873-9e84-334c644abfe4 limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "anchor_post_id": "01a04c73-3ec3-7873-9e84-334c644abfe4", "items": [ { "id": "019ecb92-a677-7421-8ed6-752efe3d99d0", "post_id": "019ecb92-a677-7421-8ed6-752efe3d99d0", "user_id": "0196cb39-870a-7a76-9773-0b95789c877d", "label": "boo_rookie", "thumbnail_url": "https://dcr.bzine.co/instagram/posts/DZcD8KXxKwd/thumbnails/m", "media_url": null, "media_type": "video", "play_count": 427258, "posted_at": "2026-06-11T08:14:37+00:00", "slug": "DZcD8KXxKwd", "is_ad": false, "account_id": "0196cb39-870a-7a76-9773-0b95789c877d" }, "… 1 more" ] } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_content_similar", "arguments": { "post_id": "01a04c73-3ec3-7873-9e84-334c644abfe4", "limit": 2 } } ``` #### 注意点 - 対象はおおむね直近 4 か月です。ページ送りは 180 件で止まります。 - 存在しない post_id や古すぎる post_id を渡すと、空のリストが返ります。 #### 関連ツール - [`solari_insight_instagram_brand_lookalike_content`](https://clip-pub.bzine.co/docs/tools/insight-instagram-brand-lookalike-content.md?lang=ja) - [`solari_catalog_instagram_content_detail`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-detail.md?lang=ja) - [`solari_catalog_instagram_content_batch`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-batch.md?lang=ja) ### solari insight instagram ranking brands > 周辺のコンテンツをもとに Instagram のブランドを順位付けします。 - **CLI**: `solari insight instagram ranking brands` - **MCP ツール**: `solari_insight_instagram_ranking_brands` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 1 つの市場のブランドランキング。ブランドをタグ付け・メンションした投稿のパフォーマンスでブランドを順位付けします。各行でタイアップ投稿とオーガニック投稿を分けているため、ブランドのオーガニックでの実力と、リーチのうち有料が占める割合がわかります。 **どんなときに使うか** — カテゴリで上位のブランドや、あるブランドの順位、オーガニック(タイアップ以外)のコンテンツの成果を知りたいとき。クリエイターの場合は、クリエイターランキングを使います。 **返される内容** — 順位付けしたブランドの 1 ページ分。自分のブランドの順位(me)と、探すよう指定したブランド(lookup)も含みます。 #### パラメータ - `region` (enum, 任意, 既定値 "KR") — KR、JP、US のいずれか。 値: `KR`, `JP`, `US`. - `days` (integer, 任意, 既定値 30) — 30 または 90。 - `sort` (enum, 任意, 既定値 "plays") — 順位付けの基準。総再生数、投稿あたりの再生数、投稿数、クリエイター数、いいね数、タイアップの再生数、オーガニックの再生数から選びます。 値: `plays`, `median_plays`, `posts`, `creators`, `likes`, `sponsored_plays`, `organic_plays`. - `scope` (string, 任意, ≤ 120 chars) — カテゴリ。all、d1:、d2:/ のいずれかです。指定できる値は categories と category_groups で返ります。 - `brand_account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — 自分のブランドの account_id。既定のカテゴリが決まり、自分の順位が me として返ります。 - `brand_username` (string, 任意, ≤ 64 chars) — 自分のブランドの username。brand_account_id を指定した場合は無視されます。 - `find_username` (string, 任意, ≤ 64 chars) — このランキング内で位置を調べたいブランドの username。 - `min_posts` (integer, 任意, 既定値 1) — 投稿数が指定値以上のブランドのみ。1、3、10 のいずれか。 - `limit` (integer, 任意, 既定値 20, 1–100) — 1 ページあたりの行数。 - `offset` (integer, 任意, 既定値 0, ≥ 0) — スキップする行数。 #### レスポンス ##### `Response` - `region / days / sort / min_posts` (string · integer) — 適用された設定。 - `scope` (string) — 順位付けしたカテゴリ。 - `scope_source` (string) — explicit(指定どおり)、brand_default(自分のブランドの主要カテゴリ)、default(all)のいずれか。 - `total` (integer) — このカテゴリのブランド数。 - `median_metric` (number | null) — カテゴリ全体での並べ替え指標の中央値。最初のページのみ。 - `sponsored_share_median` (number | null) — タイアップ投稿の割合の中央値(0–1)。最初のページのみ。 - `snapshot_at` (timestamp | null) — ランキングを作成した日時。 - `items` (object[]) — 順位付けしたブランド。 - `me` (object | null) — 自分のブランドの順位、総数、top_pct、行データ。 - `me_reason` (string | null) — me が null になった理由。no_brand、not_in_category、below_min_posts、no_posts のいずれか。 - `lookup` (object | null) — find_username で指定したブランドの順位、総数、top_pct、行データ。 - `lookup_reason` (string | null) — lookup が null になった理由。not_in_category、below_min_posts、no_posts のいずれか。 - `lookup_scopes` (string[]) — 調べたブランド自身のカテゴリ(scope の形式)。このいずれかを指定して再度呼び出します。 - `brand_categories` (object[]) — 自分のブランドのカテゴリ(関連の強い順)。 - `categories / category_groups` (object[]) — 指定できる scope と、それぞれのブランド数。 ##### `items[] · me.row · lookup.row` - `rank` (integer) — ランキング内の順位。 - `account_id` (uuid) — ほかのツールで使う account_id。 - `username / full_name` (string) — ハンドルと表示名。 - `follower_count` (integer | null) — フォロワー数。 - `post_count / creator_count` (integer) — ブランドに関する投稿数と、その投稿をしたクリエイター数。 - `total_plays / median_plays` (integer) — 総再生数と投稿あたりの再生数。 - `total_likes / total_comments` (integer) — エンゲージメント。 - `sponsored_post_count / sponsored_total_plays / sponsored_median_plays` (integer) — 同じ数値をタイアップ投稿だけで集計したもの。 - `organic_median_plays` (integer | null) — タイアップ以外の投稿の、投稿あたりの再生数。 - `organic_post_count / organic_total_plays` (integer | null) — タイアップを除いた投稿数と総再生数。件数の整合が取れない場合は null。 - `sponsored_share` (number | null) — 全投稿に占めるタイアップ投稿の割合(0–1)。投稿がない場合は null。 - `sponsored_reel_count / organic_reel_count` (integer | null) — それぞれの区分に含まれるリール数。 - `categories` (string[]) — ブランドのカテゴリ(/ の形式)。 #### 例 ```console $ solari insight instagram ranking brands region=KR days=30 find_username=innisfreeofficial limit=1 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "region": "KR", "days": 30, "sort": "plays", "scope": "all", "scope_source": "default", "min_posts": 1, "offset": 0, "limit": 1, "total": 21483, "median_metric": 18250, "sponsored_share_median": 0.25, "snapshot_at": "2026-09-22T19:04:11.482913+00:00", "me_reason": "no_brand", "lookup_username": "innisfreeofficial", "lookup_reason": null, "lookup_scopes": [], "brand_categories": [], "categories": [ { "depth_1": "BEAUTY", "depth_2": "MAKEUP", "brands": 1622 }, { "depth_1": "BEAUTY", "depth_2": "SKINCARE", "brands": 1843 }, "… 41 more" ], "category_groups": [ { "depth_1": "BEAUTY", "brands": 3120 }, "… 11 more" ], "items": [ { "account_id": "018cab6d-1648-7071-9734-c47a2be2fd19", "rank": 1, "user_id": "018cab6d-1648-7071-9734-c47a2be2fd19", "username": "oliveyoung_official", "full_name": "올리브영 OLIVE YOUNG", "follower_count": 1199628, "post_count": 18342, "creator_count": 6120, "total_plays": 412880000, "median_plays": 9840, "total_likes": 15230000, "total_comments": 402100, "sponsored_post_count": 7010, "sponsored_total_plays": 131200000, "sponsored_median_plays": 11200, "organic_median_plays": 9100, "sponsored_reel_count": 5230, "organic_reel_count": 8120, "categories": [ "BEAUTY/SKINCARE", "BEAUTY/MAKEUP" ], "organic_post_count": 11332, "organic_total_plays": 281680000, "sponsored_share": 0.3822 } ], "me": null, "lookup": { "rank": 7, "total": 21483, "top_pct": 0.1, "row": { "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "rank": 7, "user_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "full_name": "INNISFREE | 이니스프리", "follower_count": 847619, "post_count": 1204, "creator_count": 688, "total_plays": 38920400, "median_plays": 14120, "total_likes": 1182300, "total_comments": 30440, "sponsored_post_count": 402, "sponsored_total_plays": 17610200, "sponsored_median_plays": 21800, "organic_median_plays": 11900, "sponsored_reel_count": 318, "organic_reel_count": 611, "categories": [ "BEAUTY/SKINCARE" ], "organic_post_count": 802, "organic_total_plays": 21310200, "sponsored_share": 0.3339 } } } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_ranking_brands", "arguments": { "region": "KR", "days": 30, "find_username": "innisfreeofficial", "limit": 1 } } ``` #### 注意点 - ランキングは毎日更新されます。更新日時は snapshot_at で確認できます。 - ブランドを指定して scope を省略すると、all ではなくそのブランドの主要カテゴリのランキングを表示します。 - me と lookup は最初のページ(offset=0)でのみ返ります。 #### 関連ツール - [`solari_insight_instagram_ranking_posts`](https://clip-pub.bzine.co/docs/tools/insight-instagram-ranking-posts.md?lang=ja) - [`solari_insight_instagram_ranking_find`](https://clip-pub.bzine.co/docs/tools/insight-instagram-ranking-find.md?lang=ja) - [`solari_insight_instagram_ranking_creators`](https://clip-pub.bzine.co/docs/tools/insight-instagram-ranking-creators.md?lang=ja) ### solari insight instagram ranking creators > カテゴリ内で Instagram のクリエイターを順位付けします。 - **CLI**: `solari insight instagram ranking creators` - **MCP ツール**: `solari_insight_instagram_ranking_creators` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 1 つの市場のクリエイターランキング。ブランドをタグ付けしたコンテンツを作るクリエイターを、カテゴリごとに順位付けします。そのカテゴリの投稿が 1 件だけの大型アカウントが、専門のクリエイターより上位に来ることはありません。ブランド・代理店・ショップのアカウントは除外されます。 **どんなときに使うか** — カテゴリの上位クリエイターを、リーチ・効率・成長率で知りたいとき。ブランドの場合は、ブランドランキングを使います。 **返される内容** — 順位付けしたクリエイターの 1 ページ分。探すよう指定したクリエイター(lookup)も含みます。 #### パラメータ - `region` (enum, 任意, 既定値 "KR") — KR または JP。クリエイター自身の市場です。 値: `KR`, `JP`. - `days` (integer, 任意, 既定値 30) — 30 または 90。 - `sort` (enum, 任意, 既定値 "plays") — 順位付けの基準。総再生数、投稿あたりの再生数、いいね数、取引ブランド数、タイアップの再生数、reach、lift、growth から選びます。 値: `plays`, `median_plays`, `likes`, `brands`, `sponsored_plays`, `reach`, `lift`, `growth`. - `kind` (enum, 任意, 既定値 "creator") — 個人は creator、雑誌・メディアのアカウントは magazine。 値: `creator`, `magazine`. - `scope` (string, 任意, ≤ 120 chars) — カテゴリ。all、d1:、d2:/ のいずれかです。指定できる値は categories と category_groups で返ります。 - `brand_account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — ブランドの account_id。そのブランドの主要カテゴリのランキングを表示します。 - `brand_username` (string, 任意, ≤ 64 chars) — ブランドの username。brand_account_id を指定した場合は無視されます。 - `find_username` (string, 任意, ≤ 64 chars) — このランキング内で位置を調べたいクリエイターの username。 - `min_posts` (integer, 任意, 既定値 3) — カテゴリ内の投稿数が指定値以上のクリエイターのみ。3、10、30 のいずれか。 - `min_followers` (integer, 任意, 既定値 10000) — フォロワー数の下限。1000、10000、100000 のいずれか。 - `limit` (integer, 任意, 既定値 20, 1–100) — 1 ページあたりの行数。 - `offset` (integer, 任意, 既定値 0, ≥ 0) — スキップする行数。 #### レスポンス ##### `Response` - `region / days / sort / list_kind` (string · integer) — 適用された設定。 - `scope / scope_source` (string) — 順位付けしたカテゴリと、その決まり方。 - `min_posts / min_followers / min_reels` (integer) — 適用された絞り込み条件。min_reels は、リールが必要な並べ替えにのみ適用されます。 - `total` (integer) — このカテゴリのクリエイター数。 - `max_rank` (integer) — ページ送りでたどれる最も下の順位。 - `snapshot_ready` (boolean) — 最初のランキングを作成している間は false。 - `median_metric / sponsored_share_median` (number | null) — カテゴリの中央値。最初のページのみ。 - `snapshot_at` (timestamp | null) — ランキングを作成した日時。 - `items` (object[]) — 順位付けしたクリエイター。 - `lookup / lookup_reason / lookup_scopes` (object | string | string[]) — find_username で指定したクリエイターの順位・総数・top_pct・行。ranking brands と同じ形式です。 - `categories / category_groups` (object[]) — 指定できる scope と、それぞれのクリエイター数。 ##### `items[] · lookup.row` - `rank` (integer) — ランキング内の順位。 - `account_id` (uuid) — ほかのツールで使う account_id。 - `username / full_name` (string) — ハンドルと表示名。 - `follower_count` (integer | null) — フォロワー数。 - `post_count / reel_count` (integer) — カテゴリ内の、ブランドをタグ付けした投稿数とリール数。 - `brand_count` (integer) — それらの投稿でタグ付けされたブランド。 - `total_plays / median_plays` (integer) — 総再生数と投稿あたりの再生数。 - `total_likes / total_comments` (integer) — エンゲージメント。 - `sponsored_post_count / sponsored_total_plays / sponsored_median_plays` (integer) — 同じ数値をタイアップ投稿だけで集計したもの。 - `organic_median_plays` (integer | null) — タイアップ以外の投稿の、投稿あたりの再生数。 - `organic_post_count / organic_total_plays` (integer | null) — タイアップを除いた投稿数と総再生数。件数の整合が取れない場合は null。 - `sponsored_share` (number | null) — 全投稿に占めるタイアップ投稿の割合(0–1)。投稿がない場合は null。 - `baseline_median_views` (integer | null) — すべての投稿を通した、そのクリエイターの普段の投稿あたりの再生数。 - `ad_partner_count` (integer | null) — 広告を出したことのあるブランド。 - `reach_rate` (number | null) — フォロワーあたりの再生数。基準となる数値が小さすぎる場合は null。 - `lift` (number | null) — 普段の中央値に対する投稿あたりの再生数。1.5 は普段より 50% 多いことを表します。 - `growth_m1` (number | null) — 1 か月間の再生数の伸び。0.27 は +27% を表します。 #### 例 ```console $ solari insight instagram ranking creators region=KR days=30 scope=d2:BEAUTY/MAKEUP limit=1 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "region": "KR", "days": 30, "sort": "plays", "max_rank": 1000, "list_kind": "creator", "scope": "d2:BEAUTY/MAKEUP", "scope_source": "explicit", "min_posts": 3, "min_followers": 10000, "min_reels": 0, "offset": 0, "limit": 1, "snapshot_ready": true, "total": 2841, "median_metric": 61200, "sponsored_share_median": 0.4, "snapshot_at": "2026-09-22T19:04:11.482913+00:00", "lookup_username": null, "lookup_reason": null, "lookup_scopes": [], "categories": [ { "depth_1": "BEAUTY", "creators": 2841, "depth_2": "MAKEUP" }, { "depth_1": "BEAUTY", "creators": 2310, "depth_2": "SKINCARE" }, "… 38 more" ], "category_groups": [ { "depth_1": "BEAUTY", "creators": 5120 }, "… 11 more" ], "items": [ { "account_id": "018ecc75-55d8-70a7-a348-d370aa504ed9", "rank": 1, "user_id": "018ecc75-55d8-70a7-a348-d370aa504ed9", "username": "beinny_motd", "full_name": "베이니 BEINNY", "follower_count": 205754, "post_count": 22, "brand_count": 14, "reel_count": 19, "total_plays": 3120400, "median_plays": 98200, "total_likes": 84210, "total_comments": 3120, "sponsored_post_count": 15, "sponsored_total_plays": 2010300, "sponsored_median_plays": 91200, "organic_median_plays": 112000, "baseline_median_views": 64000, "ad_partner_count": 14, "reach_rate": 0.48, "lift": 1.53, "growth_m1": 0.27, "organic_post_count": 7, "organic_total_plays": 1110100, "sponsored_share": 0.6818 } ], "lookup": null } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_ranking_creators", "arguments": { "region": "KR", "days": 30, "scope": "d2:BEAUTY/MAKEUP", "limit": 1 } } ``` #### 注意点 - ランキングは毎日更新されます。更新日時は snapshot_at で確認できます。 - 比較の基準となる数値が小さすぎるクリエイターは、reach、lift、growth が null になります。 - クリエイターが集計されるのは、投稿の中で一定の割合を占めるカテゴリだけです。 #### 関連ツール - [`solari_insight_instagram_ranking_posts`](https://clip-pub.bzine.co/docs/tools/insight-instagram-ranking-posts.md?lang=ja) - [`solari_insight_instagram_ranking_find`](https://clip-pub.bzine.co/docs/tools/insight-instagram-ranking-find.md?lang=ja) - [`solari_insight_instagram_account_discover`](https://clip-pub.bzine.co/docs/tools/insight-instagram-account-discover.md?lang=ja) ### solari insight instagram ranking find > ブランドとクリエイターのランキングで、1 つのアカウントの順位を調べます。 - **CLI**: `solari insight instagram ranking find` - **MCP ツール**: `solari_insight_instagram_ranking_find` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 ブランドかクリエイターかわからない Instagram のアカウントの位置を調べます。掲載されているランキングごとに、所属するすべてのカテゴリでの順位と上位何 % かを返します。 **どんなときに使うか** — 「このアカウントは何位か」「タイアップ以外のコンテンツの成果はどうか」を知りたいが、どちらのランキングかわからないとき。 **返される内容** — ブランド側とクリエイター側の結果。アカウントがそのランキングにない場合、その側は null になります。 #### パラメータ - `username` (string, 必須, ≤ 64 chars) — Instagram の username(@ の有無は問いません)。 - `region` (enum, 任意, 既定値 "KR") — KR、JP、US のいずれか。クリエイターランキングは KR と JP のみが対象です。 値: `KR`, `JP`, `US`. - `days` (integer, 任意, 既定値 30) — 30 または 90。 #### レスポンス ##### `Response` - `username` (string) — 調べたハンドル。 - `region / days` (string · integer) — 適用された設定。 - `sort` (string) — 常に plays(総再生数)。 - `brand` (object | null) — ブランドランキングでの位置。 - `creator` (object | null) — クリエイターランキングでの位置。 ##### `brand · creator` - `account` (object) — account_id、username、full_name、follower_count。 - `row` (object | null) — 全体での行データ。フィールドは対応するランキングツールと同じで、オーガニックの内訳(organic_post_count、organic_total_plays、organic_median_plays、sponsored_share)も含みます。 - `positions` (object[]) — 順位が付いているカテゴリごとに 1 件。 - `positions[].scope / rank / total / top_pct` (string · integer · number) — カテゴリ、順位、順位付けされた数、上位何 %(最小 0.1)。 - `positions[].share` (number | null) — クリエイター側のみ。投稿全体に占めるそのカテゴリの割合。 - `min_posts / min_followers` (integer) — アカウントが除外されないように使った、最も緩い絞り込み条件。 - `list_kind` (string) — クリエイター側のみ。creator または magazine。 - `snapshot_at` (timestamp | null) — ランキングを作成した日時。 #### 例 ```console $ solari insight instagram ranking find username=innisfreeofficial region=KR ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "username": "innisfreeofficial", "region": "KR", "days": 30, "sort": "plays", "brand": { "account": { "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "user_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "full_name": "INNISFREE | 이니스프리", "follower_count": 847619 }, "min_posts": 1, "row": { "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "rank": 7, "user_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "post_count": 1204, "total_plays": 38920400, "median_plays": 14120, "sponsored_post_count": 402, "sponsored_total_plays": 17610200, "organic_median_plays": 11900, "categories": [ "BEAUTY/SKINCARE" ], "organic_post_count": 802, "organic_total_plays": 21310200, "sponsored_share": 0.3339 }, "positions": [ { "scope": "all", "rank": 7, "total": 21483, "top_pct": 0.1 }, { "scope": "d1:BEAUTY", "rank": 4, "total": 3120, "top_pct": 0.1 }, { "scope": "d2:BEAUTY/SKINCARE", "rank": 2, "total": 1843, "top_pct": 0.1 } ], "snapshot_at": "2026-09-22T19:04:11.482913+00:00" }, "creator": null } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_ranking_find", "arguments": { "username": "innisfreeofficial", "region": "KR" } } ``` #### 注意点 - 最も緩い絞り込み条件を使うため、条件の厳しい一覧より順位が高く出ることがあります。 #### 関連ツール - [`solari_insight_instagram_ranking_brands`](https://clip-pub.bzine.co/docs/tools/insight-instagram-ranking-brands.md?lang=ja) - [`solari_insight_instagram_ranking_creators`](https://clip-pub.bzine.co/docs/tools/insight-instagram-ranking-creators.md?lang=ja) ### solari insight instagram ranking posts > ランキングの行を支える上位の投稿。 - **CLI**: `solari insight instagram ranking posts` - **MCP ツール**: `solari_insight_instagram_ranking_posts` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 ランキングの 1 行を支える、成果の高い投稿。ブランドやクリエイターの数値の根拠になります。各投稿にタイアップかどうかが付き、kind=organic を指定するとタイアップ以外の投稿だけを返します。 **どんなときに使うか** — ブランドやクリエイターのランキングを見たあと、ある行の数値が何によるものか確認したいとき。 **返される内容** — 上位の投稿と投稿者(成果の高い順)。 #### パラメータ - `board` (enum, 必須) — brand または creator。行を取得したランキングです。 値: `brand`, `creator`. - `account_id` (string, 必須, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — ランキングの行の account_id。 - `region` (enum, 任意, 既定値 "KR") — 一覧と同じ市場。 値: `KR`, `JP`, `US`. - `days` (integer, 任意, 既定値 30) — 一覧と同じ期間。30 または 90。 - `scope` (string, 任意, ≤ 120 chars) — クリエイターランキングのみ。一覧で使ったのと同じ scope。 - `kind` (enum, 任意, 既定値 "all") — all、タイアップ投稿のみの sponsored、タイアップ以外の投稿のみの organic のいずれか。 値: `all`, `sponsored`, `organic`. - `limit` (integer, 任意, 既定値 6, 1–12) — 返す投稿数。 #### レスポンス ##### `Response` - `account_id` (uuid) — 行のアカウント。 - `kind` (string) — all、sponsored、organic のいずれか。 - `checked_top_posts` (integer) — kind=organic の場合のみ。行の上位投稿のうち確認した件数。 - `items` (object[]) — 上位の投稿(成果の高い順)。 ##### `items[]` - `post_id / slug` (string) — 投稿の ID。 - `posted_at` (timestamp | null) — 投稿日時(UTC)。 - `media_type` (string) — image または video。 - `thumbnail_url` (string) — サムネイルの URL。 - `media_url` (string | null) — メディアの URL。ファイルが保存されていない場合は null。 - `play_count` (integer | null) — 動画の再生数。 - `sponsored` (boolean) — タイアップ投稿かどうか。 - `author` (object) — account_id、username、full_name、follower_count、profile_pic_url。 #### 例 ```console $ solari insight instagram ranking posts board=brand account_id=018cabce-14cc-7544-8890-7811ec33ef74 region=KR limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "kind": "all", "items": [ { "post_id": "01a04c73-3ec3-7873-9e84-334c644abfe4", "slug": "DckGrZ6vZiU", "posted_at": "2026-08-21T10:03:52+00:00", "media_type": "video", "media_url": null, "thumbnail_url": "https://dcr.bzine.co/instagram/posts/DckGrZ6vZiU/thumbnails/m", "play_count": 155729, "author": { "account_id": "0196c474-c96e-71ad-aceb-61af051c81d3", "user_id": "0196c474-c96e-71ad-aceb-61af051c81d3", "username": "hwitto_", "full_name": null, "follower_count": 48210, "profile_pic_url": "https://dcr.bzine.co/instagram/users/hwitto_/profile-picture" }, "sponsored": true }, "… 1 more" ] } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_ranking_posts", "arguments": { "board": "brand", "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "region": "KR", "limit": 2 } } ``` #### 注意点 - 一覧と同じ region、days、(クリエイターの場合は)scope を使います。そうしないと、投稿が数値と一致しません。 - ブランドランキングの場合、投稿者の多くはそのブランドをタグ付け・メンションしたクリエイターです。 - 1 行につき、再生数の上位 6 件の投稿を保持しています。kind=organic はその中からタイアップ以外の投稿を返すため、件数が少なくなったり空になったりすることがあります。 #### 関連ツール - [`solari_insight_instagram_ranking_brands`](https://clip-pub.bzine.co/docs/tools/insight-instagram-ranking-brands.md?lang=ja) - [`solari_insight_instagram_ranking_creators`](https://clip-pub.bzine.co/docs/tools/insight-instagram-ranking-creators.md?lang=ja) - [`solari_catalog_instagram_content_batch`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-batch.md?lang=ja) ### solari insight instagram hashtag trending > Instagram の人気・急上昇ハッシュタグ。 - **CLI**: `solari insight instagram hashtag trending` - **MCP ツール**: `solari_insight_instagram_hashtag_trending` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 市場と期間ごとのハッシュタグランキング。2 つの一覧を返します。rising は前の期間と比べてシェアが最も速く伸びているハッシュタグ、top は普段よりどれだけ多く使われているかで重み付けした投稿量の上位です。ブランドを渡すと、そのブランドのクリエイターの間で動きのあるハッシュタグがわかります。 **どんなときに使うか** — 市場全体、またはブランドの周辺で、いま伸びているハッシュタグを知りたいとき。 **返される内容** — rising と top の一覧。タグごとに投稿量、伸び率、日別のシェアの推移を含みます。 #### パラメータ - `region` (enum, 任意, 既定値 "KR") — KR または JP。 値: `KR`, `JP`. - `days` (integer, 任意, 既定値 30) — 7、30、90 のいずれか。伸び率は直前の同じ長さの期間と比べます。 - `brand_account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — ブランドの account_id。数値をそのブランドの周辺のクリエイターに絞ります。 - `brand_username` (string, 任意, ≤ 64 chars) — ブランドの username。brand_account_id を指定した場合は無視されます。 - `limit` (integer, 任意, 既定値 30, 1–100) — 一覧ごとに残すタグの数。 #### レスポンス ##### `Response` - `region / days / start_date / end_date` (string · integer · date) — 適用された市場と期間。 - `lens` (string) — ブランドのクリエイターに絞った場合は brand、市場全体の場合は global。 - `lens_reason` (string | null) — brand、no_brand(ブランドの指定なし)、brand_not_modeled のいずれか。brand_not_modeled は、SOLARI がまだこのブランドの周辺のクリエイターを特定できないため、市場全体を使ったことを表します。 - `pool_size` (integer | null) — ブランドで絞った対象のクリエイター数。global の場合は null。 - `spark_dates` (date[]) — spark の各値に対応する日付。 - `top / rising` (object[]) — 2 つの一覧。 - `top_total / rising_total` (integer) — limit を適用する前の一覧の件数。 ##### `top[] · rising[]` - `tag` (string) — ハッシュタグ(# なし)。 - `count / prev_count` (integer) — 今回の期間と前の期間の投稿数。 - `unique_creators` (integer) — 使用したクリエイター数。 - `views` (integer) — 総再生数。 - `sponsored_pct` (integer) — タイアップ投稿の割合(%)。 - `growth_x` (number) — 前の期間と比べたシェアの伸び。3.9 は 3.9 倍を表します。 - `is_new` (boolean) — 前の期間にはほとんど使われていなかったもの。 - `spark` (number[]) — 全投稿に占める割合(%)。spark_dates の各日付に対応します。 - `momentum` (number | null) — 期間前半のシェアに対する期間後半のシェア。1 を超えると、まだ伸びていることを表します。 - `lift / global_growth_x / contrast` (number · number · string | null) — ブランドで絞った場合のみ。ブランドのクリエイターが市場と比べてどれだけ多く使っているか、市場全体での伸び、両者が異なる場合の local(局所的)か nationwide(全国的)か。 - `watch` (boolean) — 注目する価値があるもの。新しい、または急速に伸びていて、広告がまだ少ないタグです。 - `watch_reasons` (string[]) — new、lift、growth、room(広告がまだ少ない)、creators。重要な順に並びます。 - `family` (object[]) — このタグにまとめた別表記と、それぞれの件数。 #### 例 ```console $ solari insight instagram hashtag trending region=KR days=7 limit=1 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "region": "KR", "days": 7, "start_date": "2026-09-15", "end_date": "2026-09-22", "lens": "global", "lens_reason": "no_brand", "pool_size": null, "spark_dates": [ "2026-09-15", "2026-09-16", "… 6 more" ], "top": [ { "tag": "올영세일", "count": 4812, "unique_creators": 2210, "views": 38400000, "sponsored_pct": 41, "prev_count": 1290, "growth_x": 3.62, "is_new": false, "spark": [ 0.62, 0.71, 0.94, 1.38, 1.52, 1.61, 1.49, 1.44 ], "momentum": 1.84, "lift": null, "global_growth_x": null, "contrast": null, "watch": false, "watch_reasons": [ "growth", "creators" ], "family": [ { "tag": "올리브영세일", "count": 612 } ] } ], "rising": [ { "tag": "가을메이크업", "count": 356, "unique_creators": 241, "views": 2140000, "sponsored_pct": 12, "prev_count": 88, "growth_x": 3.9, "is_new": false, "spark": [ 0.05, 0.06, 0.07, 0.08, 0.09, 0.1, 0.11, 0.12 ], "momentum": 1.52, "lift": null, "global_growth_x": null, "contrast": null, "watch": true, "watch_reasons": [ "growth", "room", "creators" ], "family": [] } ], "top_total": 20, "rising_total": 20 } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_hashtag_trending", "arguments": { "region": "KR", "days": 7, "limit": 1 } } ``` #### 注意点 - 対象は KR と JP です。 - ブランドで絞ったランキングを見る前に lens を確認します。brand_not_modeled の場合は、市場全体の結果です。 #### 関連ツール - [`solari_insight_instagram_hashtag_detail`](https://clip-pub.bzine.co/docs/tools/insight-instagram-hashtag-detail.md?lang=ja) - [`solari_insight_instagram_hashtag_posts`](https://clip-pub.bzine.co/docs/tools/insight-instagram-hashtag-posts.md?lang=ja) - [`solari_insight_instagram_content_trend_clusters`](https://clip-pub.bzine.co/docs/tools/insight-instagram-content-trend-clusters.md?lang=ja) ### solari insight instagram hashtag detail > 1 つの Instagram のハッシュタグの詳細。 - **CLI**: `solari insight instagram hashtag detail` - **MCP ツール**: `solari_insight_instagram_hashtag_detail` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 市場と期間を指定して、1 つのハッシュタグを詳しく調べます。投稿量、伸び率、勢い、日別のシェアの推移、一緒に使われたタグ、よく使ったクリエイターを返します。 **どんなときに使うか** — ハッシュタグランキングを見たあと、1 つのタグを詳しく確認したいとき。 **返される内容** — タグの数値、日別の推移、関連タグ、上位のクリエイター。 #### パラメータ - `tag` (string, 必須, ≤ 100 chars) — ハッシュタグ(# の有無は問いません)。 - `region` (enum, 任意, 既定値 "KR") — KR または JP。 値: `KR`, `JP`. - `days` (integer, 任意, 既定値 30) — 7、30、90 のいずれか。 - `brand_account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — ブランドの account_id。ランキングと同じブランドを指定すると、同じ絞り込みで見られます。 - `brand_username` (string, 任意, ≤ 64 chars) — ブランドの username。brand_account_id を指定した場合は無視されます。 #### レスポンス ##### `Response` - `tag` (string) — タグ(# なし)。 - `region / days / start_date / end_date` (string · integer · date) — 適用された市場と期間。 - `lens / lens_reason / pool_size` (string · string · integer | null) — ハッシュタグランキングと同じ。 - `count / prev_count / unique_creators / views` (integer) — 今回の投稿量、前の期間の投稿量、クリエイター数、再生数。 - `sponsored_pct` (integer) — タイアップ投稿の割合(%)。 - `share_pct` (number) — 期間内の全投稿に占める割合(%)。 - `growth_x` (number) — 前の期間と比べたシェアの伸び。 - `is_new` (boolean) — 前の期間にはほとんど使われていなかったもの。 - `momentum` (number | null) — 期間前半のシェアに対する期間後半のシェア。 - `series` (object[]) — 推移。日付、件数、シェア(%)。 - `related` (object[]) — 一緒に使われたタグ。タグ、件数、このタグの投稿に占める割合(pct)。 - `creators` (object[]) — このタグをよく使ったユーザー。 ##### `creators[]` - `account_id` (uuid) — ほかのツールで使う account_id。 - `username` (string) — ハンドル。 - `posts` (integer) — 期間内にこのタグを付けた投稿数。 - `views` (integer) — それらの投稿の再生数。 - `follower_count` (integer | null) — フォロワー数。 #### 例 ```console $ solari insight instagram hashtag detail tag=가을메이크업 region=KR days=7 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "tag": "가을메이크업", "region": "KR", "days": 7, "start_date": "2026-09-15", "end_date": "2026-09-22", "lens": "global", "lens_reason": "no_brand", "pool_size": null, "count": 356, "prev_count": 88, "unique_creators": 241, "views": 2140000, "sponsored_pct": 12, "share_pct": 0.084, "growth_x": 3.9, "is_new": false, "momentum": 1.52, "series": [ { "date": "2026-09-15", "count": 21, "share": 0.05 }, { "date": "2026-09-16", "count": 27, "share": 0.06 }, "… 6 more" ], "related": [ { "tag": "가을립", "count": 64, "pct": 18 }, { "tag": "데일리메이크업", "count": 57, "pct": 16 }, "… 22 more" ], "creators": [ { "username": "beinny_motd", "user_id": "018ecc75-55d8-70a7-a348-d370aa504ed9", "posts": 3, "views": 184300, "follower_count": 205754, "account_id": "018ecc75-55d8-70a7-a348-d370aa504ed9" }, { "username": "donge_cos", "user_id": "0195474c-8ee3-7690-a385-71b2913e31b5", "posts": 2, "views": 96120, "follower_count": 83354, "account_id": "0195474c-8ee3-7690-a385-71b2913e31b5" }, "… 10 more" ] } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_hashtag_detail", "arguments": { "tag": "가을메이크업", "region": "KR", "days": 7 } } ``` #### 注意点 - 対象は KR と JP です。 #### 関連ツール - [`solari_insight_instagram_hashtag_trending`](https://clip-pub.bzine.co/docs/tools/insight-instagram-hashtag-trending.md?lang=ja) - [`solari_insight_instagram_hashtag_posts`](https://clip-pub.bzine.co/docs/tools/insight-instagram-hashtag-posts.md?lang=ja) ### solari insight instagram hashtag posts > 人気の Instagram のハッシュタグを支える投稿。 - **CLI**: `solari insight instagram hashtag posts` - **MCP ツール**: `solari_insight_instagram_hashtag_posts` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 トレンドの期間内に 1 つのハッシュタグを付けた投稿を、再生数の多い順または新しい順に返します。ランキングの項目を支える実例です。 **どんなときに使うか** — タグのトレンドを生んだ投稿を見たいとき。タグの全期間の履歴が必要な場合は、カタログのタグ検索を使います。 **返される内容** — 投稿の 1 ページ分と、ページ送り用の総数。 #### パラメータ - `tag` (string, 必須, ≤ 100 chars) — ハッシュタグ(# の有無は問いません)。 - `region` (enum, 任意, 既定値 "KR") — KR または JP。 値: `KR`, `JP`. - `days` (integer, 任意, 既定値 30) — 7、30、90 のいずれか。 - `brand_account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — ブランドの account_id。ランキングと同じ絞り込みを保ちます。 - `brand_username` (string, 任意, ≤ 64 chars) — ブランドの username。brand_account_id を指定した場合は無視されます。 - `sort` (enum, 任意, 既定値 "views") — 再生数の多い順は views、新しい順は recent。 値: `views`, `recent`. - `limit` (integer, 任意, 既定値 12, 1–24) — 1 ページあたりの投稿数。 - `offset` (integer, 任意, 既定値 0, 0–960) — スキップする投稿数。 #### レスポンス ##### `Response` - `tag` (string) — タグ(# なし)。 - `total` (integer) — 期間内にこのタグを付けた投稿数。 - `offset` (integer) — 適用された offset。 - `items` (object[]) — 投稿。 ##### `items[]` - `post_id / slug` (string) — 投稿の ID。 - `account_id / username` (string) — 投稿者。 - `posted_at` (timestamp) — 投稿日時。 - `play_count / like_count` (integer) — 再生数といいね数。 #### 例 ```console $ solari insight instagram hashtag posts tag=가을메이크업 region=KR days=30 limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "tag": "가을메이크업", "total": 1204, "offset": 0, "items": [ { "post_id": "01a05575-7c9b-7232-8519-4a38fa061389", "user_id": "018ecc75-55d8-70a7-a348-d370aa504ed9", "username": "beinny_motd", "slug": "DcpugJ2kzv8", "posted_at": "2026-08-30T05:08:56+00:00", "play_count": 0, "like_count": 878, "account_id": "018ecc75-55d8-70a7-a348-d370aa504ed9" }, "… 1 more" ] } ``` #### MCP で呼び出す場合 ```json { "name": "solari_insight_instagram_hashtag_posts", "arguments": { "tag": "가을메이크업", "region": "KR", "days": 30, "limit": 2 } } ``` #### 注意点 - ページ送りは offset 960 で止まります。 - キャプションやメディアが必要な場合は、post_ids をカタログのコンテンツ一括取得に渡します。 - likes_hidden が true のときは like_count を使わないでください。投稿者がいいね数を非表示にしているため、null か、実際の値ではない可能性があります。 #### 関連ツール - [`solari_insight_instagram_hashtag_detail`](https://clip-pub.bzine.co/docs/tools/insight-instagram-hashtag-detail.md?lang=ja) - [`solari_catalog_instagram_tag_search`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-tag-search.md?lang=ja) - [`solari_catalog_instagram_content_batch`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-batch.md?lang=ja) ### 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) ### solari catalog tiktok account search > 追跡中の TikTok アカウントを username や名前で探します。account_id を調べるときに使います。 - **CLI**: `solari catalog tiktok account search` - **MCP ツール**: `solari_catalog_tiktok_account_search` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 SOLARI がすでに追跡している TikTok アカウントから、username または表示名でブランドやクリエイターを探します。TikTok のカタログは小さいので、まず fetch tiktok account search から始めてください。Instagram の account_id はここでは使えません。 **どんなときに使うか** — すでに追跡中のアカウントの account_id が必要なとき。初めての名前は fetch tiktok account search から始めます。 **返される内容** — 一致したアカウント(近い順)。 #### パラメータ - `query` (string, 必須) — 名前または TikTok の username。 - `limit` (integer, 任意, 既定値 8, 1–50) — 返すアカウント数。 - `region` (string, 任意, ≤ 8 chars) — KR、JP などの国コード。省略するとすべての地域を検索します。 #### レスポンス ##### `Response` - `found` (boolean) — 一致するアカウントがあったかどうか。 - `items` (object[]) — 一致したアカウント(近い順)。 ##### `items[]` - `account_id` (uuid) — TikTok の account_id。Instagram の ID とは互換性がありません。 - `username` (string) — TikTok の username。 - `nickname` (string) — 表示名。 - `follower_count / video_count` (integer) — フォロワー数と動画数。 - `region` (string | null) — 地域コード。収集済みのアカウントの多くは未設定です。 - `is_verified / is_private` (boolean) — 認証済み・非公開の状態。 - `is_commerce_user` (boolean) — コマース用アカウントかどうか。 - `commerce_user_category` (string | null) — コマースのカテゴリ(例:Beauty)。 - `profile_url` (string) — 公開プロフィールの URL。 #### 例 ```console $ solari catalog tiktok account search query=innisfree limit=5 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "found": true, "items": [ { "account_id": "019b2137-f76e-7b33-9437-26044fa7b1ed", "username": "innisfree_official", "nickname": "Innisfreeofficial", "follower_count": 143800, "video_count": 767, "region": "KR", "is_verified": true, "is_private": false, "is_commerce_user": true, "commerce_user_category": "Beauty", "profile_url": "https://www.tiktok.com/@innisfree_official" } ] } ``` #### MCP で呼び出す場合 ```json { "name": "solari_catalog_tiktok_account_search", "arguments": { "query": "innisfree", "limit": 5 } } ``` #### 注意点 - region を指定すると、その国のアカウントだけが残り、地域が未設定のアカウントは除外されます。必要な場合以外は省略してください。 - SOLARI がまだ確認していない username は、ここには表示されません。fetch tiktok account search で探すか、正確なハンドルを solari fetch tiktok account に渡してから、カタログの TikTok アカウントのプロフィールで読み取ってください。 #### 関連ツール - [`solari_catalog_tiktok_account_profile`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-profile.md?lang=ja) - [`solari_catalog_tiktok_account_posts`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-posts.md?lang=ja) - [`solari_catalog_instagram_account_search`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-search.md?lang=ja) ### solari catalog tiktok account profile > TikTok のアカウントのプロフィールと最近の投稿。 - **CLI**: `solari catalog tiktok account profile` - **MCP ツール**: `solari_catalog_tiktok_account_profile` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 TikTok のアカウントのプロフィールと、最近の投稿のプレビュー。 **どんなときに使うか** — TikTok のアカウントの全体像を知りたいとき。 **返される内容** — プロフィール、最近の投稿、アカウントを収集対象にしているかどうか。 #### パラメータ - `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — TikTok の account_id(SOLARI アカウントの UUID)。これか username のどちらかを指定します。 - `username` (string, 任意, ≤ 64 chars) — TikTok の username。account_id を指定した場合は無視されます。 #### レスポンス ##### `Response` - `account_id` (uuid) — TikTok の account_id。 - `username / nickname / bio` (string) — username、表示名、プロフィール文。 - `bio_links` (string[]) — プロフィール文のリンク。 - `follower_count / following_count` (integer) — フォロワー数とフォロー数。 - `heart_count` (integer) — アカウント全体の累計いいね数。 - `video_count` (integer) — 公開した動画数。 - `is_verified / is_private` (boolean) — 認証済み・非公開の状態。 - `is_commerce_user / commerce_user_category` (boolean · string) — コマースの状態とカテゴリ。 - `region / language` (string | null) — 地域コードと言語コード。 - `avatar_url / profile_url` (string) — アイコン画像と公開プロフィールのリンク。 - `tracked` (boolean) — アカウントが定期収集の対象かどうか。 - `sync_status` (string) — 収集の状態。 - `synced_at` (timestamp) — 最後に収集した日時。 - `recent_posts` (object[]) — 最近の投稿のプレビュー。 - `fetched_on_demand` (boolean) — この呼び出しでアカウントをその場で取得した場合は true。 ##### `recent_posts[]` - `post_id` (uuid) — TikTok の投稿 ID。Instagram の ID とは互換性がありません。 - `video_id` (string) — TikTok の URL に含まれる公開用の数字の ID。 - `url` (string) — 公開パーマリンク。 - `account_id` (uuid) — 投稿者の account_id。 - `username` (string) — 投稿者の username。 - `post_type` (string) — video または carousel。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `caption` (string) — キャプション。 - `duration_seconds` (integer) — 動画の長さ。 - `width / height` (integer) — 解像度。 - `play_count` (integer) — 再生数。 - `like_count` (integer) — いいね数。 - `comment_count` (integer) — コメント数。 - `share_count` (integer) — シェア数。 - `collect_count` (integer) — 保存数。 - `is_ad` (boolean) — TikTok の広告フラグ。 - `is_pinned` (boolean) — プロフィールに固定されているかどうか。 - `aigc_label_type` (string | null) — AI 生成コンテンツのラベル(TikTok が設定している場合)。 - `original_language_code` (string | null) — 元の言語。 - `cover_url` (string) — カバー画像の URL。 - `video_url` (string) — 動画ファイルの URL。 - `images` (string[]) — カルーセルのスライド。動画の場合は空。 - `hashtags` (string[]) — キャプションに含まれるハッシュタグ。 - `mentions` (string[]) — キャプションでメンションされた username。 - `transcript` (string | null) — 動画の文字起こし。account posts と content batch では include_transcript=true のときだけ返ります。 - `assets` (object[]) — メディアファイルの一覧(表示順)。それぞれ asset_url、media_type、video_duration を持ちます。 - `assets[].asset_url` (string | null) — フルサイズの画像または動画の直接ダウンロードリンク。ファイルが保存されていない場合は null。 #### 例 ```console $ solari catalog tiktok account profile username=innisfree_official ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "account_id": "019b2137-f76e-7b33-9437-26044fa7b1ed", "username": "innisfree_official", "nickname": "Innisfreeofficial", "bio": "NATURE MEETS KOREAN SKIN SCIENCE", "bio_links": [ "https://linktr.ee/innisfree_official" ], "follower_count": 143900, "following_count": 14, "heart_count": 2200000, "video_count": 767, "is_verified": true, "is_private": false, "is_commerce_user": true, "commerce_user_category": "Beauty", "region": "KR", "language": null, "avatar_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-avt-0068/3f8e48dc4a284a8ead37e93175ebdb86~tplv-tiktokx-cropcenter:720:720.jpeg?dr=10399&refresh_token=04b90255&x-expires=1788541200&x-signature=Gd3gJu4HyBZPCr%2FqEevyDs6 …", "profile_url": "https://www.tiktok.com/@innisfree_official", "sync_status": "OK", "tracked": true, "synced_at": "2026-09-02T17:16:05.835000Z", "recent_posts": [ { "post_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3834", "video_id": "7680375687139642645", "url": "https://www.tiktok.com/@innisfree_official/video/7680375687139642645", "account_id": "019b2137-f76e-7b33-9437-26044fa7b1ed", "username": "innisfree_official", "post_type": "video", "posted_at": "2026-09-02T12:00:00Z", "caption": "Deeply hydrated skin—NO OFF HOURS. 💚 wherever the day takes MINGYU—his hydration stays SUPERCHARGED ⚡️ Green Tea Ceramide Milk: Lightweight milky toner that won't clog your pores Green Tea Ceramide Mist: Touch-free, fa …", "duration_seconds": 23, "width": 1080, "height": 1920, "play_count": 493, "like_count": 37, "comment_count": 2, "share_count": 0, "collect_count": 3, "is_ad": false, "is_pinned": false, "aigc_label_type": null, "original_language_code": null, "cover_url": "https://smr-images-a.bzine.co/tiktok/users/019b2137-f76e-7b33-9437-26044fa7b1ed/posts/01a0631e-f0df-7e9d-a09b-d84bc31d3834/medias/cover.jpg", "video_url": "https://smr-images-a.bzine.co/tiktok/users/019b2137-f76e-7b33-9437-26044fa7b1ed/posts/01a0631e-f0df-7e9d-a09b-d84bc31d3834/medias/origin.mp4", "images": [], "hashtags": [], "mentions": [], "transcript": null }, "… 5 more" ], "fetched_on_demand": false } ``` #### MCP で呼び出す場合 ```json { "name": "solari_catalog_tiktok_account_profile", "arguments": { "username": "innisfree_official" } } ``` #### 注意点 - カタログだけを読みます。アカウントがまだカタログにない場合は、solari fetch tiktok account username=… を実行してから再試行してください。 - 見つからないというエラーは、そのハンドルがカタログにないことを表します。 #### 関連ツール - [`solari_catalog_tiktok_account_posts`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-posts.md?lang=ja) - [`solari_catalog_tiktok_account_history`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-history.md?lang=ja) - [`solari_catalog_tiktok_account_search`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-search.md?lang=ja) - [`solari_catalog_instagram_account_profile`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-profile.md?lang=ja) ### solari catalog tiktok account posts > TikTok アカウントの投稿。 - **CLI**: `solari catalog tiktok account posts` - **MCP ツール**: `solari_catalog_tiktok_account_posts` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 TikTok アカウントの投稿を一覧で返します。include_transcript は、話している内容が必要なときだけ有効にしてください。 **どんなときに使うか** — プロフィールのプレビューより多くの投稿が必要なとき、または期間や形式で絞り込みたいとき。 **返される内容** — 投稿の一覧。指定すると動画の文字起こしも含みます。 #### パラメータ - `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — TikTok の account_id(SOLARI アカウントの UUID)。これか username のどちらかを指定します。 - `username` (string, 任意, ≤ 64 chars) — TikTok のユーザー名。account_id を指定した場合は無視されます。 - `limit` (integer, 任意, 既定値 12, 1–200) — 1 ページあたりの投稿数。 - `offset` (integer, 任意, 既定値 0, ≥ 0) — スキップする投稿数。 - `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)以前の投稿のみ。 - `post_type` (enum, 任意) — video または carousel に絞り込みます。 値: `video`, `carousel`. - `include_transcript` (boolean, 任意, 既定値 false) — 動画の文字起こしを含めます。 #### レスポンス ##### `Response` - `found` (boolean) — username が TikTok に存在しない場合は false。 - `account_id / username` (string) — 特定したアカウント。 - `total` (integer) — フィルターに合う投稿の数。 - `has_more` (boolean) — 次のページがあるかどうか。 - `items` (object[]) — 投稿の一覧(新しい順)。 - `fetched_on_demand` (boolean) — 現時点で最新の投稿しか取得できていない場合は true。 ##### `items[]` - `post_id` (uuid) — TikTok の投稿 ID。Instagram の投稿 ID とは別物です。 - `video_id` (string) — TikTok の URL に含まれる公開の数値 ID。 - `url` (string) — 公開パーマリンク。 - `account_id` (uuid) — 投稿者の account_id。 - `username` (string) — 投稿者のユーザー名。 - `post_type` (string) — video または carousel。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `caption` (string) — キャプション。 - `duration_seconds` (integer) — 動画の長さ。 - `width / height` (integer) — 解像度。 - `play_count` (integer) — 再生数。 - `like_count` (integer) — いいね数。 - `comment_count` (integer) — コメント数。 - `share_count` (integer) — シェア数。 - `collect_count` (integer) — 保存数。 - `is_ad` (boolean) — TikTok の広告フラグ。 - `is_pinned` (boolean) — プロフィールに固定されているかどうか。 - `aigc_label_type` (string | null) — AI 生成コンテンツのラベル(TikTok が付けている場合)。 - `original_language_code` (string | null) — 元の言語。 - `cover_url` (string) — カバー画像の URL。 - `video_url` (string) — 動画ファイルの URL。 - `images` (string[]) — カルーセルの各スライド。動画の場合は空です。 - `hashtags` (string[]) — キャプション内のハッシュタグ。 - `mentions` (string[]) — キャプションでメンションされているユーザー名。 - `transcript` (string | null) — 動画の文字起こし。account posts と content batch では include_transcript=true のときだけ返ります。 - `assets` (object[]) — メディアファイル(掲載順)。それぞれに asset_url、media_type、video_duration があります。 - `assets[].asset_url` (string | null) — フルサイズの画像または動画の直接ダウンロードリンク。ファイルが保存されていない場合は null。 #### 例 ```console $ solari catalog tiktok account posts username=innisfree_official limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "found": true, "account_id": "019b2137-f76e-7b33-9437-26044fa7b1ed", "username": "innisfree_official", "total": 87, "has_more": true, "items": [ { "post_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3834", "video_id": "7680375687139642645", "url": "https://www.tiktok.com/@innisfree_official/video/7680375687139642645", "account_id": "019b2137-f76e-7b33-9437-26044fa7b1ed", "username": "innisfree_official", "post_type": "video", "posted_at": "2026-09-02T12:00:00Z", "caption": "Deeply hydrated skin—NO OFF HOURS. 💚 wherever the day takes MINGYU—his hydration stays SUPERCHARGED ⚡️ Green Tea Ceramide Milk: Lightweight milky toner that won't clog your pores Green Tea Ceramide Mist: Touch-free, fa …", "duration_seconds": 23, "width": 1080, "height": 1920, "play_count": 493, "like_count": 37, "comment_count": 2, "share_count": 0, "collect_count": 3, "is_ad": false, "is_pinned": false, "aigc_label_type": null, "original_language_code": null, "cover_url": "https://smr-images-b.bzine.co/tiktok/users/019b2137-f76e-7b33-9437-26044fa7b1ed/posts/01a0631e-f0df-7e9d-a09b-d84bc31d3834/medias/cover.jpg", "video_url": "https://smr-images-a.bzine.co/tiktok/users/019b2137-f76e-7b33-9437-26044fa7b1ed/posts/01a0631e-f0df-7e9d-a09b-d84bc31d3834/medias/origin.mp4", "images": [], "hashtags": [], "mentions": [], "transcript": null }, "… 1 more" ], "fetched_on_demand": false } ``` #### MCP で呼び出す場合 ```json { "name": "solari_catalog_tiktok_account_posts", "arguments": { "username": "innisfree_official", "limit": 2 } } ``` #### 注意点 - 動画の文字起こしはデータ量が大きいため、include_transcript は既定で無効です。 - カタログだけを読みます。アカウントがまだカタログにない場合は、solari fetch tiktok posts username=… を実行してから再試行してください。 #### 関連ツール - [`solari_catalog_tiktok_account_profile`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-profile.md?lang=ja) - [`solari_catalog_tiktok_content_detail`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-content-detail.md?lang=ja) - [`solari_catalog_instagram_account_posts`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-posts.md?lang=ja) ### solari catalog tiktok account history > TikTok アカウントのフォロワー数・動画数の推移です。 - **CLI**: `solari catalog tiktok account history` - **MCP ツール**: `solari_catalog_tiktok_account_history` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 SOLARI が記録した値で、TikTok アカウントのフォロワー数、フォロー数、いいね数、動画数の推移を表示します。成長の推移をグラフにしたり、アカウント同士を比べたりするときに使います。 **どんなときに使うか** — 今の数字だけでなく、フォロワーの伸びや推移が必要なときに使います。 **返される内容** — 記録された値が古い順に並び、アカウントの現在の値も付きます。 #### パラメータ - `account_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — account_id。これか username を渡します。 - `username` (string, 任意, ≤ 64 chars) — TikTok のユーザー名。account_id があるときは無視されます。 - `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)。 - `granularity` (enum, 任意, 既定値 "day") — day は UTC の 1 日につき 1 点だけ残し、all はすべての点を返します。 値: `day`, `all`. #### レスポンス ##### `Response` - `found` (boolean) — カタログにないアカウントなら false です。 - `account_id / username` (string) — 特定したアカウント。 - `granularity` (string) — 適用された day または all。 - `since / until` (date) — 対象の UTC 日付範囲。 - `current` (object | null) — カタログの現在の値。日付範囲に関係なく付きます。 - `points` (object[]) — 記録された値です。古い順です。 - `truncated` (boolean) — 古い点が切り捨てられたとき true。since を狭めてください。 ##### `current` - `follower_count / following_count / heart_count / video_count` (integer | null) — カタログの現在の数値。heart_count は獲得したいいねの合計です。 - `is_verified / is_private` (boolean | null) — 認証バッジと非公開かどうか。 - `collected_at` (timestamp | null) — TikTok からプロフィールを最後に収集した時刻。 ##### `points[]` - `captured_at` (timestamp) — SOLARI がこの値を記録した時刻(UTC)。 - `follower_count / following_count / heart_count / video_count` (integer | null) — その時点の数値。 - `is_verified / is_private` (boolean | null) — その時点の認証バッジと非公開かどうか。 #### 例 ```console $ solari catalog tiktok account history username=innisfree_official since=2026-09-20 until=2026-09-30 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "found": true, "account_id": "019b2137-f76e-7b33-9437-26044fa7b1ed", "username": "innisfree_official", "granularity": "day", "since": "2026-09-20", "until": "2026-09-30", "current": { "follower_count": 144300, "following_count": 14, "heart_count": 2200000, "video_count": 768, "is_verified": true, "is_private": false, "collected_at": "2026-09-26T22:06:21.624000Z" }, "points": [ { "captured_at": "2026-09-20T21:23:21.898000Z", "follower_count": 143800, "following_count": 14, "heart_count": 2200000, "video_count": 767, "is_verified": true, "is_private": false }, { "captured_at": "2026-09-24T04:16:11.995000Z", "follower_count": 143800, "following_count": 14, "heart_count": 2200000, "video_count": 768, "is_verified": true, "is_private": false }, { "captured_at": "2026-09-26T22:06:21.624000Z", "follower_count": 144300, "following_count": 14, "heart_count": 2200000, "video_count": 768, "is_verified": true, "is_private": false } ], "truncated": false } ``` #### MCP で呼び出す場合 ```json { "name": "solari_catalog_tiktok_account_history", "arguments": { "username": "innisfree_official", "since": "2026-09-20", "until": "2026-09-30" } } ``` #### 注意点 - since と until は UTC 日付で、両端を含みます。指定しなければ直近 90 日です。 - SOLARI がアカウントを収集したときにだけ値が残るため、途中に空白があるのは正常です。 - 2025-12-15 より前の記録はありません。 - TikTok は 10,000 以上の数値を丸めて返します。そのため、小さな変化は表れません。 - current を今日の数字として扱う前に、current.collected_at を確認してください。 - カタログだけを読みます。アカウントがない場合は、先に solari fetch tiktok account username=… を呼んでください。記録はそこから始まり、過去の値は埋められません。 #### 関連ツール - [`solari_catalog_tiktok_account_profile`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-profile.md?lang=ja) - [`solari_catalog_tiktok_account_posts`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-posts.md?lang=ja) - [`solari_fetch_tiktok_account`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-account.md?lang=ja) - [`solari_catalog_instagram_account_history`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-history.md?lang=ja) ### solari catalog tiktok content detail > ID、video_id、URL で指定した TikTok の投稿。 - **CLI**: `solari catalog tiktok content detail` - **MCP ツール**: `solari_catalog_tiktok_content_detail` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 post_id、video_id、公開 URL のいずれかで TikTok の投稿を取得します。 **どんなときに使うか** — 投稿を 1 件取得したいとき。多数の ID をまとめて取得する場合は content batch を使います。 **返される内容** — 投稿。動画の文字起こしがあれば含みます。 #### パラメータ - `post_id` (string, 任意, uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$) — post_id。これか video_id、url のいずれかを渡します。 - `video_id` (string, 任意, pattern ^\d{15,20}$) — TikTok の公開の数値 ID。 - `url` (string, 任意, ≤ 512 chars) — TikTok 投稿の公開 URL。 #### レスポンス ##### `Response` - `item` (object | null) — 投稿。存在しない場合や非公開の場合は null。 - `fetched_on_demand` (boolean) — この呼び出しでその場で取得した場合は true。 - `note` (string) — item が null のときのみ。次に取るべき手順。 - `next` (string) — item が null で、投稿を URL で指定したときだけ返ります。その投稿を収集する fetch post コマンドです。 ##### `item` - `post_id` (uuid) — TikTok の投稿 ID。Instagram の投稿 ID とは別物です。 - `video_id` (string) — TikTok の URL に含まれる公開の数値 ID。 - `url` (string) — 公開パーマリンク。 - `account_id` (uuid) — 投稿者の account_id。 - `username` (string) — 投稿者のユーザー名。 - `post_type` (string) — video または carousel。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `caption` (string) — キャプション。 - `duration_seconds` (integer) — 動画の長さ。 - `width / height` (integer) — 解像度。 - `play_count` (integer) — 再生数。 - `like_count` (integer) — いいね数。 - `comment_count` (integer) — コメント数。 - `share_count` (integer) — シェア数。 - `collect_count` (integer) — 保存数。 - `is_ad` (boolean) — TikTok の広告フラグ。 - `is_pinned` (boolean) — プロフィールに固定されているかどうか。 - `aigc_label_type` (string | null) — AI 生成コンテンツのラベル(TikTok が付けている場合)。 - `original_language_code` (string | null) — 元の言語。 - `cover_url` (string) — カバー画像の URL。 - `video_url` (string) — 動画ファイルの URL。 - `images` (string[]) — カルーセルの各スライド。動画の場合は空です。 - `hashtags` (string[]) — キャプション内のハッシュタグ。 - `mentions` (string[]) — キャプションでメンションされているユーザー名。 - `transcript` (string | null) — 動画の文字起こし。account posts と content batch では include_transcript=true のときだけ返ります。 - `assets` (object[]) — メディアファイル(掲載順)。それぞれに asset_url、media_type、video_duration があります。 - `assets[].asset_url` (string | null) — フルサイズの画像または動画の直接ダウンロードリンク。ファイルが保存されていない場合は null。 #### 例 ```console $ solari catalog tiktok content detail video_id=7680375687139642645 include_transcript=true ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "item": { "post_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3834", "video_id": "7680375687139642645", "url": "https://www.tiktok.com/@innisfree_official/video/7680375687139642645", "account_id": "019b2137-f76e-7b33-9437-26044fa7b1ed", "username": "innisfree_official", "post_type": "video", "posted_at": "2026-09-02T12:00:00Z", "caption": "Deeply hydrated skin—NO OFF HOURS. 💚 wherever the day takes MINGYU—his hydration stays SUPERCHARGED ⚡️ Green Tea Ceramide Milk: Lightweight milky toner that won't clog your pores Green Tea Ceramide Mist: Touch-free, fa …", "duration_seconds": 23, "width": 1080, "height": 1920, "play_count": 493, "like_count": 37, "comment_count": 2, "share_count": 0, "collect_count": 3, "is_ad": false, "is_pinned": false, "aigc_label_type": null, "original_language_code": null, "cover_url": "https://smr-images-b.bzine.co/tiktok/users/019b2137-f76e-7b33-9437-26044fa7b1ed/posts/01a0631e-f0df-7e9d-a09b-d84bc31d3834/medias/cover.jpg", "video_url": "https://smr-images-c.bzine.co/tiktok/users/019b2137-f76e-7b33-9437-26044fa7b1ed/posts/01a0631e-f0df-7e9d-a09b-d84bc31d3834/medias/origin.mp4", "images": [], "hashtags": [], "mentions": [], "transcript": null }, "fetched_on_demand": false } ``` #### MCP で呼び出す場合 ```json { "name": "solari_catalog_tiktok_content_detail", "arguments": { "video_id": "7680375687139642645" } } ``` #### 注意点 - vm.tiktok.com と vt.tiktok.com の短縮リンクも使えます。 - カタログを読むだけのツールです。未収集の投稿を集めるには solari fetch tiktok post url=… を実行します(投稿者もわかります)。投稿者がわかっている場合は solari fetch tiktok posts username=… を使います。 #### 関連ツール - [`solari_fetch_tiktok_post`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-post.md?lang=ja) - [`solari_catalog_tiktok_content_batch`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-content-batch.md?lang=ja) - [`solari_catalog_tiktok_account_posts`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-posts.md?lang=ja) ### solari catalog tiktok content batch > 複数の TikTok 投稿をまとめて取得。 - **CLI**: `solari catalog tiktok content batch` - **MCP ツール**: `solari_catalog_tiktok_content_batch` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 TikTok の投稿 ID のリストから、キャプションと指標をまとめて取得します。見つからない ID はスキップされます。 **どんなときに使うか** — 検索やアカウントの投稿一覧で得た ID を、まとめて取得したいとき。 **返される内容** — 見つかった投稿。 #### パラメータ - `post_ids` (uuid[], 必須, 1–100 items, uuid) — 取得する TikTok の投稿 ID(最大 100 件)。 - `sort` (enum, 任意, 既定値 "recent") — 新しい順、またはエンゲージメント順。 値: `recent`, `engagement`. - `include_transcript` (boolean, 任意, 既定値 false) — 動画の文字起こしを含めます。 #### レスポンス ##### `Response` - `requested` (integer) — 送信した ID の件数。 - `found` (integer) — 見つかった件数。 - `items` (object[]) — 見つかった投稿。 ##### `items[]` - `post_id` (uuid) — TikTok の投稿 ID。Instagram の投稿 ID とは別物です。 - `video_id` (string) — TikTok の URL に含まれる公開の数値 ID。 - `url` (string) — 公開パーマリンク。 - `account_id` (uuid) — 投稿者の account_id。 - `username` (string) — 投稿者のユーザー名。 - `post_type` (string) — video または carousel。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `caption` (string) — キャプション。 - `duration_seconds` (integer) — 動画の長さ。 - `width / height` (integer) — 解像度。 - `play_count` (integer) — 再生数。 - `like_count` (integer) — いいね数。 - `comment_count` (integer) — コメント数。 - `share_count` (integer) — シェア数。 - `collect_count` (integer) — 保存数。 - `is_ad` (boolean) — TikTok の広告フラグ。 - `is_pinned` (boolean) — プロフィールに固定されているかどうか。 - `aigc_label_type` (string | null) — AI 生成コンテンツのラベル(TikTok が付けている場合)。 - `original_language_code` (string | null) — 元の言語。 - `cover_url` (string) — カバー画像の URL。 - `video_url` (string) — 動画ファイルの URL。 - `images` (string[]) — カルーセルの各スライド。動画の場合は空です。 - `hashtags` (string[]) — キャプション内のハッシュタグ。 - `mentions` (string[]) — キャプションでメンションされているユーザー名。 - `transcript` (string | null) — 動画の文字起こし。account posts と content batch では include_transcript=true のときだけ返ります。 - `assets` (object[]) — メディアファイル(掲載順)。それぞれに asset_url、media_type、video_duration があります。 - `assets[].asset_url` (string | null) — フルサイズの画像または動画の直接ダウンロードリンク。ファイルが保存されていない場合は null。 #### 例 ```console $ solari catalog tiktok content batch post_ids='["01a0631e-f0df-7e9d-a09b-d84bc31d3834"]' ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "requested": 1, "found": 1, "items": [ { "post_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3834", "video_id": "7680375687139642645", "url": "https://www.tiktok.com/@innisfree_official/video/7680375687139642645", "account_id": "019b2137-f76e-7b33-9437-26044fa7b1ed", "username": "innisfree_official", "post_type": "video", "posted_at": "2026-09-02T12:00:00Z", "caption": "Deeply hydrated skin—NO OFF HOURS. 💚 wherever the day takes MINGYU—his hydration stays SUPERCHARGED ⚡️ Green Tea Ceramide Milk: Lightweight milky toner that won't clog your pores Green Tea Ceramide Mist: Touch-free, fa …", "duration_seconds": 23, "width": 1080, "height": 1920, "play_count": 493, "like_count": 37, "comment_count": 2, "share_count": 0, "collect_count": 3, "is_ad": false, "is_pinned": false, "aigc_label_type": null, "original_language_code": null, "cover_url": "https://smr-images-b.bzine.co/tiktok/users/019b2137-f76e-7b33-9437-26044fa7b1ed/posts/01a0631e-f0df-7e9d-a09b-d84bc31d3834/medias/cover.jpg", "video_url": "https://smr-images-b.bzine.co/tiktok/users/019b2137-f76e-7b33-9437-26044fa7b1ed/posts/01a0631e-f0df-7e9d-a09b-d84bc31d3834/medias/origin.mp4", "images": [], "hashtags": [], "mentions": [], "transcript": null } ] } ``` #### MCP で呼び出す場合 ```json { "name": "solari_catalog_tiktok_content_batch", "arguments": { "post_ids": [ "01a0631e-f0df-7e9d-a09b-d84bc31d3834" ] } } ``` #### 注意点 - SOLARI の投稿 ID のみ受け付けます。数値の動画 ID は content detail に video_id として渡してください。 - TikTok の投稿 ID と Instagram の投稿 ID は別物で、互いに使えません。 #### 関連ツール - [`solari_catalog_tiktok_content_detail`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-content-detail.md?lang=ja) - [`solari_catalog_tiktok_content_search`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-content-search.md?lang=ja) ### solari catalog tiktok content search > 収集済みの TikTok のキャプションと動画の文字起こしを、期間を指定して検索します。 - **CLI**: `solari catalog tiktok content search` - **MCP ツール**: `solari_catalog_tiktok_content_search` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 KR・JP・US・TW で収集済みの TikTok 投稿を、キーワードで検索します。対象はおよそ直近 6 か月です。TikTok のカタログは小さいので、まず fetch tiktok post search から始め、期間の指定が必要なときにこのツールを使います。 **どんなときに使うか** — 特定の期間の TikTok 投稿や、動画内で話されている内容から投稿を探したいとき。トピックで投稿を探すなら、まず fetch tiktok post search を使います。 **返される内容** — 関連度順の投稿。一致したテキストはハイライトされます。 #### パラメータ - `query` (string, 必須) — 検索するキーワード。 - `region` (enum, 任意, 既定値 "KR") — KR、JP、US、TW のいずれか。 値: `KR`, `JP`, `US`, `TW`. - `limit` (integer, 任意, 既定値 20, 1–100) — 1 ページあたりの投稿数。 - `offset` (integer, 任意, 既定値 0, 0–9800) — スキップする投稿数。 - `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)以前の投稿のみ。 #### レスポンス ##### `Response` - `query / region` (string) — 適用したクエリと地域。 - `total` (integer) — 一致した総件数。10,000 件までは正確で、それを超えると 10,000 件で止まります。 - `took_ms` (integer) — 検索にかかった時間。 - `items` (object[]) — 検索結果(スコアの高い順)。 ##### `items[]` - `post_id / video_id / url` (string) — 投稿の識別子と公開リンク。 - `account_id / username` (string) — 投稿したアカウント。 - `caption` (string) — キャプション。 - `user_bio` (string) — 投稿者のプロフィール文。 - `transcription_text` (string | null) — 動画の文字起こし。検索対象のテキストに含まれます。 - `transcription_language` (string | null) — 文字起こしの言語コード。 - `post_type` (string) — video または carousel。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `duration_seconds` (integer) — 動画の長さ。 - `play_count / like_count / comment_count / share_count / collect_count` (integer) — エンゲージメント。 - `follower_count` (integer) — 投稿者のフォロワー数。 - `is_ad` (boolean) — TikTok 自体の広告フラグ。 - `cover_url` (string) — カバー画像。 - `score` (number) — 関連度スコア。 - `highlight` (object) — フィールドごとの一致箇所。 - `assets` (object[]) — メディアファイル(掲載順)。それぞれに asset_url、media_type、video_duration があります。 - `assets[].asset_url` (string | null) — フルサイズの画像または動画の直接ダウンロードリンク。ファイルが保存されていない場合は null。 - `region_inferred` (boolean) — 投稿者の国が不明で、キャプションの言語から地域を決めた投稿なら true です。 #### 例 ```console $ solari catalog tiktok content search query="올리브영 세일" limit=3 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "query": "올리브영 세일", "region": "KR", "total": 4041, "took_ms": 29, "items": [ { "post_id": "01a05c46-9a08-7e92-a40e-b1a039103118", "video_id": "7679484556189207815", "url": "https://www.tiktok.com/@flos_bonita/video/7679484556189207815", "account_id": "0196cb39-87a7-7be3-ac4a-4a80b7818a90", "username": "flos_bonita", "caption": "태닝한 산리오 키링이라니…☀️🥹💗 푸드올로지 X 산리오 콜라보 실물 너무 귀엽잖아!! 헬로키티·쿠로미·한교동·마이멜로디까지🎀 제품마다 다른 키링이라 산리오 덕후들 취향 제대로 저격💘 올영 세일 시작했으니 얼른 구경해봐요👀🛒 #푸드올로지 #태닝키티 #올리브영추천템 #올영세일", "user_bio": "화미 프로필 링크", "transcription_text": "살리오 덕후라면 절대 그냥 넘길 수 없는 영상 오늘부터 시작인 올리브영 세일과 함께 푸드올로지와 살리오 콜라보 나왔어요 이번 콜라보는 젤리 폼 앰플 젤리 3 종으로 피디아렌 앰플 젤리 글루타치원 씨 앰플 젤리 히알루론산 앰플 젤리까지 제품마다 귀여운 살리오 굿즈도 함께 만나 볼 수 있는데 헬로키티 크로미 한교동부터 마이 멜로디까지 저는 역시 헬로키티 더 쿠답게 키티 키링으로 폼구 최애 캐릭터 …", "transcription_language": "ko", "post_type": "video", "posted_at": "2026-08-29T16:02:22Z", "duration_seconds": 37, "play_count": 955, "like_count": 26, "comment_count": 0, "share_count": 0, "collect_count": 5, "follower_count": 1345, "is_ad": true, "cover_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-p-0037/oEu4VAolaEBAAYjMAjBtiyCIAABiPp9TOCAME~tplv-tiktokx-origin.image?dr=10395&x-expires=1788426000&x-signature=FAP0C10M1M1gEwD4YMB03pYd0YA%3D&t=4d5b0474&ps=13740610&sh …", "score": 53.787056, "highlight": { "caption": [ "헬로키티·쿠로미·한교동·마이멜로디까지🎀 제품마다 다른 키링이라 산리오 덕후들 취향 제대로 저격💘 올영 세일 시작했으니 얼른 구경해봐요👀🛒 #푸드올로지 #태닝키티 #올리브영추천템 #올영세일" ], "user_bio": [], "transcription_text": [ "살리오 덕후라면 절대 그냥 넘길 수 없는 영상 오늘부터 시작인 올리브영 세일과 함께 푸드올로지와 살리오 콜라보 나왔어요 이번 콜라보는 젤리 폼 앰플 젤리 3 종으로 피디아렌 앰플 젤리 글루타치원 씨 앰플 젤리 히알루론산 앰플 젤리까지 제품마다 귀여운 살리오 굿즈도 함께", "… 1 more" ] } }, "… 2 more" ] } ``` #### MCP で呼び出す場合 ```json { "name": "solari_catalog_tiktok_content_search", "arguments": { "query": "올리브영 세일", "limit": 3 } } ``` #### 注意点 - offset の上限は 9,800 です。それより先を見るには期間を絞り込んでください。 - total は 10,000 件まで数え、それ以上は数えません。 - 投稿者の国が不明な場合、投稿はキャプションの言語に対応する地域に入り、region_inferred=true が付きます。 #### 関連ツール - [`solari_insight_tiktok_content_aggregate`](https://clip-pub.bzine.co/docs/tools/insight-tiktok-content-aggregate.md?lang=ja) - [`solari_catalog_tiktok_content_batch`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-content-batch.md?lang=ja) - [`solari_catalog_instagram_content_search`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-search.md?lang=ja) ### 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) ### solari fetch instagram account > Instagram のハンドルを 1 件カタログに取り込みます。 - **CLI**: `solari fetch instagram account` - **MCP ツール**: `solari_fetch_instagram_account` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 正確なユーザー名を指定して、Instagram アカウントを 1 件 SOLARI のカタログに追加します。検索ではありません。1 日以内に収集したアカウントは再取得せず、それより古い場合はこの呼び出しで再収集します。タグやメンションで名前だけがカタログに載っているハンドルは、この呼び出しでクロールします。 **どんなときに使うか** — 正確なハンドルがわかっているのに、カタログ検索で見つからないとき。 **返される内容** — 取り込んだかどうか、account_id、結果を読むためのカタログコマンド。 #### パラメータ - `username` (string, 必須, ≤ 64 chars) — Instagram のユーザー名。 #### レスポンス ##### `Response` - `ingested` (boolean) — この呼び出しでその場で収集した場合は true。 - `already_tracked` (boolean) — すでにクロール済みだった場合は true。 - `fetched_on_demand` (boolean) — ingested と同じ。 - `account_id` (uuid) — 取り込んだアカウント。 - `username` (string) — 特定したハンドル。 - `note` (string) — この後に起きること。 - `next` (string) — 結果を読むためのカタログコマンド。 - `refreshed` (boolean) — 1 日以上前の保存データをこの呼び出しで再収集した場合は true。 - `collected_at` (timestamp) — 保存済みプロフィールを収集した時刻(UTC)。 #### 例 ```console $ solari fetch instagram account username=innisfreeofficial ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "ingested": false, "already_tracked": true, "fetched_on_demand": false, "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "note": "Already in the SOLARI catalog. Nothing was scraped.", "next": "solari catalog instagram account profile username=innisfreeofficial" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_instagram_account", "arguments": { "username": "innisfreeofficial" } } ``` #### 注意点 - 名前の検索には使わないでください。先にカタログのアカウント検索を使います。 - 初回の取り込みには数秒かかることがあります。クロールが終わるまで、指標とコラボレーションは空のままです。 - カタログ検索では見つからないのにプロフィールが空で返ってくるハンドルは、名前だけが登録された仮のアカウントです。この呼び出しでクロールします。 #### 関連ツール - [`solari_catalog_instagram_account_search`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-search.md?lang=ja) - [`solari_catalog_instagram_account_profile`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-profile.md?lang=ja) - [`solari_fetch_instagram_posts`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-posts.md?lang=ja) ### solari fetch instagram posts > Instagram アカウントの投稿・リール・タグ付けされた投稿をその場で収集します。 - **CLI**: `solari fetch instagram posts` - **MCP ツール**: `solari_fetch_instagram_posts` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 Instagram アカウントのタブを 1 つその場で収集し、同じ呼び出しで投稿をタブの順番どおりに再生数・いいね・コメント付きで返します。type でタブを選びます: posts(プロフィールグリッド)、reels(リール)、tagged_posts(他のアカウントがこのアカウントをタグ付けした投稿)。 **どんなときに使うか** — アカウントの最新投稿や現在のリール再生数が必要なとき、または catalog account posts の結果に抜けがある・古いと感じるとき。 **返される内容** — 収集した投稿(catalog account posts と同じ item 形式)と、収集の結果。 #### パラメータ - `username` (string, 必須, ≤ 64 chars) — Instagram のユーザー名。 - `type` (enum, 任意, 既定値 "posts") — posts(プロフィールグリッド)、reels(リールタブ)、tagged_posts(他のアカウントがこのアカウントをタグ付けした投稿)。 値: `posts`, `reels`, `tagged_posts`. - `pages` (integer, 任意, 既定値 1, 1–3) — 収集するタブのページ数。1 ページはおよそ 12 件です。 - `cursor` (string, 任意, ≤ 8192 chars) — 前回の呼び出しの collection.next_cursor。渡すと、その次の(より古い)ページから続けて収集します。 #### レスポンス ##### `Response` - `found` (boolean) — Instagram にそのハンドルのアカウントがない場合は false。このとき items は空です。 - `account_id` (uuid) — 対象のアカウント。 - `username` (string) — 特定したハンドル。 - `type` (string) — 収集したタブ。 - `collection` (object) — 収集の結果。 - `total` (integer) — items に入っている投稿の数。 - `items` (object[]) — 収集した投稿(タブの順番どおり)。 - `note` (string) — 伝えることがあるときだけ返ります: 非公開アカウント、タブを取得できない、保存中の投稿がある、さらにページがある。 - `next` (string) — タブにまだ続きがあるときだけ: cursor=next_cursor を付けた同じ呼び出しで続きを収集します。 ##### `collection` - `type / pages` (string / integer) — 読んだタブとページ数。 - `fetched_count` (integer) — Instagram が返した投稿の数。 - `stored_count` (integer) — この呼び出しでカタログに保存・更新した投稿の数。 - `has_more` (boolean) — 読んだページより先にタブが続く場合は true。cursor=next_cursor で続きを収集します。 - `truncated` (boolean) — 要求したページをすべて読む前に収集が止まった場合は true。 - `pending_count` (integer) — まだ保存中の投稿の数。これらの item には当面 post_id, slug, url, posted_at だけが入ります。 - `skipped_reason` (string | null) — 何も収集しなかった理由。private は非公開アカウントという意味です。 - `unavailable_reason` (string | null) — Instagram がタブを返さなかった理由。 ##### `items[]` - `post_id` (uuid) — SOLARI の投稿 ID。 - `slug` (string) — Instagram のショートコード。 - `url` (string) — 公開パーマリンク。 - `post_type` (string) — reel, video, photo, carousel のいずれか。 - `posted_at` (timestamp) — 公開日時(UTC)。 - `text` (string) — キャプション。 - `like_count / comment_count` (integer) — エンゲージメント。 - `play_count` (integer | null) — 再生数。Instagram が再生数を返さない場合は null で、写真の多くがこれにあたります。 - `media_count` (integer) — メディアの数。 - `is_paid_partnership` (boolean | null) — Instagram の「タイアップ投稿」ラベル。 - `medias` (object[]) — すべてのメディア(カルーセルの順番どおり)。 - `assets` (object[]) — メディアファイル(順番どおり)。それぞれに直接ダウンロードできる asset_url, media_type, video_duration があります。 - `thumbnail_url` (string) — サムネイル。 - `author_username / author_account_id` (string / uuid) — tagged_posts のときだけ: 投稿したアカウント。 #### 例 ```console $ solari fetch instagram posts username=innisfreeofficial type=reels ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "found": true, "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "type": "reels", "collection": { "type": "reels", "pages": 1, "fetched_count": 12, "stored_count": 12, "has_more": true, "truncated": false, "next_cursor": "eyJhIjoiMDE4Y2FiY2UiLCJ0IjoicmVlbHMiLCJjIjoiUUZEIn0", "pending_count": 0, "skipped_reason": null, "unavailable_reason": null }, "total": 12, "items": [ { "post_id": "01a06275-d974-7fda-98ee-dd3ee15b4dcf", "slug": "DcyMAmUh6FZ", "url": "https://www.instagram.com/p/DcyMAmUh6FZ/", "post_type": "reel", "posted_at": "2026-09-02T12:00:06+00:00", "text": "Deeply hydrated skin—NO OFF HOURS. 💚\nwherever the day takes MINGYU (@min9yu_k)—his hydration stays SUPERCHARGED ⚡️\n\nGreen Tea Ceramide Milk: Lightweight milky toner that won‘t clog your pores\nGreen Tea Ceramide Mist: Tou …", "like_count": 3224, "comment_count": 57, "play_count": 22467, "media_count": 1, "is_paid_partnership": false, "medias": [ { "media_type": "video", "media_url": "https://smr-images-b.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.mp4", "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.m …", "video_duration": 23.868000030517578, "tags": [] } ], "assets": [ { "asset_url": "https://smr-images-b.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.mp4", "media_type": "video", "video_duration": 23.868000030517578 } ], "thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.m …" }, "… 11 more" ], "note": "The tab has more posts: request up to 3 pages to collect further back.", "next": "solari fetch instagram posts username=innisfreeofficial type=reels pages=3 cursor=eyJhIjoiMDE4Y2FiY2UiLCJ0IjoicmVlbHMiLCJjIjoiUUZEIn0" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_instagram_posts", "arguments": { "username": "innisfreeofficial", "type": "reels" } } ``` #### 注意点 - 再生数は type=reels で確認してください。プロフィールグリッドの写真は play_count が null になります。 - 最近の投稿をすべて見たいときや現在の再生数が必要なときは、catalog instagram account posts ではなくこちらを使います。保存済みのカタログには抜けがあったり、古かったりすることがあります。 - 1 回の呼び出しには通常 5〜45 秒かかります。収集した投稿はカタログにも保存されます。 - 非公開アカウントは items が空で、collection.skipped_reason=private になります。未知のハンドルはまず収集し、found=false なら Instagram にそのアカウントは存在しません。 - likes_hidden が true のときは like_count を使わないでください。投稿者がいいね数を非表示にしているため、null か、実際の値ではない可能性があります。 #### 関連ツール - [`solari_catalog_instagram_account_posts`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-posts.md?lang=ja) - [`solari_fetch_instagram_account`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-account.md?lang=ja) - [`solari_fetch_instagram_post`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-post.md?lang=ja) - [`solari_fetch_instagram_hashtag_posts`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-hashtag-posts.md?lang=ja) ### solari fetch instagram post > URL を指定して Instagram の投稿を 1 件収集し、投稿者を確認します。 - **CLI**: `solari fetch instagram post` - **MCP ツール**: `solari_fetch_instagram_post` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 公開 URL またはショートコードを指定して、Instagram の投稿を 1 件 SOLARI のカタログに収集し、投稿者も確認します。すでに保存済みの投稿の場合は何も取得しません。 **どんなときに使うか** — 投稿のリンクがあり、catalog content detail が item=null を返し、投稿者がわからないとき。 **返される内容** — 収集したかどうか、投稿者付きの投稿、その投稿者をクロールする fetch コマンド。 #### パラメータ - `url` (string, 任意, ≤ 512 chars) — 投稿の公開 URL(/p/、/reel/、/tv/)。 - `slug` (string, 任意, pattern ^[A-Za-z0-9_-]{3,20}$) — Instagram のショートコード。url より優先されます。 #### レスポンス ##### `Response` - `ingested` (boolean) — この呼び出しでその場で収集した場合は true。 - `already_tracked` (boolean) — すでにカタログにあった場合は true。 - `fetched_on_demand` (boolean) — ingested と同じ。 - `found` (boolean) — その指定に該当する公開投稿が Instagram にない場合は false。 - `post_id` (uuid) — 保存された投稿。 - `account_id` (uuid) — 投稿者のアカウント。 - `username` (string) — 投稿者のハンドル。 - `item` (object | null) — メディアファイルを含む投稿。 - `note` (string) — この後に起きること。 - `next` (string) — 投稿者をクロールする fetch コマンド。 ##### `item` - `post_id` (uuid) — ほかのコンテンツ系ツールで使う投稿 ID。 - `slug` (string) — 公開 URL に含まれるショートコード。 - `author_id` (uuid) — 投稿者の account_id。 - `username` (string) — 投稿者のユーザー名。 - `full_name` (string | null) — 表示名。 - `profile_pic_url` (string | null) — プロフィール画像の URL。 - `follower_count` (integer | null) — 投稿者のフォロワー数。 - `region` (string | null) — 投稿者の地域。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `media_type` (string) — image、video、carousel のいずれか。 - `play_count` (integer | null) — 動画の再生数。画像の場合は null。 - `like_count` (integer | null) — いいね数。 - `text` (string | null) — キャプション。 - `media_url` (string) — メディアの URL。 - `thumbnail_url` (string) — サムネイルの URL。 - `score` (number | null) — ランキングのスコア。ランキング形式の一覧以外では null。 - `efficiency_score` (number | null) — 投稿者のフォロワー数に対するパフォーマンス。 - `est_percentile` (number | null) — 地域内のパーセンタイル(0〜1)。 - `total_views_3m` (integer | null) — 投稿者の直近 3 か月の再生数。 - `median_views_3m` (integer | null) — 投稿者の直近 3 か月の再生数の中央値。 - `recent_collab_brands` (string[]) — 投稿者が最近コラボレーションしたブランド。 - `item_type` (string) — 項目の種類。常に "content"。 - `content_source` (string | null) — 投稿の出どころのフィード。フィード経由でなければ null。 - `is_saved` (boolean | null) — SOLARI でこの投稿を保存したか。不明な場合は null。 - `updated_at` (timestamp | null) — 指標を最後に更新した日時。 - `assets` (object[]) — メディアファイル(掲載順)。それぞれに asset_url、media_type、video_duration があります。 - `assets[].asset_url` (string | null) — フルサイズの画像または動画の直接ダウンロードリンク。ファイルが保存されていない場合は null。 #### 例 ```console $ solari fetch instagram post url=https://www.instagram.com/p/DcyMAmUh6FZ/ ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "ingested": true, "already_tracked": false, "fetched_on_demand": true, "found": true, "post_id": "01a06275-d974-7fda-98ee-dd3ee15b4dcf", "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "item": { "account_id": "018cabce-14cc-7544-8890-7811ec33ef74", "item_type": "content", "post_id": "01a06275-d974-7fda-98ee-dd3ee15b4dcf", "author_id": "018cabce-14cc-7544-8890-7811ec33ef74", "username": "innisfreeofficial", "slug": "DcyMAmUh6FZ", "posted_at": "2026-09-02T12:00:06Z", "media_type": "video", "play_count": 22467, "like_count": 3224 }, "note": "Collected live and stored now. The author is known by name only: run next to crawl their profile and posts.", "next": "solari fetch instagram account username=innisfreeofficial" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_instagram_post", "arguments": { "url": "https://www.instagram.com/p/DcyMAmUh6FZ/" } } ``` #### 注意点 - 投稿者は名前だけのアカウントとして登録されます。プロフィールと投稿をクロールするには、next(fetch instagram account)を実行してください。 - 初回の収集には数秒かかります。 #### 関連ツール - [`solari_fetch_instagram_post_assets`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-post-assets.md?lang=ja) - [`solari_catalog_instagram_content_detail`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-detail.md?lang=ja) - [`solari_fetch_instagram_account`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-account.md?lang=ja) - [`solari_fetch_instagram_posts`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-posts.md?lang=ja) ### solari fetch instagram post assets > Instagram の投稿 1 件の元サイズのダウンロードリンク。 - **CLI**: `solari fetch instagram post assets` - **MCP ツール**: `solari_fetch_instagram_post_assets` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 Instagram の投稿 1 件のメディアファイルすべてについて、Instagram が配信する最大サイズの新しいダウンロードリンクを返します。リール、写真または動画 1 件、カルーセルの全スライドが対象です。呼び出すたびに Instagram からその場で読み込みます。 **どんなときに使うか** — 投稿の元ファイルが必要なときに使います。他のツールの assets は保存済みのコピーを指していて、元より小さいことがあります。 **返される内容** — 投稿者と投稿の種類、そしてメディアファイルごとのダウンロードリンク(順番どおり)。 #### パラメータ - `url` (string, 任意, ≤ 512 chars) — 投稿の公開 URL(/p/、/reel/、/tv/)。 - `slug` (string, 任意, pattern ^[A-Za-z0-9_-]{3,20}$) — Instagram のショートコード。url より優先されます。 #### レスポンス ##### `Response` - `found` (boolean) — その指定に該当する公開投稿が Instagram にない場合は false。 - `slug` (string | null) — 投稿の shortcode。 - `url` (string | null) — 公開パーマリンク。 - `username` (string | null) — 投稿者のハンドル。 - `post_type` (string | null) — reel、video、photo、carousel のいずれか。 - `media_count` (integer) — assets に含まれるファイル数。 - `assets` (object[]) — メディアファイルの一覧(順番どおり)。 - `note` (string | null) — ダウンロードできるファイルがない場合の理由。 ##### `assets[]` - `index` (integer) — 投稿内でのファイルの順番。1 から始まります。 - `media_type` (string) — video または image。 - `asset_url` (string) — プラットフォームが配信する最大サイズのファイルのダウンロードリンク。一時的なリンクなので、すぐにダウンロードしてください。 - `fallback_urls` (string[]) — 同じファイルの別リンク。asset_url が失敗したときに順番に試します。 - `width` (integer | null) — 幅(ピクセル)。分かる場合のみ。 - `height` (integer | null) — 高さ(ピクセル)。分かる場合のみ。 - `video_duration` (number | null) — 動画の長さ(秒)。 - `file_extension` (string) — 保存時に使うファイル拡張子。例:mp4、jpg。 - `size_bytes` (integer | null) — ファイルサイズ(バイト)。分かる場合のみ。 - `referer` (string | null) — ダウンロード時に Referer ヘッダーとして送る値。不要な場合は null です。 #### 例 ```console $ solari fetch instagram post assets slug=DcyMAmUh6FZ ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "found": true, "slug": "DcyMAmUh6FZ", "video_id": null, "url": "https://www.instagram.com/p/DcyMAmUh6FZ/", "username": "innisfreeofficial", "post_type": "reel", "media_count": 1, "assets": [ { "index": 1, "media_type": "video", "asset_url": "https://scontent-cph2-1.cdninstagram.com/….mp4?…", "fallback_urls": [], "width": 720, "height": 1280, "video_duration": 23.868, "file_extension": "mp4", "size_bytes": null, "referer": null } ], "note": null } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_instagram_post_assets", "arguments": { "slug": "DcyMAmUh6FZ" } } ``` #### 注意点 - ファイルを一度に保存するには solari instagram download content slugs=… dir=… を実行してください。このツールを呼び出し、すべてのファイルをダウンロードします。 - リンクは一時的な署名付きリンクです。すぐにダウンロードし、再度必要なら呼び出し直してください。 - 呼び出すたびに Instagram へ問い合わせるため、数秒かかります。 #### 関連ツール - [`solari instagram download content`](https://clip-pub.bzine.co/docs/tools/instagram-download-content.md?lang=ja) - [`solari_fetch_instagram_post`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-post.md?lang=ja) - [`solari_catalog_instagram_content_detail`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-detail.md?lang=ja) - [`solari_fetch_tiktok_post_assets`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-post-assets.md?lang=ja) ### solari fetch instagram account search > Instagram 上のアカウントを名前でリアルタイムに探します。 - **CLI**: `solari fetch instagram account search` - **MCP ツール**: `solari_fetch_instagram_account_search` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 名前やハンドルの一部に一致するアカウントを、Instagram に直接問い合わせて探します。カタログのアカウント検索は収集済みのアカウントしか対象にしません。このツールはそれ以外のアカウントも見つけ、どれが収集済みかも示します。 **どんなときに使うか** — カタログのアカウント検索で名前が見つからないとき、または取り込む前に正確なハンドルを確認したいとき。 **返される内容** — 最大 50 件のアカウント(Instagram の並び順)。カタログにあるアカウントには account_id が付きます。 #### パラメータ - `query` (string, 必須, ≤ 100 chars) — 名前またはハンドルの一部(@ の有無は問いません)。 #### レスポンス ##### `Response` - `query` (string) — 検索に使ったテキスト(@ なし)。 - `items` (object[]) — 一致したアカウント(Instagram の並び順)。 - `found` (integer) — 返されたアカウントの件数。 - `tracked` (integer) — account_id が付いているアカウントの件数。 ##### `items[]` - `username` (string) — ハンドル(小文字)。 - `full_name` (string | null) — 表示名。 - `is_verified` (boolean) — 認証バッジ。 - `is_private` (boolean) — 非公開アカウントかどうか。 - `profile_picture_url` (string | null) — プロフィール画像の URL。 - `account_id` (uuid | null) — 収集済みの場合は SOLARI のアカウント ID。null の場合は、先に fetch instagram account で取り込んでください。 #### 例 ```console $ solari fetch instagram account search query=innisfree ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "query": "innisfree", "items": [ { "username": "innisfreeofficial", "full_name": "innisfree official", "is_verified": true, "is_private": false, "profile_picture_url": "https://scontent.cdninstagram.com/v/t51.2885-19/example.jpg", "account_id": "018cabce-14cc-7544-8890-7811ec33ef74" }, { "username": "innisfree_jp", "full_name": "innisfree Japan", "is_verified": false, "is_private": false, "profile_picture_url": null, "account_id": null } ], "found": 2, "tracked": 1 } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_instagram_account_search", "arguments": { "query": "innisfree" } } ``` #### 注意点 - 何も保存しません。未収集のアカウントをカタログに入れるには、その username で fetch instagram account を実行してください。 - 並び順とランキングは Instagram によるものなので、公式アカウントが先頭に来るとは限りません。is_verified を確認してください。 - フォロワー数は含まれません。アカウントが収集済みになったら、catalog account profile で確認してください。 #### 関連ツール - [`solari_catalog_instagram_account_search`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-search.md?lang=ja) - [`solari_fetch_instagram_account`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-account.md?lang=ja) - [`solari_catalog_instagram_account_profile`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-account-profile.md?lang=ja) ### solari fetch instagram hashtag posts > ハッシュタグの投稿を 1 ページ分その場で収集します。 - **CLI**: `solari fetch instagram hashtag posts` - **MCP ツール**: `solari_fetch_instagram_hashtag_posts` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 Instagram のハッシュタグフィードを 1 ページ分その場で収集し、投稿を保存してフィードの順番で返します。呼び出すたびに Instagram へリクエストが出るので、先に catalog tag search を確認してください。 **どんなときに使うか** — catalog tag search にハッシュタグがない、または情報が古いとき。あるいは、人気投稿やリールを今すぐ見たいとき。 **返される内容** — そのページの投稿(保存済み)と、次のページ用のカーソル。 #### パラメータ - `hashtag` (string, 必須, ≤ 150 chars) — ハッシュタグ(# の有無は問いません)。 - `tab` (enum, 任意) — recent、top、clips(リール)のいずれか。 値: `recent`, `top`, `clips`. - `cursor` (string, 任意, ≤ 8192 chars) — 前のページの next_cursor。 #### レスポンス ##### `Response` - `ingested` (boolean) — この呼び出しで投稿を 1 件以上保存した場合は true。 - `fetched_on_demand` (boolean) — 常に true。呼び出すたびにその場で収集します。 - `hashtag` (string) — 取得に使ったハッシュタグ(# なし)。 - `tab` (string) — このページを取得したフィード。 - `is_hidden` (boolean) — このハッシュタグのフィードを Instagram が返さない場合は true。非表示・制限付き・存在しないハッシュタグが該当し、items は空になります。 - `hidden_reason` (string | null) — 非表示のハッシュタグに Instagram が付けるラベル。 - `found` (integer) — items に含まれる投稿の件数。 - `fetched_count` (integer) — このページで Instagram が返した投稿の件数。保存できなかった投稿があると found より大きくなります。 - `items` (object[]) — このページの投稿(フィードの順番)。 - `next_cursor` (string | null) — 次のページを取得するときに cursor として渡します。フィードの終わりでは null。 - `note` (string) — この後に起きること。 - `next` (string) — 同じタグを後から読むためのカタログコマンド。 ##### `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 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" } } ``` #### 注意点 - 1 ページはおよそ 20〜30 件で、数秒かかります。 - カーソルは、取得したときと同じハッシュタグとタブでしか使えません。 - フィードの終わりは next_cursor が null になったときだけです。found が 0 でも next_cursor が返ることがあるので、その場合は続けて取得してください。 - 非表示・制限付き・スペルミスのハッシュタグには、Instagram はどれも同じ応答を返します。is_hidden=true で、投稿は 0 件です。スペルは hashtag search で確認してください。 - 投稿はすぐに保存されますが、catalog tag search に表示されるのは、1 日 1 回の次回更新の後です。 - 収集した直後の投稿は、メディアファイルの保存に少し時間がかかることがあります。そのため、最初は asset_url が null の場合があります。 - likes_hidden が true のときは like_count を使わないでください。投稿者がいいね数を非表示にしているため、null か、実際の値ではない可能性があります。 #### 関連ツール - [`solari_fetch_instagram_hashtag_search`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-hashtag-search.md?lang=ja) - [`solari_catalog_instagram_tag_search`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-tag-search.md?lang=ja) - [`solari_catalog_instagram_content_batch`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-content-batch.md?lang=ja) ### solari fetch instagram hashtag search > キーワードでハッシュタグを探し、その規模を確認します。 - **CLI**: `solari fetch instagram hashtag search` - **MCP ツール**: `solari_fetch_instagram_hashtag_search` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 キーワードで Instagram のハッシュタグを探し、それぞれの投稿数を確認します。何も保存しません。 **どんなときに使うか** — タグを読む・収集する前に、正確なスペルや最も投稿の多い表記を確認したいとき。 **返される内容** — 最大 20 件のハッシュタグと、Instagram が示す投稿数。 #### パラメータ - `query` (string, 必須, ≤ 100 chars) — キーワード(# の有無は問いません)。 #### レスポンス ##### `Response` - `query` (string) — 検索に使ったキーワード。 - `hashtags` (object[]) — 一致したハッシュタグ(一致度の高い順)。 - `found` (integer) — 返されたハッシュタグの件数。 ##### `hashtags[]` - `name` (string) — ハッシュタグ(# なし)。 - `post_count` (integer | null) — そのハッシュタグについて Instagram が示す投稿数。 #### 例 ```console $ solari fetch instagram hashtag search query=skincare ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "query": "skincare", "hashtags": [ { "name": "skincare", "post_count": 128000000 }, { "name": "skincareroutine", "post_count": 31000000 }, { "name": "skincaretips", "post_count": 9400000 } ], "found": 3 } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_instagram_hashtag_search", "arguments": { "query": "skincare" } } ``` #### 注意点 - post_count は Instagram 自体の総数で、SOLARI が収集した投稿数ではありません。 - ページングはありません。Instagram が返す候補は最大 20 件です。 #### 関連ツール - [`solari_fetch_instagram_hashtag_posts`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-hashtag-posts.md?lang=ja) - [`solari_catalog_instagram_tag_search`](https://clip-pub.bzine.co/docs/tools/catalog-instagram-tag-search.md?lang=ja) ### solari fetch tiktok account > TikTok のハンドルを 1 件カタログに取り込みます。 - **CLI**: `solari fetch tiktok account` - **MCP ツール**: `solari_fetch_tiktok_account` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 正確なユーザー名を指定して、TikTok アカウントを 1 件 SOLARI のカタログに追加します。検索ではありません。すでに保存済みの場合は何も取得しません。 **どんなときに使うか** — 正確なハンドルがわかっているのに、カタログ検索で見つからないとき。 **返される内容** — 取り込んだかどうか、account_id、結果を読むためのカタログコマンド。 #### パラメータ - `username` (string, 必須, ≤ 64 chars) — TikTok のユーザー名。 #### レスポンス ##### `Response` - `ingested` (boolean) — この呼び出しでその場で収集した場合は true。 - `already_tracked` (boolean) — すでにカタログにあった場合は true。 - `fetched_on_demand` (boolean) — ingested と同じ。 - `account_id` (uuid) — 取り込んだアカウント。 - `username` (string) — 特定したハンドル。 - `note` (string) — この後に起きること。 - `next` (string) — 結果を読むためのカタログコマンド。 #### 例 ```console $ solari fetch tiktok account username=innisfree_official ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "ingested": false, "already_tracked": true, "fetched_on_demand": false, "account_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3834", "username": "innisfree_official", "note": "Already in the SOLARI catalog. Nothing was scraped.", "next": "solari catalog tiktok account profile username=innisfree_official" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_tiktok_account", "arguments": { "username": "innisfree_official" } } ``` #### 注意点 - 名前の検索には使わないでください。先にカタログのアカウント検索を使います。 - 初回の取り込みには 10〜40 秒かかることがあります。クロールが終わるまでは、最近の投稿しかありません。 #### 関連ツール - [`solari_catalog_tiktok_account_search`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-search.md?lang=ja) - [`solari_catalog_tiktok_account_profile`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-profile.md?lang=ja) - [`solari_fetch_tiktok_posts`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-posts.md?lang=ja) - [`solari_fetch_tiktok_account_search`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-account-search.md?lang=ja) ### solari fetch tiktok post > URL を指定して TikTok の投稿を 1 件収集し、投稿者を確認します。 - **CLI**: `solari fetch tiktok post` - **MCP ツール**: `solari_fetch_tiktok_post` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 公開 URL を指定して、TikTok の投稿を 1 件 SOLARI のカタログに収集し、投稿者も確認します。すでに保存済みの投稿の場合は何も取得しません。 **どんなときに使うか** — 投稿のリンクがあり、catalog content detail が item=null を返し、投稿者がわからないとき。 **返される内容** — 収集したかどうか、投稿者付きの投稿、その投稿者をクロールする fetch コマンド。 #### パラメータ - `url` (string, 必須, ≤ 512 chars) — 投稿の公開 URL。vm.tiktok.com と vt.tiktok.com の短縮リンクも使えます。 #### レスポンス ##### `Response` - `ingested` (boolean) — この呼び出しでその場で収集した場合は true。 - `already_tracked` (boolean) — すでにカタログにあった場合は true。 - `fetched_on_demand` (boolean) — ingested と同じ。 - `found` (boolean) — その URL に該当する公開投稿が TikTok にない場合は false。 - `post_id` (uuid) — 保存された投稿。 - `account_id` (uuid) — 投稿者のアカウント。 - `username` (string) — 投稿者のハンドル。 - `item` (object | null) — メディアファイルを含む投稿。 - `note` (string) — この後に起きること。 - `next` (string) — 投稿者をクロールする fetch コマンド。 ##### `item` - `post_id` (uuid) — TikTok の投稿 ID。Instagram の投稿 ID とは別物です。 - `video_id` (string) — TikTok の URL に含まれる公開の数値 ID。 - `url` (string) — 公開パーマリンク。 - `account_id` (uuid) — 投稿者の account_id。 - `username` (string) — 投稿者のユーザー名。 - `post_type` (string) — video または carousel。 - `posted_at` (timestamp) — 投稿日時(UTC)。 - `caption` (string) — キャプション。 - `duration_seconds` (integer) — 動画の長さ。 - `width / height` (integer) — 解像度。 - `play_count` (integer) — 再生数。 - `like_count` (integer) — いいね数。 - `comment_count` (integer) — コメント数。 - `share_count` (integer) — シェア数。 - `collect_count` (integer) — 保存数。 - `is_ad` (boolean) — TikTok の広告フラグ。 - `is_pinned` (boolean) — プロフィールに固定されているかどうか。 - `aigc_label_type` (string | null) — AI 生成コンテンツのラベル(TikTok が付けている場合)。 - `original_language_code` (string | null) — 元の言語。 - `cover_url` (string) — カバー画像の URL。 - `video_url` (string) — 動画ファイルの URL。 - `images` (string[]) — カルーセルの各スライド。動画の場合は空です。 - `hashtags` (string[]) — キャプション内のハッシュタグ。 - `mentions` (string[]) — キャプションでメンションされているユーザー名。 - `transcript` (string | null) — 動画の文字起こし。account posts と content batch では include_transcript=true のときだけ返ります。 - `assets` (object[]) — メディアファイル(掲載順)。それぞれに asset_url、media_type、video_duration があります。 - `assets[].asset_url` (string | null) — フルサイズの画像または動画の直接ダウンロードリンク。ファイルが保存されていない場合は null。 #### 例 ```console $ solari fetch tiktok post url=https://www.tiktok.com/@innisfree_official/video/7680375687139642645 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "ingested": true, "already_tracked": false, "fetched_on_demand": true, "found": true, "post_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3900", "account_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3834", "username": "innisfree_official", "item": { "account_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3834", "post_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3900", "video_id": "7680375687139642645", "url": "https://www.tiktok.com/@innisfree_official/video/7680375687139642645", "username": "innisfree_official", "post_type": "video", "posted_at": "2026-09-01T09:00:00Z", "play_count": 12000, "like_count": 800 }, "note": "Collected live and stored now. The author is known by name only: run next to crawl their profile and posts.", "next": "solari fetch tiktok account username=innisfree_official" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_tiktok_post", "arguments": { "url": "https://www.tiktok.com/@innisfree_official/video/7680375687139642645" } } ``` #### 注意点 - 投稿者は名前だけのアカウントとして登録されます。プロフィールと投稿をクロールするには、next(fetch tiktok account)を実行してください。 - 初回の収集には数秒かかります。 #### 関連ツール - [`solari_fetch_tiktok_post_assets`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-post-assets.md?lang=ja) - [`solari_catalog_tiktok_content_detail`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-content-detail.md?lang=ja) - [`solari_fetch_tiktok_account`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-account.md?lang=ja) - [`solari_fetch_tiktok_posts`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-posts.md?lang=ja) ### solari fetch tiktok post assets > TikTok の投稿 1 件の元サイズのダウンロードリンク。 - **CLI**: `solari fetch tiktok post assets` - **MCP ツール**: `solari_fetch_tiktok_post_assets` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 TikTok の投稿 1 件のメディアについて、TikTok が配信する最大サイズの新しいダウンロードリンクを返します。動画 1 本、または写真投稿のすべての写真が対象です。呼び出すたびに TikTok からその場で読み込みます。 **どんなときに使うか** — 投稿の元ファイルが必要なときに使います。他のツールの assets は保存済みのコピーを指していて、元より小さいことがあります。 **返される内容** — 投稿者と投稿の種類、そしてメディアファイルごとのダウンロードリンク(順番どおり)。 #### パラメータ - `url` (string, 任意, ≤ 512 chars) — 投稿の公開 URL。vm.tiktok.com、vt.tiktok.com の短縮リンクも使えます。video_id より優先されます。 - `video_id` (string, 任意, pattern ^\d{15,20}$) — 数字の video id。すでにカタログにある投稿のみ対応します。それ以外は url を使ってください。 #### レスポンス ##### `Response` - `found` (boolean) — その参照先に TikTok の公開投稿がなければ false。 - `video_id` (string | null) — 投稿の公開数値 id。 - `url` (string | null) — 公開パーマリンク。 - `username` (string | null) — 投稿者のハンドル。 - `post_type` (string | null) — video または carousel。 - `media_count` (integer) — assets に含まれるファイル数。 - `assets` (object[]) — メディアファイルの一覧(順番どおり)。 - `note` (string | null) — ダウンロードできるファイルがない場合の理由。 ##### `assets[]` - `index` (integer) — 投稿内でのファイルの順番。1 から始まります。 - `media_type` (string) — video または image。 - `asset_url` (string) — プラットフォームが配信する最大サイズのファイルのダウンロードリンク。一時的なリンクなので、すぐにダウンロードしてください。 - `fallback_urls` (string[]) — 同じファイルの別リンク。asset_url が失敗したときに順番に試します。 - `width` (integer | null) — 幅(ピクセル)。分かる場合のみ。 - `height` (integer | null) — 高さ(ピクセル)。分かる場合のみ。 - `video_duration` (number | null) — 動画の長さ(秒)。 - `file_extension` (string) — 保存時に使うファイル拡張子。例:mp4、jpg。 - `size_bytes` (integer | null) — ファイルサイズ(バイト)。分かる場合のみ。 - `referer` (string | null) — ダウンロード時に Referer ヘッダーとして送る値。不要な場合は null です。 #### 例 ```console $ solari fetch tiktok post assets url=https://www.tiktok.com/@innisfree_official/video/7680375687139642645 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "found": true, "slug": null, "video_id": "7680375687139642645", "url": "https://www.tiktok.com/@innisfree_official/video/7680375687139642645", "username": "innisfree_official", "post_type": "video", "media_count": 1, "assets": [ { "index": 1, "media_type": "video", "asset_url": "https://www.tiktok.com/aweme/v1/play/?…", "fallback_urls": [ "https://www.tiktok.com/aweme/v1/play/?…" ], "width": 1080, "height": 1920, "video_duration": 23, "file_extension": "mp4", "size_bytes": 2775677, "referer": "https://www.tiktok.com/" } ], "note": null } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_tiktok_post_assets", "arguments": { "url": "https://www.tiktok.com/@innisfree_official/video/7680375687139642645" } } ``` #### 注意点 - ファイルを一度に保存するには solari tiktok download content urls=… dir=… を実行してください。このツールを呼び出し、すべてのファイルをダウンロードします。 - TikTok は Referer ヘッダーのない動画ダウンロードを拒否します。リクエストに referer の値を付けて送ってください。 - リンクは一時的な署名付きリンクです。すぐにダウンロードし、再度必要なら呼び出し直してください。 #### 関連ツール - [`solari tiktok download content`](https://clip-pub.bzine.co/docs/tools/tiktok-download-content.md?lang=ja) - [`solari_fetch_tiktok_post`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-post.md?lang=ja) - [`solari_catalog_tiktok_content_detail`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-content-detail.md?lang=ja) - [`solari_fetch_instagram_post_assets`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-post-assets.md?lang=ja) ### solari fetch tiktok posts > TikTok アカウント 1 件の投稿をカタログに収集します。 - **CLI**: `solari fetch tiktok posts` - **MCP ツール**: `solari_fetch_tiktok_posts` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 正確なユーザー名を指定して、TikTok アカウント 1 件の投稿を SOLARI のカタログに収集します。投稿の一覧を返すツールではありません。すでに保存済みのハンドルの場合は何も取得しません。 **どんなときに使うか** — 正確なハンドルがわかっているのに、カタログの投稿一覧で見つからないとき。 **返される内容** — 取り込んだかどうか、返ってきた投稿の件数、結果を読むためのカタログコマンド。 #### パラメータ - `username` (string, 必須, ≤ 64 chars) — TikTok のユーザー名。 #### レスポンス ##### `Response` - `ingested` (boolean) — この呼び出しでその場で収集した場合は true。 - `already_tracked` (boolean) — すでにカタログにあった場合は true。 - `fetched_on_demand` (boolean) — ingested と同じ。 - `found` (boolean) — ハンドルを収集できなかった場合は false。 - `account_id` (uuid) — 取り込んだアカウント。 - `username` (string) — 特定したハンドル。 - `total` (integer) — 現時点で取得できる投稿。 - `note` (string) — この後に起きること。 - `next` (string) — 結果を読むためのカタログコマンド。 #### 例 ```console $ solari fetch tiktok posts username=innisfree_official ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "ingested": false, "already_tracked": true, "fetched_on_demand": false, "found": true, "account_id": "01a0631e-f0df-7e9d-a09b-d84bc31d3834", "username": "innisfree_official", "total": 12, "note": "Already in the SOLARI catalog. Nothing was scraped.", "next": "solari catalog tiktok account posts username=innisfree_official" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_tiktok_posts", "arguments": { "username": "innisfree_official" } } ``` #### 注意点 - 保存済みの投稿を一覧表示する用途には使わないでください。その場合は catalog tiktok account posts を使います。 - 初回の取り込みには 10〜40 秒かかることがあります。クロールが終わるまでは、最近の投稿しかありません。 #### 関連ツール - [`solari_fetch_tiktok_account`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-account.md?lang=ja) - [`solari_catalog_tiktok_account_posts`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-posts.md?lang=ja) - [`solari_catalog_tiktok_account_search`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-search.md?lang=ja) ### solari fetch tiktok account search > TikTok アカウントを名前でライブ検索します。TikTok ではここから始めます。 - **CLI**: `solari fetch tiktok account search` - **MCP ツール**: `solari_fetch_tiktok_account_search` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 名前やハンドルの一部で TikTok 自体にアカウントを問い合わせます。TikTok のカタログは小さいので、TikTok の名前はここから始めてください。カタログにすでにあるアカウントには account_id が付き、それ以外は選んだアカウントを fetch tiktok account で追加します。 **どんなときに使うか** — TikTok のブランド名やクリエイター名があるときは、いつでも使います。catalog account search より先に使います。 **返される内容** — TikTok の順序で最大 limit 件の候補、次のページ用の cursor、最初の候補を読むか追加するコマンドです。 #### パラメータ - `query` (string, 必須, ≤ 100 chars) — 名前またはハンドルの一部。@ はあってもなくても構いません。 - `limit` (integer, 任意, 既定値 10, 1–30) — 1 ページあたり最大何件まで。 - `cursor` (string, 任意, ≤ 1024 chars) — 同じ query の前のページで受け取った next_cursor。最初のページでは省略します。 #### レスポンス ##### `Response` - `query` (string) — 検索に使った文字列。@ を除いた値。 - `items` (object[]) — 一致したアカウント。TikTok の順序。 - `total` (integer) — このページの候補の数。 - `has_more` (boolean) — TikTok に次のページがあれば true。 - `next_cursor` (string | null) — 同じ query と一緒に cursor として渡す値。最後のページなら null。 - `next` (string) — 最初の候補に対するコマンド。収集済みなら catalog のプロフィール、そうでなければ fetch tiktok account。候補があるときだけ。 ##### `items[]` - `username` (string) — ハンドル。@ なし。 - `nickname` (string | null) — 表示名。 - `bio` (string | null) — bio のテキスト。 - `is_verified` (boolean | null) — 認証バッジ。 - `follower_count` (integer | null) — TikTok が現在表示しているフォロワー数。 - `profile_pic_url` (string | null) — プロフィール画像の URL。 - `url` (string) — 公開プロフィールの URL。 - `account_id` (uuid | null) — カタログにすでにあるアカウントなら TikTok の account_id、なければ null。 #### 例 ```console $ solari fetch tiktok account search query=innisfree limit=1 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "query": "innisfree", "items": [ { "username": "innisfree_official", "nickname": "Innisfreeofficial", "bio": "NATURE MEETS KOREAN SKIN SCIENCE", "is_verified": true, "follower_count": 143900, "profile_pic_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-avt-0068/3f8e48dc4a284a8ead37e93175ebdb86~tplv-tiktokx-cropcenter:720:720.jpeg?…", "url": "https://www.tiktok.com/@innisfree_official", "account_id": "019b2137-f76e-7b33-9437-26044fa7b1ed" } ], "total": 1, "has_more": true, "next_cursor": "eyJjIjoiMSIsInMiOiIyMDI2MDkyOTA2NDMxMkE3QzRFMTlCMkQzRjVBOEM2RTAxIn0", "next": "solari catalog tiktok account profile username=innisfree_official" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_tiktok_account_search", "arguments": { "query": "innisfree", "limit": 1 } } ``` #### 注意点 - 順序とランキングは TikTok 自身のものなので、公式アカウントが常に先頭とは限りません。選ぶ前に is_verified と follower_count を確認してください。 - ヒットは薄い記録として保存されます。account_id があるヒットはすでにカタログにあるので、catalog tiktok ツールで読めます。account_id がないヒットは、その username で fetch tiktok account を呼ぶと追加されます。 - has_more が true なら、next_cursor を同じ query と一緒に cursor として渡すと次のページを受け取れます。cursor は別の query には使えません。 - 呼び出しごとに TikTok へライブで問い合わせます。数秒かかり、cache はありません。items が空なら TikTok に一致するアカウントがありません。 #### 関連ツール - [`solari_fetch_tiktok_account`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-account.md?lang=ja) - [`solari_catalog_tiktok_account_search`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-search.md?lang=ja) - [`solari_catalog_tiktok_account_profile`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-account-profile.md?lang=ja) - [`solari_fetch_tiktok_post_search`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-post-search.md?lang=ja) ### solari fetch tiktok post search > TikTok の動画をキーワードでライブ検索します。TikTok ではここから始めます。 - **CLI**: `solari fetch tiktok post search` - **MCP ツール**: `solari_fetch_tiktok_post_search` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 キーワードで TikTok 自体の動画を検索します。結果は TikTok の関連度順です。TikTok のカタログは小さいので、TikTok のトピックはここから始めてください。ヒットは薄い記録として保存され、どのヒットも URL で fetch tiktok post を呼べば全体を収集できます。 **どんなときに使うか** — あるテーマ、ブランド、フレーズについて人々が TikTok に何を投稿しているか知りたいときは、いつでも使います。catalog content search より先に使います。 **返される内容** — TikTok の順序で最大 limit 件の動画、次のページ用の cursor、最初の動画を収集する fetch コマンドです。 #### パラメータ - `query` (string, 必須, ≤ 100 chars) — 検索するキーワードやフレーズ。 - `limit` (integer, 任意, 既定値 20, 1–30) — 1 ページあたり最大何件まで。 - `cursor` (string, 任意, ≤ 1024 chars) — 同じ query の前のページで受け取った next_cursor。最初のページでは省略します。 #### レスポンス ##### `Response` - `query` (string) — 検索に使ったキーワード。 - `items` (object[]) — 一致した動画。TikTok の関連度順。 - `total` (integer) — このページの動画の数。 - `has_more` (boolean) — TikTok に次のページがあれば true。 - `next_cursor` (string | null) — 同じ query と一緒に cursor として渡す値。最後のページなら null。 - `note` (string | null) — 注意点があるときだけ入ります。たとえば一致する動画がないとき。 - `next` (string) — 最初の動画を収集する fetch コマンド。結果があるときだけ。 ##### `items[]` - `video_id` (string) — TikTok の公開数値 id。 - `url` (string) — 公開動画の URL。そのまま fetch tiktok post に渡せます。 - `username` (string | null) — 投稿者のハンドル。URL に含まれるときだけ。 - `caption` (string | null) — キャプション。 - `posted_at` (timestamp | null) — 投稿日時(UTC)。 - `play_count` (integer | null) — 再生数。 - `like_count` (integer | null) — いいね数。 - `comment_count` (integer | null) — コメント数。 - `share_count` (integer | null) — シェア数。 - `duration_seconds` (integer | null) — 動画の長さ(秒)。 - `cover_url` (string | null) — カバー画像の URL。期限切れになることがあるので早めに使ってください。 #### 例 ```console $ solari fetch tiktok post search query="green tea ceramide" limit=1 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "query": "green tea ceramide", "items": [ { "video_id": "7680375687139642645", "url": "https://www.tiktok.com/@innisfree_official/video/7680375687139642645", "username": "innisfree_official", "caption": "Deeply hydrated skin—NO OFF HOURS. 💚 wherever the day takes MINGYU—his hydration stays SUPERCHARGED ⚡️ Green Tea Ceramide Milk: Lightweight milky toner that won't clog your pores …", "posted_at": "2026-09-02T12:00:00Z", "play_count": 493, "like_count": 37, "comment_count": 2, "share_count": 0, "duration_seconds": 23, "cover_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-alisg-p-0037/oQfAEIgDBRiLAeFsAQeZhIQ9CEfIAgBDpAqbfE~tplv-tiktokx-origin.image?…" } ], "total": 1, "has_more": true, "next_cursor": "eyJjIjoiMSIsInMiOiIyMDI2MDkyOTA2NDUxOEIzRDJGMDdBOUMxRTRCNkQ4RjAyIn0", "note": null, "next": "solari fetch tiktok post url=https://www.tiktok.com/@innisfree_official/video/7680375687139642645" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_tiktok_post_search", "arguments": { "query": "green tea ceramide", "limit": 1 } } ``` #### 注意点 - 結果は TikTok の関連度ランキングなので、ゆるく関連するだけの動画が混ざることがあります。使う前に caption と username を確認してください。 - ヒットは薄い記録として保存され、post_id はありません。ヒットの url で fetch tiktok post を呼ぶと、投稿者と一緒に投稿全体を収集します。 - has_more が true なら、next_cursor を同じ query と一緒に cursor として渡すと次のページを受け取れます。cursor は別の query には使えません。 - 呼び出しごとに TikTok へライブで問い合わせます。数秒かかり、cache はありません。items が空で note があれば、一致する公開動画がありません。 - 日付フィルターはありません。期間で探すには、catalog tiktok content search に since と until を指定します。 #### 関連ツール - [`solari_fetch_tiktok_post`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-post.md?lang=ja) - [`solari_fetch_tiktok_account_search`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-account-search.md?lang=ja) - [`solari_catalog_tiktok_content_search`](https://clip-pub.bzine.co/docs/tools/catalog-tiktok-content-search.md?lang=ja) ### solari fetch threads account > Threads アカウントのプロフィールを 1 件、ライブで読みます。 - **CLI**: `solari fetch threads account` - **MCP ツール**: `solari_fetch_threads_account` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 正確なユーザー名で Threads アカウントのプロフィールを読みます。表示名、自己紹介(bio)、フォロワー数、認証・非公開のフラグ、bio のリンク、プロフィール画像が返ります。SOLARI が初めて見るハンドルはその場で収集し(5〜30 秒)、1 時間以内の再呼び出しは保存済みのコピーを使い回します。refresh=true で新しく収集します。 **どんなときに使うか** — 正確な Threads ハンドルがあり、そのプロフィールが欲しいときに使います。名前しか分からなければ、先に fetch threads account search を実行します。 **返される内容** — プロフィール、収集した時刻、そして投稿を読む fetch コマンドです。 #### パラメータ - `username` (string, 必須, ≤ 64 chars) — Threads のユーザー名。@ はあってもなくても構いません。 - `refresh` (boolean, 任意) — 直近 1 時間のコピーがあっても収集し直します。 #### レスポンス ##### `Response` - `account` (object) — プロフィール。 - `collected_at` (timestamp | null) — このコピーを収集した時刻。 - `fetched_on_demand` (boolean) — この呼び出しがライブで収集したら true。 - `stale` (boolean) — ライブ収集に失敗して古いコピーが返ったら true。collected_at がその古さを示します。 - `note` (string | null) — 注意点があるときだけ入ります。 - `next` (string) — 投稿を読む fetch コマンド。 ##### `account` - `account_id` (uuid) — Threads のアカウント id。Instagram や TikTok の id とは互換しません。 - `username` (string) — ハンドル。小文字で、@ なし。 - `full_name` (string | null) — 表示名。 - `biography` (string | null) — 自己紹介(bio)の文章。 - `follower_count` (integer | null) — 収集時点のフォロワー数。 - `is_verified` (boolean | null) — 認証バッジ。 - `is_private` (boolean | null) — 非公開アカウント。投稿は空で返ります。 - `bio_links` (string[]) — bio に載っているリンク。 - `profile_pic_url` (string | null) — プロフィール画像の URL。最大サイズ。 - `url` (string | null) — 公開プロフィールの URL。 #### 例 ```console $ solari fetch threads account username=zuck ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "account": { "account_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d5e", "username": "zuck", "full_name": "Mark Zuckerberg", "biography": "Mostly superintelligence and MMA takes", "follower_count": 5745085, "is_verified": true, "is_private": false, "bio_links": [], "profile_pic_url": "https://scontent-gmp1-1.cdninstagram.com/v/t51.82787-19/825322135_17989325280103224_1252773933700107438_n.jpg?…", "url": "https://www.threads.com/@zuck" }, "collected_at": "2026-09-28T09:13:55Z", "fetched_on_demand": true, "stale": false, "note": null, "next": "solari fetch threads posts username=zuck" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_threads_account", "arguments": { "username": "zuck" } } ``` #### 注意点 - 名前からハンドルを探すには fetch threads account search を使います。 - 初回の収集は 5〜30 秒かかります(fetched_on_demand=true)。1 時間以内の再呼び出しは保存済みのコピーを返し、refresh=true なら新しく収集します。 - stale=true は、ライブ収集に失敗して古いコピーが返ったという意味です。collected_at がその古さを示します。 - 収集直後のメディア URL は一時的な場合があります。すぐに読んでください。 - Threads プロフィールのないハンドルは、空の結果ではなくエラーです。失敗した呼び出しはクレジットを消費しません。 #### 関連ツール - [`solari_fetch_threads_account_search`](https://clip-pub.bzine.co/docs/tools/fetch-threads-account-search.md?lang=ja) - [`solari_fetch_threads_posts`](https://clip-pub.bzine.co/docs/tools/fetch-threads-posts.md?lang=ja) - [`solari_fetch_threads_post`](https://clip-pub.bzine.co/docs/tools/fetch-threads-post.md?lang=ja) ### solari fetch threads posts > Threads アカウントの最近の投稿をライブで読みます。 - **CLI**: `solari fetch threads posts` - **MCP ツール**: `solari_fetch_threads_posts` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 正確なユーザー名で Threads アカウントの最新のトップレベル投稿を、プロフィールと一緒に読みます。投稿ごとに本文、ハッシュタグ、メンション、リンク、いいね・返信・リポスト・引用・シェアの数、引用した投稿、そして直接ダウンロードできる asset_url 付きの assets が返ります。SOLARI が初めて見るハンドルはその場で収集し(5〜30 秒)、1 時間以内の再呼び出しは保存済みのコピーを使い回します。refresh=true で新しく収集します。 **どんなときに使うか** — 正確な Threads ハンドルがあり、最近何を投稿したか知りたいときに使います。 **返される内容** — プロフィール、新しい順のトップレベル投稿を最大 limit 件、そして最新の投稿を返信付きで開く fetch コマンドです。 #### パラメータ - `username` (string, 必須, ≤ 64 chars) — Threads のユーザー名。@ はあってもなくても構いません。 - `limit` (integer, 任意, 既定値 12, 1–25) — 何件まで。新しい順です。 - `refresh` (boolean, 任意) — 直近 1 時間のコピーがあっても収集し直します。 #### レスポンス ##### `Response` - `account` (object) — プロフィール。 - `posts` (object[]) — トップレベルの投稿。新しい順。 - `total` (integer) — 返った投稿の数。 - `collected_at` (timestamp | null) — このコピーを収集した時刻。 - `fetched_on_demand` (boolean) — この呼び出しがライブで収集したら true。 - `stale` (boolean) — ライブ収集に失敗して古いコピーが返ったら true。collected_at がその古さを示します。 - `note` (string | null) — 注意点があるときだけ入ります。たとえば非公開アカウント。 - `next` (string) — 最新の投稿を返信付きで開く fetch コマンド。投稿があるときだけ。 ##### `account` - `account_id` (uuid) — Threads のアカウント id。Instagram や TikTok の id とは互換しません。 - `username` (string) — ハンドル。小文字で、@ なし。 - `full_name` (string | null) — 表示名。 - `biography` (string | null) — 自己紹介(bio)の文章。 - `follower_count` (integer | null) — 収集時点のフォロワー数。 - `is_verified` (boolean | null) — 認証バッジ。 - `is_private` (boolean | null) — 非公開アカウント。投稿は空で返ります。 - `bio_links` (string[]) — bio に載っているリンク。 - `profile_pic_url` (string | null) — プロフィール画像の URL。最大サイズ。 - `url` (string | null) — 公開プロフィールの URL。 ##### `posts[]` - `post_id` (uuid) — Threads の投稿 id。Instagram や TikTok の id とは互換しません。 - `code` (string | null) — パーマリンクのコード。URL の /post/ の後ろの部分。 - `url` (string | null) — 公開パーマリンク。 - `account_id` (uuid | null) — 投稿者の account_id。 - `username` (string | null) — 投稿者のハンドル。 - `text` (string | null) — 投稿の本文。 - `posted_at` (timestamp | null) — 投稿日時(UTC)。 - `like_count` (integer | null) — いいね数。 - `reply_count` (integer | null) — Threads 上の返信数。返った返信より多いことがあります。 - `repost_count` (integer | null) — リポスト数。 - `quote_count` (integer | null) — 引用数。 - `reshare_count` (integer | null) — シェア数。 - `counts_hidden` (boolean | null) — 投稿者がエンゲージメント数を隠していたら true。 - `hashtags` (string[]) — ハッシュタグ。# なし。 - `mentions` (string[]) — メンションされたハンドル。@ なし。 - `link_urls` (string[]) — 投稿に付いたリンク。 - `is_reply` (boolean | null) — 別の投稿への返信なら true。 - `reply_to_username` (string | null) — この投稿が返信した相手のハンドル。トップレベルの投稿なら null。 - `is_paid_partnership` (boolean | null) — 有料パートナーシップのラベル。 - `topic` (string | null) — Threads が付けたトピックタグ。あるときだけ。 - `language` (string | null) — 本文の言語コード。 - `quoted_post` (object | null) — 引用した投稿。username、text、like_count、posted_at、url があります。引用投稿でなければ null。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari fetch threads posts username=zuck limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "account": { "account_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d5e", "username": "zuck", "full_name": "Mark Zuckerberg", "biography": "Mostly superintelligence and MMA takes", "follower_count": 5745085, "is_verified": true, "is_private": false, "bio_links": [], "profile_pic_url": "https://scontent-gmp1-1.cdninstagram.com/v/t51.82787-19/825322135_17989325280103224_1252773933700107438_n.jpg?…", "url": "https://www.threads.com/@zuck" }, "posts": [ { "post_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d60", "code": "Ddt7cL5EfUG", "url": "https://www.threads.com/@zuck/post/Ddt7cL5EfUG", "account_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d5e", "username": "zuck", "text": "Agrippa said it's time to get back to work 😎", "posted_at": "2026-09-25T16:50:21.000Z", "like_count": 4964, "reply_count": 477, "repost_count": 254, "quote_count": 45, "reshare_count": 136, "counts_hidden": false, "hashtags": [], "mentions": [], "link_urls": [], "is_reply": false, "reply_to_username": null, "is_paid_partnership": false, "topic": null, "language": null, "quoted_post": null, "assets": [ { "asset_url": "https://smr-images.bzine.co/threads/…", "media_type": "image", "video_duration": null }, { "asset_url": "https://smr-images.bzine.co/threads/…", "media_type": "image", "video_duration": null } ] }, { "post_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d61", "code": "Ddpj4YZkd3P", "url": "https://www.threads.com/@zuck/post/Ddpj4YZkd3P", "account_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d5e", "username": "zuck", "text": "Here's everything I announced at Meta Connect today 👇", "posted_at": "2026-09-24T00:07:31.000Z", "like_count": 2680, "reply_count": 612, "repost_count": 164, "quote_count": 34, "reshare_count": 138, "counts_hidden": false, "hashtags": [], "mentions": [], "link_urls": [], "is_reply": false, "reply_to_username": null, "is_paid_partnership": false, "topic": null, "language": null, "quoted_post": null, "assets": [] } ], "total": 2, "collected_at": "2026-09-28T09:13:55Z", "fetched_on_demand": true, "stale": false, "note": null, "next": "solari fetch threads post url=https://www.threads.com/@zuck/post/Ddt7cL5EfUG" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_threads_posts", "arguments": { "username": "zuck", "limit": 2 } } ``` #### 注意点 - トップレベルの投稿だけを新しい順に並べます。アカウント自身の返信は含みません。fetch threads post が投稿 1 件を返信付きで読みます。 - 初回の収集は 5〜30 秒かかります(fetched_on_demand=true)。1 時間以内の再呼び出しは保存済みのコピーを返し、refresh=true なら新しく収集します。 - stale=true は、ライブ収集に失敗して古いコピーが返ったという意味です。collected_at がその古さを示します。 - 非公開アカウントはプロフィールだけが返り、posts は空です。収集直後のメディア URL は一時的な場合があるので、すぐに読んでください。 - Threads プロフィールのないハンドルは、空の結果ではなくエラーです。失敗した呼び出しはクレジットを消費しません。 #### 関連ツール - [`solari_fetch_threads_account`](https://clip-pub.bzine.co/docs/tools/fetch-threads-account.md?lang=ja) - [`solari_fetch_threads_account_search`](https://clip-pub.bzine.co/docs/tools/fetch-threads-account-search.md?lang=ja) - [`solari_fetch_threads_post`](https://clip-pub.bzine.co/docs/tools/fetch-threads-post.md?lang=ja) ### solari fetch threads post > Threads の投稿 1 件を最初の返信と一緒にライブで読みます。 - **CLI**: `solari fetch threads post` - **MCP ツール**: `solari_fetch_threads_post` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 公開 URL またはパーマリンクのコードで Threads の投稿を 1 件、投稿者と最初のひとまとまりの直接返信(いいねの多い順)と一緒に読みます。SOLARI が初めて見る投稿はその場で収集し(5〜30 秒)、1 時間以内の再呼び出しは保存済みのコピーを使い回します。refresh=true で新しく収集します。 **どんなときに使うか** — Threads の投稿リンクやコードを渡され、その投稿、投稿者、あるいは人々の返信を知りたいときに使います。 **返される内容** — 投稿、いいねの多い順の直接返信を最大 replies_limit 件、そして投稿者のプロフィールを読む fetch コマンドです。 #### パラメータ - `url` (string, 任意, ≤ 512 chars) — threads.com または threads.net の公開投稿 URL。code の代わりに渡します。 - `code` (string, 任意, pattern ^[A-Za-z0-9_-]{5,40}$) — パーマリンクのコード。URL の /post/ の後ろの部分。url の代わりに渡します。 - `replies_limit` (integer, 任意, 既定値 20, 0–50) — 直接返信を何件まで。いいねの多い順で、0 なら省きます。 - `refresh` (boolean, 任意) — 直近 1 時間のコピーがあっても収集し直します。 #### レスポンス ##### `Response` - `item` (object) — 投稿。投稿者のハンドル付き。 - `replies` (object[]) — 直接返信。いいねの多い順で、最初のひとまとまりだけ。 - `collected_at` (timestamp | null) — このコピーを収集した時刻。 - `fetched_on_demand` (boolean) — この呼び出しがライブで収集したら true。 - `stale` (boolean) — ライブ収集に失敗して古いコピーが返ったら true。collected_at がその古さを示します。 - `note` (string | null) — 注意点があるときだけ入ります。 - `next` (string) — 投稿者のプロフィールを読む fetch コマンド。 ##### `item · replies[]` - `post_id` (uuid) — Threads の投稿 id。Instagram や TikTok の id とは互換しません。 - `code` (string | null) — パーマリンクのコード。URL の /post/ の後ろの部分。 - `url` (string | null) — 公開パーマリンク。 - `account_id` (uuid | null) — 投稿者の account_id。 - `username` (string | null) — 投稿者のハンドル。 - `text` (string | null) — 投稿の本文。 - `posted_at` (timestamp | null) — 投稿日時(UTC)。 - `like_count` (integer | null) — いいね数。 - `reply_count` (integer | null) — Threads 上の返信数。返った返信より多いことがあります。 - `repost_count` (integer | null) — リポスト数。 - `quote_count` (integer | null) — 引用数。 - `reshare_count` (integer | null) — シェア数。 - `counts_hidden` (boolean | null) — 投稿者がエンゲージメント数を隠していたら true。 - `hashtags` (string[]) — ハッシュタグ。# なし。 - `mentions` (string[]) — メンションされたハンドル。@ なし。 - `link_urls` (string[]) — 投稿に付いたリンク。 - `is_reply` (boolean | null) — 別の投稿への返信なら true。 - `reply_to_username` (string | null) — この投稿が返信した相手のハンドル。トップレベルの投稿なら null。 - `is_paid_partnership` (boolean | null) — 有料パートナーシップのラベル。 - `topic` (string | null) — Threads が付けたトピックタグ。あるときだけ。 - `language` (string | null) — 本文の言語コード。 - `quoted_post` (object | null) — 引用した投稿。username、text、like_count、posted_at、url があります。引用投稿でなければ null。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari fetch threads post url=https://www.threads.com/@zuck/post/Ddt7cL5EfUG replies_limit=2 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "item": { "post_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d66", "code": "DdU1-6okapE", "url": "https://www.threads.com/@zuck/post/DdU1-6okapE", "account_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d5e", "username": "zuck", "text": "Last month I wrote about how we can build a positive and safe future for everyone: meta.com/thefutureisforeveryone \n\nEvery lab has the responsibility and incentive to move at the pace required to train its models safely,…", "posted_at": "2026-09-15T23:01:39.000Z", "like_count": 1639, "reply_count": 412, "repost_count": 136, "quote_count": 30, "reshare_count": 112, "counts_hidden": false, "hashtags": [], "mentions": [], "link_urls": [], "is_reply": false, "reply_to_username": null, "is_paid_partnership": false, "topic": null, "language": null, "quoted_post": null, "assets": [] }, "replies": [ { "post_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d62", "code": "DdU1-7_kb4B", "url": "https://www.threads.com/@zuck/post/DdU1-7_kb4B", "account_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d5e", "username": "zuck", "text": "The reality is:\n\n- People won't want to use agents that are misaligned with them and that don't do what they ask, so labs have a strong natural incentive to make their models more aligned.\n\nThere is a lot of debate about…", "posted_at": "2026-09-15T23:01:39.000Z", "like_count": 663, "reply_count": 77, "repost_count": 27, "quote_count": 4, "reshare_count": 10, "counts_hidden": false, "hashtags": [], "mentions": [], "link_urls": [], "is_reply": true, "reply_to_username": "zuck", "is_paid_partnership": false, "topic": null, "language": null, "quoted_post": null, "assets": [] }, { "post_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d63", "code": "DdU1-7tEf-q", "url": "https://www.threads.com/@zuck/post/DdU1-7tEf-q", "account_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d5e", "username": "zuck", "text": "- Labs face significant liability if their models cause harm, so they have a strong incentive to prevent this as well. \n\nMeta delayed shipping Muse for several months to focus on safety and security. We didn't call for e…", "posted_at": "2026-09-15T23:01:39.000Z", "like_count": 230, "reply_count": 11, "repost_count": 3, "quote_count": 0, "reshare_count": 2, "counts_hidden": false, "hashtags": [], "mentions": [], "link_urls": [], "is_reply": true, "reply_to_username": "zuck", "is_paid_partnership": false, "topic": null, "language": null, "quoted_post": null, "assets": [] } ], "collected_at": "2026-09-28T09:13:55Z", "fetched_on_demand": true, "stale": false, "note": null, "next": "solari fetch threads account username=zuck" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_threads_post", "arguments": { "url": "https://www.threads.com/@zuck/post/Ddt7cL5EfUG", "replies_limit": 2 } } ``` #### 注意点 - url か code のどちらか一方だけを渡します。threads.com と threads.net の URL はどちらも使えます。 - 返信は最初のひとまとまりだけなので、投稿の reply_count が返った返信の数より大きいことがあります。replies_limit=0 なら返信を省きます。 - 初回の収集は 5〜30 秒かかります(fetched_on_demand=true)。1 時間以内の再呼び出しは保存済みのコピーを返し、refresh=true なら新しく収集します。 - stale=true は、ライブ収集に失敗して古いコピーが返ったという意味です。collected_at がその古さを示します。 - 収集直後のメディア URL は一時的な場合があります。すぐに読んでください。 - 公開投稿のない参照は、空の結果ではなくエラーです。失敗した呼び出しはクレジットを消費しません。 #### 関連ツール - [`solari_fetch_threads_post_search`](https://clip-pub.bzine.co/docs/tools/fetch-threads-post-search.md?lang=ja) - [`solari_fetch_threads_account`](https://clip-pub.bzine.co/docs/tools/fetch-threads-account.md?lang=ja) - [`solari_fetch_threads_posts`](https://clip-pub.bzine.co/docs/tools/fetch-threads-posts.md?lang=ja) ### solari fetch threads account search > Threads アカウントを名前でライブ検索します。 - **CLI**: `solari fetch threads account search` - **MCP ツール**: `solari_fetch_threads_account_search` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 名前やハンドルの一部で Threads 自体にアカウントを問い合わせます。ヒットはハンドル、表示名、認証バッジ、プロフィール画像、URL だけの薄い一覧で、Threads の順序どおりです。1 件選んだら fetch threads account でプロフィール全体を読みます。 **どんなときに使うか** — 名前やハンドルの一部は分かるが、正確な Threads ハンドルが分からないときに使います。 **返される内容** — Threads の順序で最大 limit 件の候補と、最初の候補のプロフィールを読む fetch コマンドです。 #### パラメータ - `query` (string, 必須, ≤ 100 chars) — 名前またはハンドルの一部。@ はあってもなくても構いません。 - `limit` (integer, 任意, 既定値 10, 1–20) — 最大何件まで。 #### レスポンス ##### `Response` - `query` (string) — 検索に使った文字列。@ を除いた値。 - `items` (object[]) — 一致したアカウント。Threads の順序。 - `total` (integer) — 返った候補の数。 - `next` (string) — 最初の候補のプロフィールを読む fetch コマンド。候補があるときだけ。 ##### `items[]` - `username` (string) — ハンドル。小文字で、@ なし。 - `full_name` (string | null) — 表示名。 - `is_verified` (boolean | null) — 認証バッジ。 - `profile_pic_url` (string | null) — プロフィール画像の URL。 - `url` (string | null) — 公開プロフィールの URL。 #### 例 ```console $ solari fetch threads account search query=nike limit=1 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "query": "nike", "items": [ { "username": "nike", "full_name": "Nike", "is_verified": true, "profile_pic_url": "https://scontent-gmp1-1.cdninstagram.com/v/t51.2885-19/467733497_2299328197118830_1129133478722126916_n.jpg?…", "url": "https://www.threads.com/@nike" } ], "total": 1, "next": "solari fetch threads account username=nike" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_threads_account_search", "arguments": { "query": "nike", "limit": 1 } } ``` #### 注意点 - 順序とランキングは Threads 自身のものなので、公式アカウントが常に先頭とは限りません。選ぶ前に is_verified と full_name を確認してください。 - 何も保存せず、ヒットに account_id はありません。選んだ username で fetch threads account を呼ぶとフォロワー数、bio、bio のリンクを、fetch threads posts を呼ぶと投稿を読めます。 - 呼び出しごとに Threads へライブで問い合わせます。1〜2 秒かかり、cache はありません。items が空なら Threads に一致するアカウントがありません。 #### 関連ツール - [`solari_fetch_threads_account`](https://clip-pub.bzine.co/docs/tools/fetch-threads-account.md?lang=ja) - [`solari_fetch_threads_posts`](https://clip-pub.bzine.co/docs/tools/fetch-threads-posts.md?lang=ja) - [`solari_fetch_threads_post_search`](https://clip-pub.bzine.co/docs/tools/fetch-threads-post-search.md?lang=ja) ### solari fetch threads post search > キーワードに対する Threads のトップ投稿をライブ検索します。 - **CLI**: `solari fetch threads post search` - **MCP ツール**: `solari_fetch_threads_post_search` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: 1 キーワードで Threads 自体の投稿を検索し、Threads のトップ結果を受け取ります。1 ページ(20 件前後)を Threads の関連度順で返し、投稿ごとに全フィールドと assets が付きます。一致した投稿は収集して保存されるので、fetch threads post でどれでも返信付きで開けます。 **どんなときに使うか** — あるテーマ、ブランド、フレーズについて人々が Threads に何を投稿しているか知りたいが、起点となるハンドルがないときに使います。 **返される内容** — Threads の結果 1 ページから最大 limit 件の投稿を関連度順で、そして最初の投稿を返信付きで開く fetch コマンドです。 #### パラメータ - `query` (string, 必須, ≤ 100 chars) — 検索するキーワードやフレーズ。 - `limit` (integer, 任意, 既定値 20, 1–25) — 結果 1 ページから最大何件まで。 #### レスポンス ##### `Response` - `query` (string) — 検索に使ったキーワード。 - `items` (object[]) — 一致した投稿。Threads の関連度順。 - `total` (integer) — 返った投稿の数。 - `fetched_on_demand` (boolean) — 常に true。検索は毎回ライブで収集します。 - `note` (string | null) — 注意点があるときだけ入ります。たとえば一致する投稿がないとき。 - `next` (string) — 最初の投稿を返信付きで開く fetch コマンド。結果があるときだけ。 ##### `items[]` - `post_id` (uuid) — Threads の投稿 id。Instagram や TikTok の id とは互換しません。 - `code` (string | null) — パーマリンクのコード。URL の /post/ の後ろの部分。 - `url` (string | null) — 公開パーマリンク。 - `account_id` (uuid | null) — 投稿者の account_id。 - `username` (string | null) — 投稿者のハンドル。 - `text` (string | null) — 投稿の本文。 - `posted_at` (timestamp | null) — 投稿日時(UTC)。 - `like_count` (integer | null) — いいね数。 - `reply_count` (integer | null) — Threads 上の返信数。返った返信より多いことがあります。 - `repost_count` (integer | null) — リポスト数。 - `quote_count` (integer | null) — 引用数。 - `reshare_count` (integer | null) — シェア数。 - `counts_hidden` (boolean | null) — 投稿者がエンゲージメント数を隠していたら true。 - `hashtags` (string[]) — ハッシュタグ。# なし。 - `mentions` (string[]) — メンションされたハンドル。@ なし。 - `link_urls` (string[]) — 投稿に付いたリンク。 - `is_reply` (boolean | null) — 別の投稿への返信なら true。 - `reply_to_username` (string | null) — この投稿が返信した相手のハンドル。トップレベルの投稿なら null。 - `is_paid_partnership` (boolean | null) — 有料パートナーシップのラベル。 - `topic` (string | null) — Threads が付けたトピックタグ。あるときだけ。 - `language` (string | null) — 本文の言語コード。 - `quoted_post` (object | null) — 引用した投稿。username、text、like_count、posted_at、url があります。引用投稿でなければ null。 - `assets` (object[]) — 投稿のメディアファイルです。順番どおりに並び、それぞれ asset_url、media_type、video_duration があります - `assets[].asset_url` (string | null) — 元のサイズの画像や動画を直接ダウンロードできるリンクです。保存されたファイルがない場合は null です #### 例 ```console $ solari fetch threads post search query="Meta AI" limit=1 ``` _読みやすさのため、長い文字列と繰り返しの配列要素を省略しています。_ ```json { "query": "Meta AI", "items": [ { "post_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d64", "code": "Dd008mwipTJ", "url": "https://www.threads.com/@meta.ai/post/Dd008mwipTJ", "account_id": "019f3a5c-2b7e-7c41-9d0e-5a1f2c3b4d7b", "username": "meta.ai", "text": "Từng tháng âm:\n\n1. Tháng Giêng - Cung Phu Thê (Sửu): Có Hồng Loan, Thanh Long. Tháng khởi duyên, dễ có người mai mối, gặp gỡ nơi đông người. Tài chính hao nhẹ do Đầu Quân.\n\n2. Tháng 2 - Cung Huynh Đệ (Tý): Liêm Trinh Thi…", "posted_at": "2026-09-28T09:08:17.000Z", "like_count": 0, "reply_count": 2, "repost_count": 0, "quote_count": 0, "reshare_count": 0, "counts_hidden": false, "hashtags": [], "mentions": [], "link_urls": [], "is_reply": true, "reply_to_username": "meta.ai", "is_paid_partnership": false, "topic": null, "language": null, "quoted_post": null, "assets": [] } ], "total": 1, "fetched_on_demand": true, "note": null, "next": "solari fetch threads post url=https://www.threads.com/@meta.ai/post/Dd008mwipTJ" } ``` #### MCP で呼び出す場合 ```json { "name": "solari_fetch_threads_post_search", "arguments": { "query": "Meta AI", "limit": 1 } } ``` #### 注意点 - Threads のトップタブだけが使えます。1 ページのみで、recent タブも次のページもありません。同じキーワードで再度呼ぶと同じページが返ります。 - 結果は Threads の関連度ランキングなので、ゆるく関連するだけの投稿や返信が混ざることがあります。使う前に text と username を確認してください。 - 一致した投稿は保存されます。fetch threads post でどれでも返信付きで開き、fetch threads account で投稿者を読めます。 - 呼び出しごとに Threads へライブで問い合わせます。数秒かかり、cache はありません。items が空で note があれば、一致する公開投稿がありません。 #### 関連ツール - [`solari_fetch_threads_post`](https://clip-pub.bzine.co/docs/tools/fetch-threads-post.md?lang=ja) - [`solari_fetch_threads_account`](https://clip-pub.bzine.co/docs/tools/fetch-threads-account.md?lang=ja) - [`solari_fetch_threads_account_search`](https://clip-pub.bzine.co/docs/tools/fetch-threads-account-search.md?lang=ja) ### solari instagram download content > Instagram のコンテンツをダウンロード。 - **CLI**: `solari instagram download content` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: コンテンツごとに 1 Instagram のコンテンツをダウンロードします。複数のコンテンツを同時に取得できます。最高画質の動画・画像をダウンロードします。 #### パラメータ - `slugs` (string[], 任意) — ショートコードまたは投稿 URL。カンマ区切り。 - `urls` (string[], 任意) — 投稿 URL。カンマ区切り。 - `dir` (string, 任意) — 保存先フォルダ。既定は現在のフォルダです。 - `output` (string, 任意) — 投稿 1 件を保存するときのファイルパス。 - `parallel` (integer, 任意, 既定値 4, 1–16) — 同時にダウンロードする数。 - `overwrite` (boolean, 任意, 既定値 true) — false にすると既存のファイルを残します。 #### 例 ```console $ solari instagram download content slugs=DcyMAmUh6FZ,DdJ7IRyE6Pu dir=~/Downloads ``` #### 関連ツール - [`solari_fetch_instagram_post_assets`](https://clip-pub.bzine.co/docs/tools/fetch-instagram-post-assets.md?lang=ja) - [`solari tiktok download content`](https://clip-pub.bzine.co/docs/tools/tiktok-download-content.md?lang=ja) ### solari tiktok download content > TikTok のコンテンツをダウンロード。 - **CLI**: `solari tiktok download content` - **アクセス権**: `solari:read` - **対象プラン**: 無料トライアル · Plus · Pro · Enterprise - **クレジット**: コンテンツごとに 1 TikTok のコンテンツをダウンロードします。複数のコンテンツを同時に取得できます。最高画質の動画・画像をダウンロードします。 #### パラメータ - `urls` (string[], 任意) — 投稿 URL。カンマ区切り。短縮リンクも使えます。 - `video_ids` (string[], 任意) — 数字の video id。カンマ区切り。すでにカタログにある投稿のみ対応します。 - `dir` (string, 任意) — 保存先フォルダ。既定は現在のフォルダです。 - `output` (string, 任意) — 投稿 1 件を保存するときのファイルパス。 - `parallel` (integer, 任意, 既定値 4, 1–16) — 同時にダウンロードする数。 - `overwrite` (boolean, 任意, 既定値 true) — false にすると既存のファイルを残します。 #### 例 ```console $ solari tiktok download content urls=https://www.tiktok.com/@innisfree_official/video/7680375687139642645 dir=~/Downloads ``` #### 関連ツール - [`solari_fetch_tiktok_post_assets`](https://clip-pub.bzine.co/docs/tools/fetch-tiktok-post-assets.md?lang=ja) - [`solari instagram download content`](https://clip-pub.bzine.co/docs/tools/instagram-download-content.md?lang=ja)