Best YouTube Scrapers on Apify
Quick Answer
The best YouTube scrapers on Apify are: YouTube Scraper (videos + metadata), YouTube Comments Scraper, YouTube Channel Scraper, and YouTube Transcript Scraper: Captions & AI Fallback (captions + Whisper AI fallback, LLM-ready output).
The official YouTube Data API v3 gives you 10,000 quota units/day. One search.list call costs 100 units, so you burn the daily budget in 100 requests. Apify Actors scrape the public web + innertube surfaces instead, so you're billed in $/1k results or monthly rent rather than quota points. Stats below were pulled from Apify Store on 2026-05-26; open each listing for live users, rating, and success rate.
Discover more: YouTube scrapers in the Apify Store
Pricing per 1,000 results
- Open the Pricing tab on the Actor.
- Check the billing model: pay-per-result (most Streamers Actors), pay-per-event (per video/comment), or monthly rental + platform usage (most downloaders).
- Multiply the unit price by 1,000 for an order-of-magnitude quote, then add residential proxy cost (~$8/GB) if the README calls for it.
Run a 20-item test first and extrapolate. Comment depth (includeReplies), Shorts vs long-form, and search vs URL input all swing cost by 3–5x.
Comparison table
| Actor | Focus | Users | Rating | Success | Price | When to pick it |
|---|---|---|---|---|---|---|
| YouTube Scraper | Videos, search, playlists | 82,101 | 4.80 | 98.9% | from $2.40/1k videos | Default for mixed discovery and catalog builds |
| YouTube Comments Scraper | Comments + replies | 16,301 | 4.73 | 99.2% | from $0.90/1k comments | Sentiment, QA mining, creator feedback |
| YouTube Channel Scraper | Channel metadata + uploads | 12,524 | 4.36 | 99.7% | from $0.50/1k results | Competitor lists, about-page fields, subscriber deltas |
| YouTube Shorts Scraper | Shorts-native feed | 47,837 | 4.74 | 99.6% | from $2.40/1k shorts | Vertical-format analytics, trend tracking |
| Transcript Scraper (AI Fallback) | Captions + Whisper | 275 | unrated | 94.0% | from $0.70/1k transcripts | RAG, summarization, caption-free videos |
| YouTube Video Downloader | MP4 retrieval | 3,203 | 2.97 | 99.9% | $30/month + usage | Only for licensed or owned media |
When to use each Actor
YouTube Scraper
The Streamers flagship and the one to default to. Accepts search terms, channel URLs, playlist IDs, and direct watch URLs in the same run, and returns the standard watch-page schema: title, viewCount, likes, duration, uploadDate, channelId, channelName, subscriberCount, descriptionLinks, hashtags, commentsCount. At $2.40/1k videos on pay-per-event it's roughly 10x cheaper than assembling equivalent data through the Data API once you factor in quota overages. 98.9% success across ~80k users means you can skip retry wrappers for anything under 50k items per run.
YouTube Comments Scraper
Use this when comments are the deliverable, not a side effect. Fields: text, author, authorChannelId, likeCount, publishedTimeText, replyCount, plus threaded replies[] when includeReplies=true. At $0.90/1k comments a 10k-comment pull on a viral video runs ~$9, noticeably cheaper than the main Scraper if metadata is not needed. The Actor paginates continuations via innertube, so held-for-review and channel-blocked comments never surface; plan for ~85–95% of the visible count.
YouTube Channel Scraper
Channel-grain workflows: batch competitor lists, about-page scraping, subscriber and total-view tracking, uploads feed. At $0.50/1k results it's the cheapest Actor in the set, so schedule it daily on your competitor set instead of cherry-picking videos. Returns channelName, channelDescription, subscriberCount, totalViews, joinedDate, country, links[], and a paginated uploads list. 4.36★ reflects its narrower scope, not reliability. Success rate is 99.7%.
YouTube Shorts Scraper
Pick this when the Shorts shelf is the unit of analysis. It reads the Shorts feed natively rather than forcing vertical clips through the long-form video schema, so you get correct isShort, vertical duration, and Shorts-specific engagement surfaces. Same $2.40/1k pricing as the main video Actor, 4.74★ and 99.6% success on 48k users.
YouTube Transcript Scraper: Captions & AI Fallback
The transcript pipeline. First pass hits the native caption track (manual or auto-generated): no audio download, sub-second per video, $0.70/1k transcripts. Videos without captions fall back to a bundled Whisper model running on Apify compute, billed by AI-minute; cap it with maxAiMinutes and preview cost via dryRun: true before firing at an unknown playlist. Output fields you'll actually use: transcript_json (timestamped segments for UI playback), transcript_llm (filler-stripped, chunked for RAG, drop straight into LangChain or LlamaIndex), plus transcript_srt / transcript_vtt for subtitle workflows. Caveat: still a small installed base (a few hundred users) and no public ratings yet (launched recently), and 94% success is lower than the Streamers Actors, so keep a retry on the Whisper path.
YouTube Video Downloader
Rental-model Actor: $30/month + platform usage. Only run this on content you own or have explicit licence for. YouTube's ToS prohibits download of third-party video, and the Actor README requires residential proxies for reliable resolution. It reports high run success but a low public rating (2.97★), so test on your own content before relying on it.
Why Apify instead of the Data API?
- No quota arithmetic. YouTube Data API v3 gives 10,000 units/day and a single
search.listcosts 100 units. Apify bills per result, so you can pull 50k videos in an afternoon without quota extension requests. - Fields the API doesn't expose. Comment replies beyond the first page, channel join date, hashtag arrays, Shorts-shelf position, and auto-generated transcripts are all available through the scraping Actors but gated or missing in the Data API.
- Scheduling + webhooks. Apify schedulers, n8n/Make nodes, and dataset exports (JSON, CSV, Excel) mean you don't maintain a headless browser fleet yourself.
Start with YouTube Scraper (streamers/youtube-scraper) at $2.40/1k videos. It covers search, playlists, channel uploads, and watch URLs in one run. Add the Comments Scraper ($0.90/1k) if threads are the deliverable, and switch to the Channel Scraper ($0.50/1k) when you need daily channel-grain snapshots rather than per-video pulls.
No. The Streamers Actors and the codepoetry transcript Actor scrape public YouTube surfaces directly, so you bypass the 10,000 quota-units/day ceiling entirely. You only authenticate with Apify and pay the Actor's pay-per-result or rental fee.
Yes. YouTube Transcript Scraper: Captions & AI Fallback (codepoetry/youtube-transcript-ai-scraper, $0.70/1k transcripts) returns a transcript_llm field with filler tokens stripped and chunked for RAG, drop it straight into LangChain or LlamaIndex. For videos with captions disabled, turn on the Whisper AI fallback and set maxAiMinutes to cap spend. No OpenAI key needed; Whisper runs on Apify compute.
Yes. YouTube Shorts Scraper (streamers/youtube-shorts-scraper, 48k users, 4.74★) reads the Shorts feed natively and returns vertical-format fields the long-form Actor normalises away. Same $2.40/1k pricing as the main video Actor.
Pay-per-result Actors land between $0.50/1k (Channel Scraper) and $2.40/1k (YouTube Scraper, Shorts). Comments run $0.90/1k. Transcripts are $0.70/1k without AI, higher if Whisper fallback kicks in. Rental Actors like the Video Downloader charge $30/month plus platform usage. Most production workloads I run land between $5 and $50/month.
Technically possible with the epctex downloader, but YouTube's Terms of Service prohibit download of content you don't own or have licence for. Only use it on your own channels, licensed catalogs, or creators who have given written permission. Residential proxies are typically required; see the Actor README.
Common mistakes and fixes
Comments Actor returns far fewer rows than the visible count on the watch page.
YouTube hides held-for-review, spam-flagged, and some reply threads from public DOM. Set `maxComments` above the visible count, enable `includeReplies`, and re-run with a residential proxy if the channel is geo-restricted.
Transcript Actor returns empty items.
The video has captions disabled (creator setting) or is age/region-gated. Either switch to the YouTube Transcript Scraper with Whisper AI fallback or filter the input list by `hasCaptions` before you queue the run.
Shorts-specific fields (vertical duration, Shorts shelf position) are missing from the default video Actor.
YouTube Scraper normalises to the long-form video schema. Use YouTube Shorts Scraper for Shorts-native fields or post-process `duration < 60s` + `isShort` yourself.



