analyzing-competitor-instagram-content-strategy
analyzing-competitor-instagram-content-strategy について
競合の最近の投稿からInstagramのコンテンツ戦略を分析するマーケティング向けスキルです。形式やテーマを分類し、エンゲージメントと投稿パターンをまとめます。
主な機能
- 01競合の投稿をスクレイピング
- 02コンテンツの種類と形式を分類
- 03種類別のエンゲージメントを比較
- 04投稿頻度と時間帯を集計
- 05戦略レポートを作成
活用シーン
- 01競合のコンテンツ構成を確認
- 02反応の高い投稿形式を特定
- 03投稿頻度や時間帯を比較
MCP 対応
Apify MCP サーバー経由でInstagramスクレイパーを実行できます。REST APIと補助スクリプトも記載されています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ apidojo-io/ apidojo-skills --skill analyzing-competitor-instagram-content-strategyインストール後、Claude Code で/analyzing-competitor-instagram-content-strategyを入力して読み込まれたか確認します。
詳細
競合のInstagramコンテンツ戦略を分析する
競合の直近50件以上の投稿を分析し、Instagramのコンテンツ戦略をリバースエンジニアリングします。高いエンゲージメントにつながるコンテンツ形式、テーマ、投稿パターンを特定します。
前提条件
APIFY_TOKEN環境変数が設定されていること- 任意:Apify MCP サーバーがインストールされていること
入力
| パラメーター | 型 | 必須 | デフォルト | 備考 |
|---|---|---|---|---|
startUrls | 配列 | ✅ | [] | InstagramのURL — プロフィール、ハッシュタグ、位置情報、オーディオページ、リール |
until | 文字列 | 任意 | — | この日付まで投稿をスクレイピングします(YYYY-MM-DD) |
maxItems | 数値 | 任意 | 無制限 | 返す投稿の最大数 |
customMapFunction | 文字列 | 任意 | — | 各出力オブジェクトを変換するJavaScript関数 |
ワークフロー
Progress:
- [ ] Step 1: Scrape competitor's recent posts
- [ ] Step 2: Classify content types
- [ ] Step 3: Calculate engagement metrics per content type
- [ ] Step 4: Analyze posting patterns
- [ ] Step 5: (Optional) Compare to your account
- [ ] Step 6: Deliver strategy report
ステップ 1:競合のプロフィールをスクレイピングする
推奨 — run_actor.js(待機、出力、ファイル保存を自動で処理します):
# Quick answer (prints table to chat)
node scripts/run_actor.js \
--actor "apidojo~instagram-scraper" \
--input '{"param": "value"}'
# Save as CSV
node scripts/run_actor.js \
--actor "apidojo~instagram-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# Save as JSON
node scripts/run_actor.js \
--actor "apidojo~instagram-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
APIFY_TOKENは環境変数または.envファイルに設定する必要があります。
Apify MCP を利用できる場合:
Tool: apify:run-actor
Actor: "apidojo~instagram-scraper"
Input:
{
"usernames": ["[COMPETITOR_HANDLE]"],
"maxItems": 50
}
REST API の代替手段:
curl -X POST "https://api.apify.com/v2/acts/apidojo~instagram-scraper/runs?token=$APIFY_TOKEN" -H "Content-Type: application/json" -d '{"usernames": ["competitor_handle"], "maxItems": 50}'
ステップ 2:コンテンツを分類する
各投稿を分類します:
content_type:
PRODUCT = post primarily shows product
LIFESTYLE = product in context / aspirational
EDUCATIONAL = tips, how-to, facts (carousel with text)
SOCIAL_PROOF = testimonial, user tag, press feature
ENTERTAINMENT = meme, trending audio, humor
PROMOTIONAL = sale, discount, CTA-heavy
BEHIND_SCENES = team, office, process
形式:IMAGE | VIDEO | CAROUSEL
ステップ 3:指標を計算する
engagement_rate = (likes + comments) / follower_count * 100
per_type_avg_engagement = avg(engagement_rate for all posts of that type)
content_type_share = count(posts of type) / total_posts * 100
最もパフォーマンスの高い投稿:(likes + comments * 3) が最大の投稿 — コメントはアクティブなシグナルとして重みを高くします。
投稿頻度:
posts_per_week = total_posts / (date_range_days / 7)
best_day = day_of_week with highest avg engagement
best_hour = hour_of_day with highest avg engagement (use post `timestamp`)
ステップ 4:例外的なケース
- 競合の投稿が非常に少ない(20件未満):取得できたデータを報告し、サンプル数が少ないことを注記します。期間を180日間に延長します
- エンゲージメント率が1%を大きく下回る:ボットのフォロワーや非アクティブなオーディエンスがいる可能性があります。「オーディエンス品質に関する懸念」として注記します
- すべての投稿が商品またはプロモーション関連:この競合はプロモーションコンテンツに偏っています。教育的、または楽しませるコンテンツを作る機会があります
- カルーセルが単一画像として表示される:スクレイパーによっては1枚目の画像のみを返します。正確にコンテンツタイプを集計できるよう、
type = CAROUSELの場合は注記します
出力形式
# Competitor Instagram Strategy: @[COMPETITOR_HANDLE]
Posts analyzed: [N] | Followers: [N] | Overall Eng Rate: [X%] | Date: [DATE]
## Content Mix
| Type | % of Posts | Avg Eng Rate | Best Post Example |
|------|-----------|-------------|------------------|
| Product | [X%] | [X%] | [post excerpt] |
| Lifestyle | [X%] | [X%] | |
| Educational | [X%] | [X%] | |
## Format Distribution
Images: [X%] | Carousels: [X%] | Videos/Reels: [X%]
Best format by engagement: [FORMAT] ([X%] eng rate)
## Top 5 Posts (by Engagement)
| # | Type | Format | Likes | Comments | Eng Rate | Caption Preview |
|---|------|--------|-------|----------|----------|----------------|
## Posting Cadence
Frequency: [X] posts/week | Best day: [Day] | Best hour: [HH:00]
## Key Observations
1. [Pattern observation — e.g. "Carousel educational posts get 2× engagement of product posts"]
2. [Observation]
3. [Opportunity gap]
トラブルシューティング
スクレイパーが直近12件の投稿しか返さない:InstagramはAPIアクセスを直近の投稿に制限しています。50件を分析する場合はスクレイパーを実行し、実際に返された件数を記載してください。
エンゲージメント率がおかしい:follower_count が最新か確認してください。スクレイパーが返すのはスクレイピング時点のフォロワー数であり、過去の投稿日時点のフォロワー数とは異なる場合があります。
競合のエンゲージメントが非常に高い:本物のエンゲージメントと、エンゲージメントポッドや購入したエンゲージメントを見分けてください。本物のエンゲージメントではコメント投稿者に多様性が見られますが、ポッドによるエンゲージメントでは同じアカウントが繰り返しコメントしています。