apidojo-io/apidojo-skills

analyzing-competitor-youtube-content-strategy

Analyzes a competitor's YouTube channel content strategy and performance using apidojo's YouTube scraper on Apify.

Voir la source
Document Skill original

Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.

Analyzing Competitor YouTube Content Strategy

Reverse-engineers a competitor's YouTube channel by analyzing their last 20-50 videos. Identifies which video topics, formats, and lengths drive the most views and engagement.

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
customMapFunctionstringOptionalJavaScript function to transform each output object

Workflow

Progress:
- [ ] Step 1: Scrape competitor's recent videos
- [ ] Step 2: Classify video types and topics
- [ ] Step 3: Calculate performance metrics
- [ ] Step 4: Identify patterns and top performers
- [ ] Step 5: (Optional) Compare with own channel
- [ ] Step 6: Deliver strategy report

Step 1: Scrape Channel

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:
{
  "startUrls": [{"url": "[COMPETITOR_CHANNEL_URL]"}],
  "maxResults": 30,
  "type": "video"
}

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 '{"startUrls": [{"url": "https://www.youtube.com/@competitorhandle"}], "maxResults": 30, "type": "video"}'

Step 2: Classify Videos

video_type:
  TUTORIAL = title contains "how to", "step by step", "guide", "tutorial"
  LIST = title contains "top [N]", "[N] best", "[N] things", "mistakes"
  REVIEW = title contains "review", "tested", "worth it", "vs"
  THOUGHT_LEADERSHIP = opinion, trend analysis, "the future of", "why"
  NEWS = title contains news, announcement, breaking
  CASE_STUDY = "how [brand] grew", "inside", "behind the scenes"

video_length_tier:
  SHORT = < 5 min
  MEDIUM = 5–15 min
  LONG = 15–30 min
  DEEP_DIVE = > 30 min

Step 3: Performance Metrics

view_ratio = viewCount / subscriberCount  # corrected by subscriberCount at time of analysis

engagement_rate = (likeCount + commentCount) / viewCount * 100

publish_cadence = total_videos / (date_range_weeks)  # videos per week

Top performer: Sort by viewCount; also identify hidden gems where engagement_rate > 2× channel average despite lower views.

Step 4: Edge Cases

  • Channel is very new (< 6 months, < 20 videos): Reduce videos_to_analyze to all available; note limited sample
  • Views are all very low (< 1K per video): Channel may be struggling or niche is very small; provide absolute numbers, not just ratios
  • One mega-viral video skews averages: Report median views alongside mean; flag outlier
  • Channel posts in multiple languages: Group by language; analyze each cohort separately

Output Format

# Competitor YouTube Strategy: [CHANNEL_NAME]
Videos analyzed: [N] | Subscribers: [N] | Avg Views: [N] | Avg Eng Rate: [X%] | Date: [DATE]

## Content Mix
| Video Type | % of Videos | Avg Views | Avg Eng Rate | Best Example |
|-----------|------------|-----------|-------------|-------------|
| Tutorial | [X%] | [N] | [X%] | [title] |
| List | [X%] | [N] | [X%] | |
| Review | [X%] | [N] | [X%] | |

## Video Length Performance
| Length Tier | % | Avg Views | Avg Eng Rate |
|------------|---|-----------|-------------|
| Short (< 5min) | [X%] | [N] | [X%] |

## Top 5 Videos (by Views)
| # | Title | Type | Views | Likes | Comments | Length | Eng Rate |
|---|-------|------|-------|-------|----------|--------|---------|

## Publishing Cadence
Videos/week: [X] | Best day to publish: [Day] | Monthly trend: [↑/↓/flat]

## Key Opportunities vs. Their Strategy
1. [Gap: e.g. "No case studies — this format gets 3× their avg views when they do it"]
2. [Opportunity]
3. [Their weakness]

Troubleshooting

Scraper returns channel page but no videos: Try direct video search for channel name as keyword; some channel URLs need the /videos suffix. View counts are very low for an established channel: Channel may have declined — check publish date of latest video; may be dormant. Can't determine channel subscriber count from scrape: Use the video view-to-video count ratio as a proxy for channel health when subscriber count is unavailable.

du même dépôt

Autres Skills

Tous les Skills
apidojo-io
Communauté

scraping-youtube-playlist

Extracts all videos from a YouTube playlist using apidojo's YouTube Playlist Scraper on Apify. Triggers when the user asks to: get all videos from a YouTube playlist, scrape a YouTube playlist for video data, export playlist video metadata, fetch video stats from a YouTube playlist URL, collect all videos in a YouTube channel playlist, download YouTube playlist contents, or analyze a curated list of YouTube videos. Returns video title, URL, view count, like count, duration, channel info, and description per video. Ideal for content curators, educators, and YouTube channel analysts.

installations
4
GitHub Stars
1
Mis à jour
13 mai
apidojo-io
Communauté

finding-hospitality-brands-on-instagram

Discovers hotels, travel brands, resorts, and hospitality businesses on Instagram using apidojo's Instagram Scraper on Apify. Triggers when the user asks to: find hotels on Instagram for B2B outreach, discover travel brands or resorts active on social media, build a list of hospitality businesses on Instagram, find boutique hotels or tour operators via Instagram, prospect hotel and resort brands for software or vendor sales, or identify travel companies active on Instagram. Returns account handle, follower count, bio, engagement data per post. Ideal for hospitality SaaS vendors, travel tech providers, and B2B service companies targeting hotels.

installations
3
GitHub Stars
1
Mis à jour
13 mai
apidojo-io
Communauté

finding-trending-twitter-topics-for-content

Finds trending Twitter topics and conversations for content ideation using apidojo's Twitter scrapers on Apify. Triggers when the user asks to: find trending topics on Twitter for content, discover what is being discussed in a niche on X right now, identify Twitter conversations to join with content, find trending hashtags in an industry on Twitter, research what topics are generating engagement in a space on X, discover viral tweet themes for blog or video content, or find what your target audience is talking about on Twitter this week. Returns trending topics, tweet volume signals, top engagement posts, and content angle suggestions. Ideal for content marketers, social media managers, newsletter writers, and real-time content teams.

installations
3
GitHub Stars
1
Mis à jour
13 mai
apidojo-io
Communauté

monitoring-twitter-for-competitor-job-posts

Monitors Twitter for competitor hiring announcements to track growth signals using apidojo's Tweet scraper. Triggers when the user asks to: monitor competitor job postings on Twitter, track hiring signals from competitor companies on X, find out what roles competitors are hiring for on Twitter, analyze competitor team growth from their Twitter activity, monitor startup hiring signals for competitive intelligence, track which departments competitors are growing via their Twitter, or discover competitor expansion strategies from job post tweets. Returns company handle, role being posted, department, posting date, urgency signals, and growth pattern. Ideal for competitive intelligence teams, recruiters targeting competitor employees, and investors tracking company growth.

installations
3
GitHub Stars
1
Mis à jour
13 mai