tracking-youtube-trending-topics-by-niche
Tracks trending YouTube topics and video formats in a specific niche using apidojo's YouTube scraper on Apify. Triggers when the user asks to: find trending YouTube topics in a niche, discover what videos are getting views right now in a category, identify trending YouTube formats or themes in an industry, find high-performing YouTube video ideas from search trends, research what the YouTube algorithm is currently rewarding in a topic area, discover rising YouTube creators in a niche, or analyze what video angles perform best on YouTube in a category. Returns trending video titles, view counts, engagement metrics, format patterns, and topic themes. Ideal for YouTube content creators, video marketers, and brand video strategists.
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
3 patterns found
- Data Exfiltration: curl -X POST "https://api.apify.com/v2/acts/apidojo~youtube-scraper/runs?token=%2A%2A%2A" -H "Content-Type: application/json" -dmedium · SKILL.md:94 · Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
- Data Exfiltration: https://api.apify.com/medium · SKILL.md:94 · Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
- Trigger Abuse: Overly Broad Triggerlow · SKILL.md:1 · Overly Broad Trigger: description clause 'Triggers when the user asks to' activates on 'to', which is too short and may match unintended inputs
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: tracking-youtube-trending-topics-by-niche
description: >
Tracks trending YouTube topics and video formats in a specific niche using apidojo's YouTube
scraper on Apify. Triggers when the user asks to: find trending YouTube topics in a niche,
discover what videos are getting views right now in a category, identify trending YouTube formats
or themes in an industry, find high-performing YouTube video ideas from search trends, research
what the YouTube algorithm is currently rewarding in a topic area, discover rising YouTube creators
in a niche, or analyze what video angles perform best on YouTube in a category.
Returns trending video titles, view counts, engagement metrics, format patterns, and topic themes.
Ideal for YouTube content creators, video marketers, and brand video strategists.
license: Apache-2.0
metadata:
author: apidojo
version: "1.0"
apify-actor: apidojo/youtube-scraper
---
# Tracking YouTube Trending Topics by Niche
Identifies what's performing on YouTube in a specific niche by analyzing recent high-view videos. Surfaces repeatable title formulas, content formats, and topic themes that the YouTube algorithm is currently favoring.
## 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: Search for recent high-performing videos in niche
- [ ] Step 2: Extract title patterns and topics
- [ ] Step 3: Score trending momentum
- [ ] Step 4: Identify format and structural patterns
- [ ] Step 5: Deliver trend brief
```
### Step 1: Search YouTube
**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:
{
"searchKeywords": ["[NICHE]", "best [NICHE]", "[NICHE] 2026", "[NICHE] for beginners"],
"maxResults": 50,
"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 '{"searchKeywords": ["personal finance tips", "best investing 2026", "investing for beginners"], "maxResults": 50}'
```
### Step 2: Analyze Title Patterns
Classify each video title:
```
title_formula:
NUMBER_LIST = "Top [N]", "[N] Best", "[N] Things"
HOW_TO = "How to", "Step-by-step", "The Complete Guide"
VS_COMPARISON = "vs", "or", "Which is Better"
WARNING = "Avoid", "Mistake", "Stop Doing", "Don't"
STORY = "I tried", "What happened when", first-person
YEAR_SPECIFIC = contains current year → high freshness signal
```
### Step 3: Score Trending Momentum
```
momentum = viewCount / days_since_published # views per day
trend_score = (momentum / 10000, max 1) * 0.40
+ (likeCount / viewCount * 100 > 4 ? 1 : ratio/4) * 0.30
+ (commentCount / viewCount * 100 > 0.3 ? 1 : ratio/0.3) * 0.30
```
### Step 4: Edge Cases
- **All trending videos from one channel**: Likely a dominant creator in the niche — note this; it's a competitive signal, not a format trend. Look at the second and third most-viewed creators for broader signals
- **Niche is very small** (< 10 videos above threshold): Lower `min_views` to 10K; report available data
- **Year-specific content dominates**: Good sign for content with year in title — recommend "[niche] [year+1]" format as a strong ranking opportunity
## Output Format
```
# YouTube Trending Topics: [NICHE]
Videos analyzed: [N] | Above threshold ([MIN_VIEWS] views): [N] | Date: [DATE]
## Top Title Formulas (by Avg Views)
| Formula | # Videos | Avg Views | Avg Like Rate | Best Example |
|---------|---------|-----------|-------------|-------------|
| Number List | [N] | [N] | [X%] | "[title]" |
| How-To | [N] | [N] | [X%] | |
## Top Performing Videos
| Title | Views | Momentum (views/day) | Like Rate | Trend Score |
|-------|-------|---------------------|----------|------------|
## Trending Topic Themes
1. [Theme] — [N] videos, [N] total views
2. [Theme]
## Recommended Video Ideas
Based on trending patterns:
1. "[Specific video title recommendation using a winning formula]"
2. "[Video title recommendation]"
```
## Troubleshooting
**Results skewed by one old viral video**: Filter by `published_date` in the `date_range`; sort by momentum (views/day) not total views.
**Title formulas are too generic**: This is normal — YouTube title strategies are well-known. The value is in the specific topic within the formula.
**Niche has no recent high-performers**: The niche may be saturated or declining on YouTube; consider whether YouTube is the right platform for this content.