mcpField
A
analyzing-youtube-competitor-channel-strategy

analyzing-youtube-competitor-channel-strategy

github.com/apidojo-ioMarketing & growth1822 installsUpdated 24w ago
Repository

About analyzing-youtube-competitor-channel-strategy

A marketing skill for researching YouTube competitor channels with Apify scrapers. It collects channel or video data, then classifies and scores results to assess channel health and strategy.

Key features

  1. 01Scrape channel, playlist, Shorts, and search URLs
  2. 02Search by channel handle or keywords
  3. 03Filter by region, language, date, and video traits
  4. 04Classify and score channel performance

Use cases

  1. 01Assess a competitor channel’s recent performance
  2. 02Compare videos returned for selected keywords
  3. 03Identify strategic gaps from channel metrics

MCP support

Optionally uses the Apify MCP server to run the apidojo~youtube-scraper actor.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/apidojo-io/apidojo-skills --skill analyzing-youtube-competitor-channel-strategy

After installing, type/analyzing-youtube-competitor-channel-strategyin Claude Code to confirm it loaded.

Details

From the project README

Analyzing Youtube Competitor Channel Strategy

Executes analyzing youtube competitor channel strategy using apidojo scrapers. Part of the apidojo intelligence skills library.

Prerequisites

  • APIFY_TOKEN environment variable set
  • Optional: Apify MCP server installed

Inputs

ParameterTypeRequiredDefaultNotes
startUrlsarrayOptional[]YouTube URLs — channels, playlists, Shorts, search results
youtubeHandlesarrayOptional[]YouTube channel handles (e.g. @kurzgesagt)
getTrendingbooleanOptionalfalseRetrieve trending videos
keywordsarrayOptional[]Search keywords
glstringOptionalusCountry code for results (e.g. US, GB)
hlstringOptionalenLanguage code (e.g. en, de)
uploadDatestringOptionalallUpload date filter: any, hour, today, week, month, year
durationstringOptionalallDuration filter: any, short, long
featuresstringOptionalallFeature filter: 4k, hd, live, cc, 3d, hdr, etc.
sortstringOptionalrSort order for search results
maxItemsnumberOptionalUnlimitedMaximum videos to return
customMapFunctionstringOptional—JavaScript function to transform each output object

Workflow

Progress:
- [ ] Step 1: Define parameters
- [ ] Step 2: Run youtube-scraper
- [ ] Step 3: Filter and classify results
- [ ] Step 4: Score by quality and relevance
- [ ] Step 5: Deliver output
Step 2: Run the Actor

Recommended — run_actor.js (handles waiting, output, and file saving automatically):

# Quick answer (prints table to chat)
node scripts/run_actor.js \
  --actor "apidojo~youtube-scraper" \
  --input '{"param": "value"}'

# Save as CSV
node scripts/run_actor.js \
  --actor "apidojo~youtube-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.csv --format csv

# Save as JSON
node scripts/run_actor.js \
  --actor "apidojo~youtube-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.json --format json

APIFY_TOKEN must be set in environment or .env file.

If Apify MCP is available:

Tool: apify:run-actor
Actor: "apidojo~youtube-scraper"
Input:
{
  "searchTerms": "https://www.youtube.com/@[COMPETITOR_CHANNEL]",
  "maxItems": 100
}

REST API fallback:

curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~youtube-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms": "https://www.youtube.com/@[COMPETITOR_CHANNEL]", "maxItems": 100}'

Wait for SUCCEEDED. Fetch dataset:

curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN"
Step 3: Classify Results
classification: GROWING (view rate > 20%) | HEALTHY (10-20%) | PLATEAU (5-10%) | DECLINING (< 5%)
Step 4: Score Each Result
score = channel_health = avg_views/subscriber_count * 100  # view rate; healthy > 10%
Step 5: Edge Cases
  • Channels with old viral videos have inflated subscriber counts relative to current performance — use median views from last 20 videos as the current health indicator

Additional fallbacks:

  • < 20 results: Broaden search terms; remove secondary filters
  • No results: Verify the search terms are correct; try alternate phrasings
  • Data quality issues: Remove entries with missing key fields; note count in output

Output Format

# Analyzing Youtube Competitor Channel Strategy
Results: [N] | Date: [DATE]

| # | [Key Field] | [Metric 1] | [Metric 2] | [Classification] | [Score] |
|---|------------|-----------|-----------|-----------------|---------|
| 1 | [value] | [value] | [value] | [type] | [0.XX] |

## Summary
Top result: [description]
Key finding: [insight]

Troubleshooting

Too few results: Broaden the primary search term; remove restrictive filters. Low quality results: Apply minimum score threshold (≥ 0.50) to filter noise. Actor fails to run: Verify API key; check actor status at apify.com/apidojo.

Comments

Markdown supported