Youtube Scraper Pro avatar
Youtube Scraper Pro

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Youtube Scraper Pro

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

Scrapity Solutions

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

4 hours 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