Catalogskills.sh · apidojo-io

analyzing-youtube-competitor-channel-strategy

Analyzes competitor YouTube channel strategy and content performance using apidojo's YouTube scraper. Triggers when the user asks to: analyze a competitor's YouTube channel strategy, understand what makes a competitor YouTube channel successful, benchmark a YouTube channel against a competitor, find patterns in a competitor's YouTube content that drive growth, analyze the content mix and publishing cadence of a competitor channel, understand a competitor's YouTube audience and engagement, or reverse-engineer what a competitor is doing well on YouTube. Returns content mix, format performance, publishing cadence, engagement benchmarks, and strategic insights. Ideal for YouTube content strategists, brand video teams, and competitive intelligence analysts.

Review advisedVerified hub811 installs

Savant verdict: Review advised

Security analysis or source-hub review identified patterns requiring attention.

Live evaluation

Not evaluated yet. Workspaces can request a live evaluation.

Security assessment

Scan pending.

Structure

  • 1 referenced file isn't in the packagescripts/run_actor.js. They may be binary, too large to catalog, or missing upstream.
  • The source hub's security checks flagged this skillSnyk: warn (Risk: MEDIUM · 1 issue)

SKILL.md

---
name: analyzing-youtube-competitor-channel-strategy
description: >
  Analyzes competitor YouTube channel strategy and content performance using apidojo's YouTube scraper. Triggers when the user asks to: analyze a competitor's YouTube channel strategy, understand what makes a competitor YouTube channel successful, benchmark a YouTube channel against a competitor, find patterns in a competitor's YouTube content that drive growth, analyze the content mix and publishing cadence of a competitor channel, understand a competitor's YouTube audience and engagement, or reverse-engineer what a competitor is doing well on YouTube.
  Returns content mix, format performance, publishing cadence, engagement benchmarks, and strategic insights.
  Ideal for YouTube content strategists, brand video teams, and competitive intelligence analysts.
license: Apache-2.0
metadata:
  author: apidojo
  version: "1.0"
  apify-actor: apidojo/youtube-scraper
---

# 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

| Parameter | Type | Required | Default | Notes |
|-----------|------|----------|---------|-------|
| `startUrls` | array | Optional | `[]` | YouTube URLs — channels, playlists, Shorts, search results |
| `youtubeHandles` | array | Optional | `[]` | YouTube channel handles (e.g. `@kurzgesagt`) |
| `getTrending` | boolean | Optional | `false` | Retrieve trending videos |
| `keywords` | array | Optional | `[]` | Search keywords |
| `gl` | string | Optional | `us` | Country code for results (e.g. `US`, `GB`) |
| `hl` | string | Optional | `en` | Language code (e.g. `en`, `de`) |
| `uploadDate` | string | Optional | `all` | Upload date filter: `any`, `hour`, `today`, `week`, `month`, `year` |
| `duration` | string | Optional | `all` | Duration filter: `any`, `short`, `long` |
| `features` | string | Optional | `all` | Feature filter: `4k`, `hd`, `live`, `cc`, `3d`, `hdr`, etc. |
| `sort` | string | Optional | `r` | Sort order for search results |
| `maxItems` | number | Optional | Unlimited | Maximum videos to return |
| `customMapFunction` | string | Optional | — | 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):**
```bash
# 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:**
```bash
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:
```bash
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.