mcpField
F
finding-youtube-micro-influencers

finding-youtube-micro-influencers

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

About finding-youtube-micro-influencers

A marketing skill for finding YouTube channels in a niche and ranking micro-influencers by subscriber range and engagement signals. It guides search setup, Apify scraping, filtering, and outreach-list formatting.

Key features

  1. 01Niche-based YouTube channel search
  2. 02Subscriber-range filtering
  3. 03View-to-subscriber scoring
  4. 04Ranked channel list formatting

Use cases

  1. 01Finding creators for affiliate programs
  2. 02Preparing brand sponsorship outreach

MCP support

Can run the Apify YouTube scraper through the optional Apify MCP server.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/apidojo-io/apidojo-skills --skill finding-youtube-micro-influencers

After installing, type/finding-youtube-micro-influencersin Claude Code to confirm it loaded.

Details

From the project README

Finding YouTube Micro-Influencers

Searches YouTube for channels in a specific niche, then filters by subscriber count to surface micro-influencers (typically under 100K subscribers) who have high engagement relative to their audience size. Ideal for affiliate programs and brand sponsorships where micro audiences convert better.

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 niche and subscriber range
- [ ] Step 2: Build keyword and search term list
- [ ] Step 3: Run youtube-scraper
- [ ] Step 4: Filter and calculate view-to-sub ratio
- [ ] Step 5: Deliver ranked channel list
Step 1: Clarify Parameters

Ask the user for:

  • Niche/topic (e.g., "personal finance for millennials", "vegan cooking", "PC gaming")
  • Max subscribers (default: 100,000 — micro-influencer threshold)
  • Min subscribers (default: 5,000 — filters out very new channels)
  • Min videos (default: 20 — ensures established presence)
  • Number of channels to return (default: 30)
Step 2: Build Search Term List

Generate 3-5 YouTube search queries for the niche. Think like a viewer, not a marketer:

  • Personal finance → "how to save money", "budget for beginners", "investing in your 20s"
  • Vegan cooking → "easy vegan recipes", "vegan meal prep", "vegan on a budget"
  • PC gaming → "budget PC build", "PC gaming tips", "indie game reviews"
Step 3: 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:
{
  "searchQuery": "[SEARCH_TERM]",
  "maxResults": 50,
  "scrapeVideoDetails": false,
  "scrapeChannelDetails": true
}

Run for each search query. Merge channel results, deduplicate by channel ID.

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 '{
    "searchQuery": "[SEARCH_TERM]",
    "maxResults": 50,
    "scrapeChannelDetails": true
  }'

Wait for SUCCEEDED. Fetch dataset.

Step 4: Filter and Score

Apply subscriber range filter. Then calculate view-to-subscriber ratio as the micro-influencer quality signal:

view_ratio = (total_views / subscriber_count)
recent_momentum = avg_views_last_10_videos / subscriber_count

High recent_momentum (>0.5) = channel punching above its weight — ideal micro-influencer.

Step 5: Format Output

Output Format

# YouTube Micro-Influencer Discovery: [NICHE]
Subscriber range: [MIN]–[MAX] | Results: [N] channels | Date: [DATE]

| # | Channel | Subscribers | Avg Views | View/Sub Ratio | Videos | Contact | URL |
|---|---------|-------------|-----------|----------------|--------|---------|-----|
| 1 | [name]  | [N]         | [N]       | [X.Xx]         | [N]    | [email?]| [url] |

## Top 5 Picks for Outreach

1. **[Channel Name]** — [N] subs | [X.Xx] view ratio | Posts [X]x/month
   Why: [brief reason — high engagement, relevant niche, consistent posting]
   Contact: [email from About page if available]
   Latest video: "[title]" — [N] views

2–5. [same structure]

## Notes
- [N] channels found total across all search queries
- [N] filtered out (outside subscriber range or too few videos)
- View/Sub Ratio > 1.0 = exceptional engagement (views exceed subscriber count per video avg)

Troubleshooting

Only large channels in results: YouTube search ranks by relevance + views, surfacing big channels first. Try more niche-specific search terms or filter more aggressively on subscriber count. No contact info: Most YouTubers list business email in the About tab. If missing from scraper output, check the channel URL manually. Stale subscriber counts: YouTube data on Apify can be 24-72h old. For final outreach list, verify top picks manually.

Comments

Markdown supported