Youtube Scraper Pro avatar

Youtube Scraper Pro

Under maintenance

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Youtube Scraper Pro

Youtube Scraper Pro

Under maintenance

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

Scrapity Solutions

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

1

Monthly active users

16 days ago

Last modified

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:

  1. Scrolls YouTube search results page
  2. Filters each video during extraction (not after)
  3. Immediately enqueues passing videos for parallel enrichment
  4. Continues scrolling until maxResults filtered 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:

LimitValuePurpose
Max Videos/Run5,000Prevent resource exhaustion
Max Queries/Run50Prevent excessive searches
Max Enrichments/Run500Limit video page visits
Request Delay1-3 secAvoid rate limiting
Memory Warning1024 MBPrevent crashes

🌍 Supported Regions & Languages

Countries (100+ supported)

Any valid ISO 3166-1 alpha-2 country code works:

RegionExamples
AmericasUS, CA, MX, BR, AR, CL, CO, PE
EuropeUK, DE, FR, ES, IT, NL, PL, SE, NO
Asia PacificJP, KR, CN, IN, AU, NZ, SG, TH, VN, ID, PH, MY
Middle EastSA, AE, EG, IL, TR
AfricaZA, NG, KE

Languages (80+ supported)

Any valid ISO 639-1 language code works:

CategoryExamples
Europeanen, es, fr, de, it, pt, nl, pl, sv, no, da
Asianja, ko, zh, hi, th, vi, id, ms, tl
Middle Easternar, he, tr, fa
Otherru, 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

OptionDescriptionDefaultMax
searchQueriesKeywords to search for--
maxResultsMax videos per query501000
maxResultsShortsMax Shorts per query0500
maxResultsStreamsMax streams per query0500

πŸ”— Direct URLs

OptionDescription
startUrlsDirect video/channel/playlist URLs

πŸ“ Subtitle Options

OptionDescriptionDefault
downloadSubtitlesEnable subtitle downloadfalse
saveSubtitlesToKVSStore in Key-Value Storefalse
subtitlesLanguageLanguage (dropdown: 14 options)en
preferAutoGeneratedSubtitlesPrefer auto-captionsfalse
subtitlesFormatplaintext, srt, vtt, jsonplaintext

🎯 Search Filters

OptionDescription
sortingOrderrelevance, rating, upload_date, view_count
dateFilterhour, today, week, month, year
videoTypevideo, movie
durationFiltershort, medium, long
minViewsOnly videos with at least X views

πŸ“Ί Feature Filters (NEW!)

OptionDescription
featureHDOnly HD quality videos
feature4KOnly 4K UHD videos
featureHDROnly HDR videos
featureVR180Only VR180 videos
feature360Only 360Β° videos
feature3DOnly 3D videos
featureSubtitlesOnly videos with CC
featureCreativeCommonsOnly CC-licensed videos
featureLiveOnly live broadcasts

πŸ“… Channel Options (NEW!)

OptionDescription
oldestPostDateOnly videos after date (YYYY-MM-DD or "30 days")
sortChannelBynewest, popular, oldest

🌍 Geolocation

OptionDescriptionExamples
countryCodeAny ISO country codeUS, UK, DE, JP, BR, IN
languageAny ISO language codeen, es, fr, de, ja, ko

⚑ Data Options

OptionDescriptionDefault
enrichDataFetch likes/comments/substrue
fetchDislikesGet dislike counts (API)true

πŸ”§ Run Options

OptionDescription
proxyConfigurationApify 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/@ChannelName
  • https://www.youtube.com/channel/CHANNEL_ID
  • https://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_ID
  • https://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.

VideosWith EnrichmentWithout EnrichmentTime (Approx)
10~$0.03~$0.012-3 mins
100~$0.30~$0.0515-30 mins
1,000~$3.00~$0.502-5 hours

Tip: Set enrichData: false for faster, cheaper runs if you only need basic video info. (title, views, channel, duration)

πŸ’Έ What Increases Costs?

FactorImpactRecommendation
enrichData: trueHigh - Visits each video pageDisable if you only need search results
downloadSubtitles: trueMedium - Extra processing per videoOnly enable when needed
fetchDislikes: trueLow - API callsMinimal impact, keep enabled
High minViews filterMedium - More scrolling neededLower the threshold if possible
Strict feature filters (HD, 4K, etc.)Medium - Fewer matches, more scrollingUse only when necessary
Multiple search queriesScales linearlyCombine related queries
Proxy usageSeparate chargeUse 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 maxResults videos pass the minViews filter

  • ✨ 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