analyzing-competitor-tiktok-content-strategy
analyzing-competitor-tiktok-content-strategy について
競合のTikTokプロフィール、最近の動画、エンゲージメント、投稿頻度、ハッシュタグを分析するスキルです。スクレイピングしたデータを基に、コンテンツ戦略を整理します。
主な機能
- 01TikTokプロフィール統計の取得
- 02競合の最近の動画を収集
- 03再生数による動画の順位付け
- 04投稿頻度の分析
- 05ハッシュタグとコンテンツ傾向の整理
活用シーン
- 01競合の成果の高い動画を確認
- 02複数アカウントの投稿頻度を比較
- 03よく使われるハッシュタグを特定
- 04コンテンツ形式と冒頭のフックを分析
MCP 対応
Apify MCPサーバーを利用して、apidojo~tiktok-profile-scraperおよびapidojo~tiktok-scraper Actorを実行できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ apidojo-io/ apidojo-skills --skill analyzing-competitor-tiktok-content-strategyインストール後、Claude Code で/analyzing-competitor-tiktok-content-strategyを入力して読み込まれたか確認します。
詳細
競合のTikTokコンテンツ戦略を分析する
競合のTikTokプロフィールをスクレイピングし、最近の動画、エンゲージメントデータ、投稿パターン、ハッシュタグの使用状況を取得します。競合の成果につながっている要素をリバースエンジニアリングし、参考にしたり、差別化に役立てたりできます。
前提条件
APIFY_TOKEN環境変数が設定されていること- 任意:Apify MCP サーバーがインストールされていること
入力
| パラメーター | 型 | 必須 | デフォルト | 備考 |
|---|---|---|---|---|
startUrls | 配列 | 任意 | [] | TikTok の URL — ユーザープロフィール、ハッシュタグ、音楽ページ、検索、位置情報 |
keywords | 配列 | 任意 | [] | 投稿を見つけるための検索キーワード/語句 |
sortType | 文字列 | 任意 | RELEVANCE | キーワード検索結果の並べ替え順:RELEVANCE、MOST_LIKED、DATE_POSTED |
location | 文字列 | 任意 | — | 地域で絞り込むための ISO 3166-1 alpha-2 国コード(例:US、GB) |
maxItems | 数値 | 任意 | 無制限 | 実行全体で返す投稿の最大数 |
includeSearchKeywords | ブール値 | 任意 | false | 一致した検索キーワードのフィールドを各投稿に追加します |
customMapFunction | 文字列 | 任意 | — | 各出力オブジェクトを変換する JavaScript 関数 |
ワークフロー
Progress:
- [ ] Step 1: Get competitor TikTok handle(s)
- [ ] Step 2: Pull profile stats with tiktok-profile-scraper
- [ ] Step 3: Pull recent videos with tiktok-scraper
- [ ] Step 4: Identify top-performing content patterns
- [ ] Step 5: Deliver content strategy analysis
ステップ 1:パラメーターを確認する
ユーザーに以下を尋ねます:
- 競合の TikTok ハンドル名 — 最大 5 アカウント(@ なし)
- 分析する最近の動画の数(デフォルト:50 — 直近 2〜3 か月分のコンテンツ)
- 分析の焦点 — 人気コンテンツ、投稿頻度、ハッシュタグ戦略、またはそのすべて
ステップ 2:プロフィール統計を取得する
推奨 — run_actor.js(待機、出力、ファイル保存を自動的に処理します):
# Quick answer (prints table to chat)
node scripts/run_actor.js \
--actor "apidojo~tiktok-scraper" \
--input '{"param": "value"}'
# Save as CSV
node scripts/run_actor.js \
--actor "apidojo~tiktok-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# Save as JSON
node scripts/run_actor.js \
--actor "apidojo~tiktok-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
環境または
.envファイルでAPIFY_TOKENを設定する必要があります。
Apify MCP が利用可能な場合:
Tool: apify:run-actor
Actor: "apidojo~tiktok-profile-scraper"
Input:
{
"usernames": ["[handle1]", "[handle2]"]
}
REST API による代替手段:
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~tiktok-profile-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"usernames": ["[handle1]", "[handle2]"]}'
fans、heart(いいねの合計数)、video の数、following、プロフィール文を抽出します。
ステップ 3:最近の動画を取得する
Apify MCP が利用可能な場合:
Tool: apify:run-actor
Actor: "apidojo~tiktok-scraper"
Input:
{
"profiles": ["https://www.tiktok.com/@[handle1]", "https://www.tiktok.com/@[handle2]"]
}
REST API による代替手段:
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~tiktok-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"profiles": ["https://www.tiktok.com/@[handle1]"]
}'
ステップ 4:コンテンツのパターンを分析する
動画データセットから、以下を抽出します:
再生回数が多い動画トップ 10:
- タイトル/キャプション、再生回数、いいね数、コメント数、シェア数、日付、ハッシュタグ
投稿頻度:
dates = [video.createTimeISO for each video]
days_covered = max(dates) - min(dates)
posting_rate = total_videos / days_covered (posts per day)
ハッシュタグ分析: 動画全体からハッシュタグを抽出します。使用頻度を数えます。トップ 10 が、競合の中核的なハッシュタグ戦略です。
コンテンツ形式のパターン: キャプションをもとに、動画を以下のカテゴリに分類します:
- 教育/チュートリアル(「how to」「tips」「learn」、「5 ways」のような数字を含む)
- エンターテインメント/ユーモア(リアクション、トレンド、ダンス)
- プロモーション(製品への言及、CTA、「link in bio」)
- 舞台裏(BTS、1日の様子、創業者のストーリー)
- UGC/返信(コメントへの返信形式)
人気動画のフックのパターン: 人気動画トップ 10 のキャプションの最初の行を確認します。共通点は何でしょうか?
ステップ 5:分析結果を整える
出力形式
# TikTok Content Strategy Analysis: @[COMPETITOR]
Videos analyzed: [N] | Period: [start]–[end] | Date: [DATE]
## Account Overview
Followers: [N] | Total likes: [N] | Videos posted: [N] | Avg likes per video: [N]
Overall engagement rate: [X.X%]
## Posting Pattern
- Frequency: [X] videos per week
- Best-performing days: [day], [day] (based on publish date of top videos)
- Average video length: [X] seconds (if available)
## Top 5 Videos (by Views)
| # | Caption Excerpt | Views | Likes | Comments | Hashtags | Date |
|---|----------------|-------|-------|----------|----------|------|
| 1 | "[caption]" | [N] | [N] | [N] | [tags] | [date] |
## Content Mix
| Format | % of Videos | Avg Views |
|--------|-------------|-----------|
| Educational | [X%] | [N] |
| Entertainment | [X%] | [N] |
| Promotional | [X%] | [N] |
| BTS/Story | [X%] | [N] |
## Top Hashtags Used
1. #[tag] — used in [N] of [total] videos
2. #[tag] — [N] videos
3. #[tag] — [N] videos
## Hook Patterns in Top Content
- Top performing hooks start with: [pattern — e.g., questions, numbers, bold claims]
- Example: "[first line of top video]"
## What's Working for Them
1. [Insight 1 — specific, actionable]
2. [Insight 2]
3. [Insight 3]
## Gap / Differentiation Opportunity
[What they're NOT doing that could be a strategic opening]
トラブルシューティング
プロフィールスクレイパーが動画を返さない: アカウントの投稿が少ないか、休止状態になっている可能性があります。ハンドル名を確認してください。 人気動画がすべてかなり古い: アカウントの活動が鈍化している可能性があります。分析にその旨を記載してください。 結果にハッシュタグがない: キャプションによってはハッシュタグを使っていません。その場合は、トピックを示す手がかりをキャプションのテキストから分析してください。