Youtube Scraper Pro
Pricing
from $4.00 / 1,000 results
Youtube Scraper Pro
The most advanced YouTube scraper on the market. Extract videos, Shorts, Live streams, comments, and even dislike counts from any country. Includes AI-ready JSON output and subtitle downloads.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer

Scrapity Solutions
Actor stats
1
Bookmarked
3
Total users
1
Monthly active users
a month ago
Last modified
Categories
Share
YouTube Scraper Pro 🎬
The most complete YouTube scraper on Apify - Extract videos, Shorts, streams with likes, comments, subscribers, and even dislikes!
⭐ Key Features
-
✅ Smart Extraction - Continues scrolling until target results reached (even with filters!)
-
✅ Dislike Counts - Estimated dislikes via Return YouTube Dislike API
-
✅ 100+ Regions - Any country with ISO code
-
✅ HD/4K/VR Filters - Filter by video quality
-
✅ Video Type Filter - Video or Movie
-
✅ Channel Date Range - Only videos after specific date
-
✅ VTT Subtitles - Multiple subtitle formats
-
✅ Save to KVS - Store large subtitles efficiently
-
✅ Proxy Configuration - Built-in Apify proxy support
-
✅ Min Views Filter - Only high-view videos (filtered during scroll!)
-
✅ Rate Limiting - Stable, reliable scraping
🚀 Features
Core Scraping
- ✅ Videos - Regular YouTube videos with all metadata
- ✅ Shorts - YouTube Shorts with view counts
- ✅ Streams - Live streams and archived livestreams
- ✅ Direct URLs - Scrape specific video/channel/playlist URLs
Engagement Metrics
- 👍 Likes - Accurate like counts
- 👎 Dislikes - Estimated dislikes via Return YouTube Dislike API
- 💬 Comments Count - Number of comments
- 👥 Subscribers - Channel subscriber count
- ⭐ Rating - Video rating score
Advanced Filters (NEW!)
- 🎬 Video Type - Filter by Video or Movie
- 📺 HD Quality - Only HD videos
- 🎥 4K Quality - Only 4K UHD videos
- 🥽 VR180/HDR/360°/3D - Filter by video features
- 📝 Subtitles/CC - Only videos with captions
- 📜 Creative Commons - Only CC-licensed videos
- 🔴 Live - Only live broadcasts
Channel Scraping Options (NEW!)
- 📅 Date Range - Only get videos uploaded after a specific date
- 📊 Sort Order - Sort channel videos by Newest, Popular, or Oldest
Subtitle Options (NEW!)
- 📝 VTT Format - Web Video Text Tracks format
- 🗄️ Save to KVS - Store large subtitles in Key-Value Store
- 🤖 Auto-Generated - Prefer YouTube's auto-captions
- 🌍 14 Languages - Dropdown with major languages
Other Features
- 🌍 100+ Regions - Get results for ANY country
- 🔤 80+ Languages - Results in any language
- 📊 Min Views Filter - Only get videos above X views
- 🔁 Smart Retry - Automatic retry on failed extractions
- 💾 Caching - In-memory cache prevents duplicate scraping
- 🔧 Proxy Config - Built-in Apify proxy support
⚡ Smart Extraction (NEW!)
The scraper uses intelligent filter-aware scrolling to ensure you always get your requested number of results:
How it works:
- Scrolls YouTube search results page
- Filters each video during extraction (not after)
- Immediately enqueues passing videos for parallel enrichment
- Continues scrolling until
maxResultsfiltered videos are found
Example log output:
Extracting videos (target: 10 with min 100,000 views)...Scroll 1: +3 passed filter (3/10)Scroll 2: +2 passed filter (5/10)Scroll 3: +4 passed filter (9/10)Scroll 4: +1 passed filter (10/10)✅ Reached target: 10 videos (scrolled 4x, checked 28 total)
This means if you request 10 videos with minViews: 100000, you'll get exactly 10 videos that all have 100k+ views, even if the scraper has to check 30+ videos to find them.
🛡️ Rate Limiting & Protection
Built-in protection to ensure stable, reliable scraping:
| Limit | Value | Purpose |
|---|---|---|
| Max Videos/Run | 5,000 | Prevent resource exhaustion |
| Max Queries/Run | 50 | Prevent excessive searches |
| Max Enrichments/Run | 500 | Limit video page visits |
| Request Delay | 1-3 sec | Avoid rate limiting |
| Memory Warning | 1024 MB | Prevent crashes |
🌍 Supported Regions & Languages
Countries (100+ supported)
Any valid ISO 3166-1 alpha-2 country code works:
| Region | Examples |
|---|---|
| Americas | US, CA, MX, BR, AR, CL, CO, PE |
| Europe | UK, DE, FR, ES, IT, NL, PL, SE, NO |
| Asia Pacific | JP, KR, CN, IN, AU, NZ, SG, TH, VN, ID, PH, MY |
| Middle East | SA, AE, EG, IL, TR |
| Africa | ZA, NG, KE |
Languages (80+ supported)
Any valid ISO 639-1 language code works:
| Category | Examples |
|---|---|
| European | en, es, fr, de, it, pt, nl, pl, sv, no, da |
| Asian | ja, ko, zh, hi, th, vi, id, ms, tl |
| Middle Eastern | ar, he, tr, fa |
| Other | ru, uk, bn, ta, te |
📤 Output Data
Each video includes:
{"id": "Yq0QkCxoTHM","title": "Google's AI Course for Beginners","url": "https://www.youtube.com/watch?v=Yq0QkCxoTHM","thumbnailUrl": "https://i.ytimg.com/vi/Yq0QkCxoTHM/maxresdefault.jpg","viewCount": 3000000,"likes": 51477,"dislikes": 685,"commentsCount": 2503,"numberOfSubscribers": 1590000,"channelName": "Jeff Su","channelUrl": "https://www.youtube.com/@JeffSu","channelAvatar": "https://yt3.ggpht.com/...","duration": "9:18","date": "2023-11-14T05:00:33-08:00","isMonetized": true,"commentsTurnedOff": false,"descriptionLinks": [...],"type": "video","rank": 1,"subtitles": "...","subtitlesKey": "subtitles-Yq0QkCxoTHM"}
⚙️ Input Options
🔍 Search & Basic Limits
| Option | Description | Default | Max |
|---|---|---|---|
searchQueries | Keywords to search for | - | - |
maxResults | Max videos per query | 50 | 1000 |
maxResultsShorts | Max Shorts per query | 0 | 500 |
maxResultsStreams | Max streams per query | 0 | 500 |
🔗 Direct URLs
| Option | Description |
|---|---|
startUrls | Direct video/channel/playlist URLs |
📝 Subtitle Options
| Option | Description | Default |
|---|---|---|
downloadSubtitles | Enable subtitle download | false |
saveSubtitlesToKVS | Store in Key-Value Store | false |
subtitlesLanguage | Language (dropdown: 14 options) | en |
preferAutoGeneratedSubtitles | Prefer auto-captions | false |
subtitlesFormat | plaintext, srt, vtt, json | plaintext |
🎯 Search Filters
| Option | Description |
|---|---|
sortingOrder | relevance, rating, upload_date, view_count |
dateFilter | hour, today, week, month, year |
videoType | video, movie |
durationFilter | short, medium, long |
minViews | Only videos with at least X views |
📺 Feature Filters (NEW!)
| Option | Description |
|---|---|
featureHD | Only HD quality videos |
feature4K | Only 4K UHD videos |
featureHDR | Only HDR videos |
featureVR180 | Only VR180 videos |
feature360 | Only 360° videos |
feature3D | Only 3D videos |
featureSubtitles | Only videos with CC |
featureCreativeCommons | Only CC-licensed videos |
featureLive | Only live broadcasts |
📅 Channel Options (NEW!)
| Option | Description |
|---|---|
oldestPostDate | Only videos after date (YYYY-MM-DD or "30 days") |
sortChannelBy | newest, popular, oldest |
🌍 Geolocation
| Option | Description | Examples |
|---|---|---|
countryCode | Any ISO country code | US, UK, DE, JP, BR, IN |
language | Any ISO language code | en, es, fr, de, ja, ko |
⚡ Data Options
| Option | Description | Default |
|---|---|---|
enrichData | Fetch likes/comments/subs | true |
fetchDislikes | Get dislike counts (API) | true |
🔧 Run Options
| Option | Description |
|---|---|
proxyConfiguration | Apify proxy settings |
📺 Channel & Playlist Scraping
You can scrape entire channels or playlists by providing the URL in startUrls.
Channels
Supported formats:
https://www.youtube.com/@ChannelNamehttps://www.youtube.com/channel/CHANNEL_IDhttps://www.youtube.com/c/ChannelName
The scraper will automatically navigate to the Videos, Shorts, and Live tabs and extract content based on your limits. You can also control sorting with sortChannelBy.
Playlists
Supported formats:
https://www.youtube.com/playlist?list=PLAYLIST_IDhttps://www.youtube.com/watch?v=VIDEO_ID&list=PLAYLIST_ID
📤 Export Formats
Apify automatically supports exporting your dataset in:
- JSON / JSONL (Best for developers.)
- CSV (Best for spreadsheets.)
- Excel (XLSX)
- HTML (Table view.)
- XML
- RSS
📋 Example Input
{"searchQueries": ["AI tutorials", "machine learning"],"maxResults": 100,"maxResultsShorts": 20,"sortingOrder": "view_count","countryCode": "US","language": "en","minViews": 10000,"featureHD": true,"enrichData": true,"fetchDislikes": true,"downloadSubtitles": true,"subtitlesFormat": "vtt","saveSubtitlesToKVS": true}
💰 Pricing
~$3.50 - $4.10 per 1,000 videos (with enrichment)
Cost varies based on enrichData setting. Proxies charged separately.
| Videos | With Enrichment | Without Enrichment | Time (Approx) |
|---|---|---|---|
| 10 | ~$0.03 | ~$0.01 | 2-3 mins |
| 100 | ~$0.30 | ~$0.05 | 15-30 mins |
| 1,000 | ~$3.00 | ~$0.50 | 2-5 hours |
Tip: Set
enrichData: falsefor faster, cheaper runs if you only need basic video info. (title, views, channel, duration)
💸 What Increases Costs?
| Factor | Impact | Recommendation |
|---|---|---|
enrichData: true | High - Visits each video page | Disable if you only need search results |
downloadSubtitles: true | Medium - Extra processing per video | Only enable when needed |
fetchDislikes: true | Low - API calls | Minimal impact, keep enabled |
High minViews filter | Medium - More scrolling needed | Lower the threshold if possible |
| Strict feature filters (HD, 4K, etc.) | Medium - Fewer matches, more scrolling | Use only when necessary |
| Multiple search queries | Scales linearly | Combine related queries |
| Proxy usage | Separate charge | Use datacenter proxies for lower cost |
🔒 Reliability & Protection
- ✅ Rate Limiting - Prevents overload and ensures stable runs
- ✅ Validation Layer - Checks for NULL fields before output
- ✅ Auto-Retry - Retries failed extractions up to 2 times
- ✅ Memory Monitor - Warns before memory exhaustion
- ✅ Fingerprint Rotation - Avoids detection
- ✅ Smart Caching - Prevents duplicate requests
- ✅ Deduplication - No duplicate videos in output
📜 Changelog
v1.2 - Smart Extraction Update
-
✨ Smart Scroll + Filter - Continues scrolling until
maxResultsvideos pass theminViewsfilter -
✨ Parallel Enrichment - Videos are enqueued for enrichment immediately while still scrolling
-
✨ Improved Duration Extraction - Multiple fallback selectors and lazy-load detection
-
✨ Filter Logging - See exactly which filters are active in the logs
-
✨ Progress Logging - Real-time updates:
Scroll 1: +3 passed filter (3/10) -
🔧 Faster extraction with optimized wait times
-
🔧 Mouse movement to trigger lazy-loaded elements
v1.1 - Feature Parity Update
- ✨ Video Type Filter - Filter by Video or Movie
- ✨ Feature Filters - HD, 4K, VR180, HDR, 360°, 3D, CC, Live
- ✨ Channel Date Range - Only get videos after a specific date
- ✨ Channel Sort - Sort by Newest, Popular, or Oldest
- ✨ VTT Format - Web Video Text Tracks subtitle format
- ✨ KVS Storage - Save large subtitles to Key-Value Store
- ✨ Auto-Generated Subtitles - Prefer YouTube's auto-captions
- ✨ Subtitle Language Dropdown - 14 languages available
- ✨ Proxy Configuration - Built-in Apify proxy support
- 🔧 Improved UX with better section organization
v1.0 - Initial Release
- Full video, Shorts, and Streams support
- Likes, comments, subscribers extraction
- Return YouTube Dislike API integration
- 100+ countries, 80+ languages support
- Rate limiting and protection
- Subtitle/transcript download
- Smart caching and validation