YouTube Outlier Videos Finder - AI Video Research & Scraper
Pricing
from $4.00 / 1,000 qualified video (rules only)s
YouTube Outlier Videos Finder - AI Video Research & Scraper
First 25 videos free. YouTube outlier videos finder + AI video research: each video scored 0-100 against your brief, views vs its channel, grounded takeaways and brand mentions. Pay only for qualified videos. Any Apify plan with your own free YouTube API key.
Pricing
from $4.00 / 1,000 qualified video (rules only)s
Rating
0.0
(0)
Developer
Rich Minds
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Find the YouTube outlier videos that matter for your research question — scored 0–100 against your brief, with how far each one out-performed its channel, what it actually says, and where your brands are mentioned.
⚡ First 25 videos free · 💵 $0.004 per qualified video · 🤖 $0.012 with AI research · 🔑 No API key needed on Apify plans that can run Store Actors — on the free plan, search with your own free YouTube API key (which plan?) · ⏱️ demo in seconds, AI ≈ 3 s per video (measured)

Try it in 30 seconds. Click Try it — the form is pre-filled with a free demo (7 sample videos, nothing charged). Then type your own search terms and brief: a real search runs YouTube Scraper on your account (needs a paid Apify plan) or the YouTube Data API with your own free key (any plan). Your first 25 qualified videos are free, and videos that fail your filters are never charged. → What a run costs · What the AI adds · Run it weekly
⚡ At a glance
| What you get | a ranked shortlist of videos: relevance score, outlier ratio, format, takeaways, brand mentions + PATTERNS |
| Best for | weekly monitoring of 5–10 competitor channels or niche searches — only new videos are delivered and charged |
| You provide | a few search terms (or channel / playlist URLs) and one sentence on what you are researching |
| Output | JSON / CSV / Excel dataset, best-first, plus RUN_SUMMARY, PATTERNS and a Slack-ready DIGEST |
| Typical run | 2 terms × 50 videos = 100 scraped → ~30 qualified (estimate); AI ≈ 3 s per video (measured) |
| Cost of that run | $0.40 YouTube Scraper + 30 × $0.012 here + ~$0.15 AI tokens ≈ $0.91 (first 25 videos free) |
| Keys / setup | none on paid Apify plans (Store Actors + Apify's model access); on the free plan: youtubeApi with a free YouTube API key, llmProvider: byok |
| Works with | Schedules, webhooks, Google Sheets, Slack, Make / n8n / Zapier, MCP & AI agents |
🎯 What this YouTube video research tool does
It runs the YouTube scraper you already know (streamers/youtube-scraper) on your account — or the official YouTube API
with your own free key — throws away what does not matter for free, and returns only the videos that fit your brief:
- A relevance score against your question — 0–100 against your
researchBrief, with the reasons (the AI's judgement, or keyword overlap when AI is off). - Outlier ratio vs the channel — views ÷ subscribers (or ÷ the channel's median views), views per day, like rate, percentile in this run.
- What the video actually says — key takeaways from the transcript with AI; chapter lines without it. Never invented.
- Brand and product mentions with a quote — every watch term with the verbatim sentence and its timestamp.
- What works in your niche — the free
PATTERNSrecord: outlier rate by format, hook, length and title word.
You pay only for videos that qualify, never twice for the same one.
📈 Find YouTube outlier videos (vs subscribers or the channel median)
Set minOutlierRatio (views ÷ subscribers: 1 = the video out-reached the channel, 3 = a strong outlier).
The creators' outlier score: channelBaseline compares each video with its channel's median views over its latest
channelBaselineVideos (one extra YouTube Scraper run at $0.004 per video inside maxDiscoveryChargeUsd; free in
youtubeApi mode) → outlierVsChannelMedian, channelMedianViews, channel_outlier (≥ 3×); minChannelOutlier: 3 keeps
only those. The Outliers (metrics) view:

🧭 What works in your niche (PATTERNS, free)
Every run groups the videos that passed your filters by format, hook, length and title word and compares each
group's outlier rate with the run's — rules only, no charge. PATTERNS from the demo run:
{"videos": 5, "overallOutlierRate": 0.4,"insights": ["Tutorial videos: 2 of 3 are outliers, avg 3.81× — vs 40 % across all 5 videos."]}
📝 YouTube transcript summary: grounded key takeaways
With AI on, the model reads the transcript (free YouTube subtitles) and returns up to 5 keyTakeaways, each checked
against it. Takeaways from what is said need the AI: AI off gives the description's chapter lines and sentences,
promo lines ("subscribe", links, "perfect if…") dropped.
🏷️ Brand and product mentions (watchTerms)
List brands or competitors in watchTerms: each video carries mentions — term, verbatim quote, subtitle timestamp.
💡 Content angle per video (suggestAngles)
With AI on, contentAngle suggests one video idea per on-brief video (same call); every hot / warm row gets
generatedText, the next step (AI angle, or a rule-based "watch first: …").
🔑 Search YouTube on the free Apify plan (youtubeApi)
Apify's free plan cannot run Store Actors: pick Search YouTube with your free YouTube API key and paste a key from
Google Cloud (enable YouTube Data API v3 → Credentials) into youtubeApiKey. Free: 10,000 quota units a day — a search
page of 50 videos ≈ 100 units, a channel ≈ 3. Same filters, scores and events; no subtitles in this mode.
🩳 YouTube Shorts research: Shorts outliers
Shorts are skipped by default; the Shorts outliers task below turns them on (includeShorts: true, ≤ 60 s).
🆚 Why this instead of streamers/youtube-scraper?
YouTube Scraper (streamers/youtube-scraper) | YouTube Outlier Videos Finder (this Actor) | |
|---|---|---|
| Price | $0.004 per result · 10,713 users / 30 days · 4.8★ (196 reviews) | from $0.004 per qualified video, first 25 free |
| What you pay for | every row scraped, including irrelevant videos, error rows and duplicates | only qualified videos — anything that fails your filters costs $0 here |
| Which videos matter? | none — you sort thousands of rows by hand | 0–100 relevance score against your brief + outlier ratio, best first |
| AI | ai-video-summary / ai-video-description add-ons at $0.015 per video each, not steered by any goal | brief-steered score, takeaways, format, hook and mentions in one grounded call — $0.012 per qualified video |
| Filters | date filter is a $0.0013 surcharge per result | views, subscribers, age, duration, Shorts, keywords, outlier ratio — all free |
| Repeat runs | the same videos again next week | cross-run memory + exclude list — only new videos are delivered and charged |
| Free Apify plan | cannot run | free demo + live search with your own YouTube API key |
| Same 100 videos, all in | 100 rows × $0.004 + ai-video-summary 100 × $0.015 = $1.90, still unsorted | $0.40 source + 30 qualified × $0.012 + ~$0.15 tokens = $0.91, ranked — 52 % less |
Coming from a transcript Actor or an outlier tool?
Transcript Actors (starvibe/youtube-video-transcript, johnvc/YoutubeTranscripts) | Outlier SaaS (vidIQ, 1of10, TubeBuddy) | This Actor | |
|---|---|---|---|
| You get | the raw transcript text of the videos you already picked | an outlier score around your own channel | which videos matter for your brief, why, grounded takeaways and quoted mentions |
| Pricing | per transcript, relevant or not (2,303 / 1,863 users a month) | $10–$50 a month per seat | $0.012 per qualified video with AI, nothing for the rest |
| Outliers | — | ✓ | ✓ vs subscribers or the channel median, plus PATTERNS |
💵 Pricing — what a run really costs
Pay per result: one event per qualified video, nothing else. No start fee.
| Event | When it is charged | Price |
|---|---|---|
free-tier | your first 25 qualified videos on this Actor, in any mode | $0.00 |
qualified-video-basic | AI off (or AI unavailable) — normalised fields, metrics, flags, rule score, format, takeaways, mentions | $0.004 |
qualified-video-ai | AI on — everything above plus the AI relevance score with reasons, hook, grounded takeaways, mentions, content angle | $0.012 |
You are never charged for: the free demo, PATTERNS / DIGEST, videos below minScore, videos that fail a filter,
excluded Shorts, source error rows, videos on your exclude list, videos you already received in an earlier run.
How that compares — the top 10 priced YouTube Actors in the Store search "youtube scraper" charge a median $0.003
per raw row (checked 2026-09-25) and YouTube Scraper charges $0.004 per result. Here $0.004 buys a qualified video, not
a raw row — in the worked example (an estimate) 30 of 100 qualify, so one stands in for ~3 raw rows and the other 70
cost $0 here. The AI tier ($0.012) is below the source's $0.015 ai-video-summary.
Worked example (source funnel an estimate until the first live run) — 2 search terms × 50 videos = 100 videos
scraped → 30 pass your free filters and minScore with AI on: YouTube Scraper $0.40 on your account + 30 × $0.012 =
$0.36 here + ~$0.15 AI tokens → $0.91 total, about $0.030 per qualified video. With youtubeApi the source part is
$0 (your quota). On a new account the first 25 are free.
AI tokens are billed through Apify's model access at OpenRouter rates, or to your own key: measured 2026-09-25, ~1,250 in + ~700 out per video ≈ $0.005 on Claude Haiku 4.5.
🚀 How to use it
- Click
Try it— the form starts on the free demo (7 sample videos about Python web scraping) and works as is. - Switch
sourceMode(the first field) to a Search YouTube option, say what you are researching inresearchBriefand type yoursearchQueries(or URLs instartUrls). The form suggests 3 terms × 30 videos (≈ $0.36 at the source) — enough to use your free videos and see the first paid ones. - Add free filters you care about (
minOutlierRatio,maxAgeDays,watchTerms,minScore) and press Start. - Open the dataset — qualified videos land best-first; export to CSV/Excel, or wire a webhook.
🤖 What the AI tier adds
The same demo video, AI off (qualified-video-basic, $0.004):
{"title": "Web Scraping with Python - BeautifulSoup Tutorial for Beginners","score": 83, "label": "hot", "scoreSource": "rules", "ruleScore": 83,"reasons": ["mentions 'beginners', 'python', 'web', 'scraping' in the title","mentions 'python', 'beautifulsoup' in the hashtags","outlier: 6.482× views vs the channel's 48,200 subscribers"],"format": "tutorial", "hookType": "how-to","keyTakeaways": ["01:12 Installing requests and BeautifulSoup", "05:40 Finding elements with CSS selectors","14:05 Handling pagination", "21:30 Saving to CSV"],"contentAngle": null}
AI on (qualified-video-ai, $0.012) — a real run of storage-example/INPUT.ai.json on 2026-09-25 with
groq:openai/gpt-oss-120b (own key; 5 videos assessed in 13.5 s):
{"title": "Web Scraping with Python - BeautifulSoup Tutorial for Beginners","score": 90, "label": "hot", "scoreSource": "ai","reasons": ["The title calls it a \"BeautifulSoup Tutorial for Beginners\", matching the brief for beginner-friendly content.","The transcript walks through each step—installing, finding elements, handling pagination, and saving to CSV—showing a complete end‑to‑end workflow."],"format": "tutorial", "hookType": "how-to","keyTakeaways": ["Install requests and BeautifulSoup via pip.", "Use requests to download a web page.","Parse HTML and locate elements using CSS selectors with BeautifulSoup.","Handle pagination by following the next‑page link in a loop.", "Write the scraped data to a CSV file."],"mentions": [{"term": "BeautifulSoup", "quote": "BeautifulSoup lets you find elements with CSS selectors", "timestamp": "05:40"}],"contentAngle": "Produce a beginner tutorial that adds Playwright to the same project, showing how to scrape JavaScript‑rendered pages after the BeautifulSoup basics.","aiModel": "groq:openai/gpt-oss-120b"}
That is the 3–5 minutes per video you would otherwise spend watching and taking notes — for $0.008 more than the basic
row. Videos the AI scores below your minScore are not charged, and the status says how many.
⚙️ Input
Input options
| Field | Type | Default | What it does |
|---|---|---|---|
sourceMode | actor | youtubeApi | dataset | list | actor | YouTube Scraper (paid plan), your free YouTube API key (any plan), a dataset, or pasted videos (the form starts on the free list demo) |
researchBrief | string | — | What you are researching; every video is scored 0–100 against it |
searchQueries | string[] | — | YouTube search terms, one per line |
maxResultsPerQuery | integer | 20 | Videos per search term / URL (form: 30; lowered to fit the spend cap) |
maxDiscoveryChargeUsd | number | 2 | Caps what YouTube Scraper may charge your account (form: $0.50) |
minOutlierRatio | number | 0 | Keep only videos with at least this many views per subscriber |
minScore | 0–100 | 40 | Below this = not delivered, not charged |
enableAi | boolean | true | AI research assessment on/off |
maxQualified | integer | 100 | Hard cap on output (and on spend) |
youtubeApiKey, channelBaseline and watchTerms are explained in their sections above.
Free filters (section 2 of the form): mustIncludeKeywords, excludeKeywords, minViews / maxViews,
minSubscribers / maxSubscribers, maxAgeDays, minDurationSec / maxDurationSec, includeShorts (off by default),
minChannelOutlier, channelBaselineVideos / channelBaselineMaxChannels, targetFlags (only videos with one of these
flags) and suppressionList (videos or channels to never output). 0 means "no limit". On the free demo, every filter
you change applies to the sample too — minScore: 100 returns "0 of 7 sample videos passed your filters".
AI and output: suggestAngles, llmProvider, llmModel, llmApiKey, aiCandidateMultiplier, maxToProcess,
dedupeStoreName, webhookUrl, webhookHeaders, webhookBatchSize. Other sources: itemsList, datasetId.
Flags (for targetFlags): outlier, strong_outlier, channel_outlier, top_of_batch, fast_growing,
high_engagement, fresh, small_channel, watch_term_mentioned, has_transcript, long_form, short.
📤 Output
One dataset item per qualified video — JSON, CSV, Excel or a webhook. This row is from the free demo run (AI off, shortened — every field is in the table below):
{"videoId": "k3Vq9TzP1aE","url": "https://www.youtube.com/watch?v=k3Vq9TzP1aE","title": "Web Scraping with Python - BeautifulSoup Tutorial for Beginners","score": 83, "label": "hot", "scoreSource": "rules","durationSec": 1458, "views": 312450, "likes": 9870, "comments": 412,"channelName": "Code with Mira", "channelSubscribers": 48200,"viewsPerDay": 1285.8, "likeRate": 0.0316, "outlierRatio": 6.482, "batchViewPercentile": 83,"flags": ["outlier", "strong_outlier", "fast_growing", "has_transcript", "long_form", "watch_term_mentioned"],"format": "tutorial","keyTakeaways": ["01:12 Installing requests and BeautifulSoup", "05:40 Finding elements with CSS selectors"],"generatedText": "Watch first: this tutorial from Code with Mira — outlier: 6.482× views vs the channel's 48,200 subscribers. Its title uses a how-to hook — note how it frames the topic before you plan yours.","chargedEvent": "demo", "billedAs": "qualified-video-basic","itemId": "2447eb0e9f7c", "dedupeKey": "yt:k3Vq9TzP1aE"}
Output fields
| Field | Description |
|---|---|
videoId, url, title, itemId, dedupeKey | Identity of the video — stable across runs, safe as a primary key |
score, label, scoreSource, reasons, ruleScore | Final 0–100 score (AI, else rules), hot / warm / cold, and why |
views, likes, comments, commentsTurnedOff, isMonetized, publishedAt, ageDays, durationSec, isShort, location | The video's numbers and status as the source returned them |
description, descriptionLinks, hashtags, thumbnailUrl, hasTranscript | Description (≤ 2,000 chars), its links, hashtags, thumbnail, whether subtitles were read |
channelName, channelUrl, channelSubscribers, channelTotalVideos, channelLocation, foundVia | The channel and the search / URL that found the video |
outlierRatio, channelMedianViews, outlierVsChannelMedian, viewsPerDay, likeRate, commentRate, batchViewPercentile, flags | Derived metrics and rule flags (channel median only with channelBaseline, else null) |
format, hookType, keyTakeaways, mentions, contentAngle, generatedText | Research fields (AI on; rule fallbacks when off) and the next step on hot / warm rows |
aiModel, chargedEvent, billedAs, scrapedAt | Provenance and billing (billedAs = the price tier, also on free rows) |
Dataset views: Shortlist (best first, with the next step) · Outliers (metrics) · Insights (AI) · Overview (thumbnails, flags, charges).
RUN_SUMMARY (also OUTPUT) holds the funnel, skip counts, topChannels, yieldByQuery (loaded → qualified → hot per
term), aiTokens, timing (seconds per phase), the top patterns and what was charged; PATTERNS is the full niche
analysis; DIGEST is the run as Slack / e-mail-ready Markdown. Failures are explained in sourceError / aiError.
⭐ Found it useful? A review on the Store helps others find it — it takes a minute on the Actor's page.
🔁 Run it weekly
Monitoring is what this Actor is built for:
- Actions → Schedule in the Console (weekly), your input saved as is — or start from the Competitor monitoring task below: 10 channels × their 20 newest videos, last 14 days.
- Leave
dedupeAcrossRuns: true— every video you were charged for is remembered, so the next run delivers and charges only what is new. - Point Slack or e-mail at the
DIGESTrecord ("7 new videos (2 hot)" + links + patterns), or use the Sheets template (docs/sheets/in the repo).
Weekly cost for 10 competitor channels × 20 newest: $0.80 at the source ($0 with youtubeApi) + ~15 new qualified
videos × $0.012 ≈ $0.18 here per week.
🕵️ YouTube competitor analysis on a schedule
Competitor channels in startUrls, sortVideosBy: NEWEST, your products in watchTerms, weekly: every new competitor
video arrives scored, with your products' mentions quoted.
🎯 Try it for your niche
Each saved Task (storage-example/tasks/*.json) is one click — run it once, then schedule it.
| Niche | What it looks for | Task |
|---|---|---|
| Competitor monitoring | 10 dev-tool channels · 20 newest each · watchTerms Copilot / Cursor / Claude · last 14 days | storage-example/tasks/competitor-monitor.json |
| Outlier research for a creator | home espresso setup, budget espresso machine · minOutlierRatio: 1 · last 90 days | storage-example/tasks/outlier-research.json |
| Product / brand mentions | notion vs obsidian, best note taking app · watchTerms Notion / Obsidian / Evernote | storage-example/tasks/product-mentions.json |
| Shorts outliers | espresso shorts, latte art shorts · Shorts only · minOutlierRatio: 1 · last 60 days | storage-example/tasks/shorts-outliers.json |
🔌 Integrations, automation and API
- Webhook —
webhookUrlPOSTs each qualified video to Zapier, Make, n8n, Slack or your CMS as{"event": "video.qualified", "video": {…}, "runId": "…"}; withwebhookBatchSizeN it POSTs{"event": "videos.qualified", "videos": [… N rows], "runId": "…"}(the last batch may be shorter). A 429 / 5xx / network error is retried once after 2 s (15 s timeout); a POST that still fails is counted inOUTPUT.webhook.failedand never fails the run — the dataset keeps every video. - Google Sheets / Slack / HubSpot — one click from the Actor's Integrations tab.
- AI agents / MCP — first call = the free trial:
{"sourceMode": "list", "itemsList": [...]}processes the rows you send, no source run — the snippets below do exactly that. An empty{}runs the free demo.
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("rich_minds/youtube-video-research-ai").call(run_input={"sourceMode": "list","itemsList": [{"id": "k3Vq9TzP1aE", "title": "Web Scraping with Python - BeautifulSoup Tutorial for Beginners","url": "https://www.youtube.com/watch?v=k3Vq9TzP1aE", "viewCount": 312450,"numberOfSubscribers": 48200, "date": "8 months ago", "duration": "24:18"}],"researchBrief": "beginner Python web scraping tutorials","maxQualified": 50,"maxDiscoveryChargeUsd": 0.5, # spend cap on your account once you switch to "sourceMode": "actor"}, timeout_secs=600)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["score"], item["outlierRatio"])
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('rich_minds/youtube-video-research-ai').call({sourceMode: 'list',itemsList: [{ id: 'k3Vq9TzP1aE', title: 'Web Scraping with Python - BeautifulSoup Tutorial for Beginners',viewCount: 312450, numberOfSubscribers: 48200 }],researchBrief: 'beginner Python web scraping tutorials',maxQualified: 50,maxDiscoveryChargeUsd: 0.5, // spend cap on your account once you switch to sourceMode: 'actor'}, { timeout: 600 });const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.map((i) => [i.title, i.score, i.outlierRatio]));
Use it from Claude, ChatGPT or any MCP client — add Apify's MCP server with this Actor as a tool:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?actors=rich_minds/youtube-video-research-ai"}}}
Then ask: "Run youtube-video-research-ai in list mode on these rows first (free), then search YouTube with
sourceMode: actor and maxDiscoveryChargeUsd: 0.5."
Run outcomes — what your integration sees
| Outcome | Run status | Dataset | OUTPUT | Charged? | What to do |
|---|---|---|---|---|---|
| Free demo (the pre-filled sample) | SUCCEEDED | sample videos, chargedEvent: demo | demo: true | no | switch the source and type your own terms |
| Success | SUCCEEDED | qualified videos, best first | funnel, chargedEvents, timing | per qualified video | — |
| Nothing matched | SUCCEEDED | empty | qualified: 0 | no | loosen minScore / filters |
| Demo text kept in a real search | SUCCEEDED | empty | inputNeeded | no | replace the field the status names |
| Invalid input | FAILED | empty | — | no | fix the field the status message names |
| Source failed | FAILED | empty | sourceError | no | follow the reason (plan, API key / quota, timeout) |
| AI unavailable | SUCCEEDED | rule-scored videos | aiError, freeAiReserve | free units first (5 kept for the AI), then basic | llmProvider: byok with your own key |
👥 Who is it for?
| You are… | You run it to… | Start with |
|---|---|---|
| A marketing / competitive-intelligence team | monitor every new competitor video each week, scored for relevance, with the key points | the Competitor monitoring task · weekly schedule + DIGEST to Slack |
| A content strategist / YouTube channel team | find the videos in your niche that out-performed their channel, and the formats that work | searchQueries for your niche · minOutlierRatio: 1 · maxAgeDays: 90 · PATTERNS |
| A product / market researcher | find review and comparison videos that mention a product, and quote what they say | searchQueries like X vs Y · watchTerms with the product names |
| An AI agent builder | a compact, typed, pre-qualified video list instead of thousands of raw rows | the MCP block above, first call in list mode |
🧠 How the AI works
- Grounded, not generative. The model sees one video — title, channel, description, transcript with timestamps —
and scores it against your
researchBriefin one typed call. - Every claim is checked after the call. Reasons and takeaways must be supported by the video's own text; a mention survives only with a verbatim quote; only the best rule-scored candidates get the AI pass.
- Model: Apify's model access (default
anthropic/claude-haiku-4.5) or your own key (llmProvider: "byok").
🔒 Data, compliance and limits
- Public video metadata and captions only. No login, no commenter data; transcripts are read, then discarded.
- Relative dates ("10 months ago") are approximate; no subscriber count = no outlier ratio.
- Use the output within YouTube's (and the YouTube API's) terms and applicable law (GDPR, copyright for quotes).
❓ FAQ
How much will one run cost me? Source: $0.004 per video loaded ($0 in youtubeApi mode); here $0.004 per qualified
video ($0.012 with AI) + ~$0.005 tokens. The form's first search (3 terms × 30) is $0.36 at the source, capped by
maxDiscoveryChargeUsd ($0.50 in the form, $2 for API calls); the first 25 qualified videos are free.
How long does a run take? Every run writes OUTPUT.timing (sourceSecs, aiSecs, aiSecsPerUnit, totalSecs).
Measured: the demo 2–3 s; the AI ≈ 2.7 s per video, 8 in parallel (5 videos in 13.5 s on 2026-09-25; the platform BYOK
run, 4 videos: 24.9 s end to end). The YouTube Scraper step is not yet measured on a live run (estimate 1–2 min per 50
videos). API callers: pass timeoutSecs: 600 (Python timeout_secs=600) for a search of up to 100 videos.
Is this a YouTube video scraper? It runs YouTube Scraper (streamers/youtube-scraper) — or the YouTube API with your
key — and adds the research layer: filters, outlier ratio, a score against your brief, takeaways and mentions. Fewer,
better rows, and you pay only for those.
How is this different from YouTube content research tools like vidIQ, 1of10 or TubeBuddy? Those sell seats ($10–$50
per month) around your own channel. Here 100 researched videos with AI cost about $1.70 plus the source run, for any
niche — and PATTERNS answers "what works" for free.
Can I use it for YouTube trend research? Yes — set dateFilter: week or maxAgeDays: 7, sort by views, and watch
viewsPerDay, fresh and fast_growing; a weekly schedule shows what is rising in your niche.
Which Apify plan do I need? Any plan runs the free demo and youtubeApi mode (your free YouTube Data API key).
Searching with YouTube Scraper and the built-in AI (Apify's model access) need a paid plan that can run Store Actors; on
the free plan add llmProvider: "byok" with your own model key. If the AI is refused, the status says "AI unavailable",
your free videos are used first (5 are kept for when the AI runs), then the basic price applies. A model error never
fails the run.
What does "qualified" mean? A video that passed every free filter you set and scored at least minScore against your
brief. Only qualified videos are delivered and charged.
What happens if nothing matches my filters? The run succeeds with 0 rows and charges nothing; the status says so.
Does it transcribe videos without subtitles? Only if you pick a speech-to-text option in Transcript source — the source charges $0.048 per transcribed minute on your account. By default it uses YouTube's free subtitles.
Is this legal? Public video pages and captions only, no login — see Data, compliance and limits.
Can I schedule it without paying twice? Yes — cross-run memory means you only pay for new videos (Run it weekly).
🧩 More Actors from the same developer
Closest to YouTube research first:
- Instagram Creator Qualifier — creator research on Instagram: find and vet creators for your niche
- Google Reviews Insights — google reviews analysis: what customers praise and complain about
- Linkedin Intent Leads — linkedin buying intent: posts from people asking for a tool like yours
- Local Business Lead — local business leads from Google Maps with e-mails
🆘 Support
Something missing or wrong? Open an issue on the Actor's page — buyer requests ship first.
📝 Changelog
- 0.3 (2026-09-25) —
youtubeApisource (live search on any Apify plan with your free YouTube API key), freePATTERNSrecord,OUTPUT.timing, the free tier holds when the AI is unavailable (5 kept for the AI), promo-free basic takeaways, 3 × 30 first search, 10-channel monitoring task. - 0.2 (2026-09-25) —
channelBaselineoutlier score,generatedText, hook type, Shorts task,DIGEST. - 0.1.1 (2026-09-25) — first published build: listing, pricing and the platform README.
- 0.1 (2026-09-25) — initial release: YouTube Scraper source with free filters, outlier metrics, brief-scored relevance, grounded takeaways, watch-term mentions and content angles.