mcpField
A
analyzing-competitor-instagram-content-strategy

analyzing-competitor-instagram-content-strategy

github.com/apidojo-ioマーケティング・グロース1824 回インストール24 週間前に更新
リポジトリ

analyzing-competitor-instagram-content-strategy について

競合の最近の投稿からInstagramのコンテンツ戦略を分析するマーケティング向けスキルです。形式やテーマを分類し、エンゲージメントと投稿パターンをまとめます。

主な機能

  1. 01競合の投稿をスクレイピング
  2. 02コンテンツの種類と形式を分類
  3. 03種類別のエンゲージメントを比較
  4. 04投稿頻度と時間帯を集計
  5. 05戦略レポートを作成

活用シーン

  1. 01競合のコンテンツ構成を確認
  2. 02反応の高い投稿形式を特定
  3. 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 が最新か確認してください。スクレイパーが返すのはスクレイピング時点のフォロワー数であり、過去の投稿日時点のフォロワー数とは異なる場合があります。 競合のエンゲージメントが非常に高い:本物のエンゲージメントと、エンゲージメントポッドや購入したエンゲージメントを見分けてください。本物のエンゲージメントではコメント投稿者に多様性が見られますが、ポッドによるエンゲージメントでは同じアカウントが繰り返しコメントしています。

コメント