YouTube Scraper — Videos, Channels, Comments, Likes & Dislikes avatar

YouTube Scraper — Videos, Channels, Comments, Likes & Dislikes

Pricing

from $2.00 / 1,000 results

Go to Apify Store
YouTube Scraper — Videos, Channels, Comments, Likes & Dislikes

YouTube Scraper — Videos, Channels, Comments, Likes & Dislikes

Scrape YouTube without the API limits. Search videos by keyword or scrape a whole channel by name — with views, likes, dislikes, comments, subtitles, and full metadata. No login, no API key. Export to JSON, CSV, or Excel.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Yugenox Corp

Yugenox Corp

Maintained by Community

Actor stats

0

Bookmarked

21

Total users

14

Monthly active users

2 days ago

Last modified

Share

▶️ YouTube Scraper — Videos, Channels, Comments & More

Pull YouTube data in bulk — without the API limits, without logging in. Search for videos, scrape an entire channel by name, extract comments, get likes and dislikes, subtitles, and full metadata. Clean, structured data ready for Excel, JSON, or your app. 🎬

🚫 No login · 🔑 No API key · 🤖 No setup · ⚡ Fast · 🌍 Any video, channel, or topic


🧭 What can it do?

There are 4 simple ways to use it. Pick whichever fits — you can even mix them in one run.

You want…Use this inputExample
🔎 Videos about a topicSearch terms"lofi hip hop"
📺 A creator's whole channelChannels"Fireship"
🎧 A playlist's videosStart URLsa playlist link
📹 Specific videosStart URLsone or more video links
🩳 ShortsSearch terms + includeShorts"funny cat shorts"

Every result comes back with the same rich data: title, views, likes, dislikes, duration, upload date, channel, subscribers, description, hashtags and description links — plus optional comments and subtitle info.

Narrow any search with upload-date filters (last hour → this year) and sorting (relevance, upload date, view count, rating).


🚀 Quick start (30 seconds)

  1. Pick an input — type a search term, a channel name, or paste a YouTube link.
  2. Set Max items — how many videos you want.
  3. (Optional) Turn on comments, dislikes, or subtitles.
  4. Click Start. Download as JSON, CSV, or Excel.

That's it. No account, no keys, nothing to configure.


📖 The 4 ways to use it — with examples

1️⃣ Search for videos 🔎

Type keywords, just like the YouTube search bar. Get the top matching videos.

{ "searchTerms": ["apify tutorial"], "maxItems": 50 }

2️⃣ Scrape a whole channel 📺 (great for creators!)

Just type the channel name — no URL needed. Get every video with full stats. Perfect for tracking your own channel or a competitor's.

{ "channels": ["Fireship"], "maxItems": 100 }

You can also use an @handle or a channel URL:

{ "channels": ["@RickAstleyYT", "MrBeast"], "maxItems": 200 }

3️⃣ Scrape a playlist 🎧

Paste a playlist link to get all its videos.

{ "startUrls": ["https://www.youtube.com/playlist?list=PLxxxxxx"], "maxItems": 100 }

4️⃣ Scrape specific videos 📹

Paste one or more video links.

{ "startUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"] }

➕ Add comments and dislikes to any of the above 💬👎

{
"channels": ["Fireship"],
"maxItems": 50,
"maxComments": 20,
"includeDislikes": true
}

⚙️ All input options

FieldWhat it doesDefault
🔎 Search termsKeywords to search on YouTube—
📺 ChannelsChannel name, @handle, or URL → all their videos—
🔗 Start URLsVideo, channel, playlist, or search links—
🔢 Max itemsHow many videos per search / channel / playlist10
💬 Max comments per videoNumber of top comments to pull (0 = none)0
👎 Include dislikesAdd an estimated dislike countoff
📝 Include subtitlesList/attempt subtitle downloadoff
🧾 Full video detailsCategory, keywords, exact durationoff
🩳 Include ShortsAlso collect YouTube Shorts from search resultsoff
📅 Upload dateany, hour, today, week, month, yearany
↕️ Sorting orderrelevance, date, views, ratingrelevance
🔢 Max ShortsCap Shorts per search (0 excludes them)no cap
📡 Max live streamsCap live streams per search (0 excludes them)no cap

(You need at least one of: Search terms, Channels, or Start URLs.)

🩳 A note on Shorts

Shorts are off by default. YouTube returns them in a separate shelf from normal videos, so turning includeShorts on genuinely changes which videos a search gives you — existing runs keep their long-form-only results unless you opt in.

{ "searchTerms": ["funny cat shorts"], "maxItems": 20, "includeShorts": true }

Shorts rows carry isShort: true and a shortsUrl. Note that YouTube stops returning the Shorts shelf when an upload-date filter or a non-default sort order is applied, and duration is not available for Shorts.

📅 Filtering and sorting examples

{ "searchTerms": ["ai news"], "dateFilter": "week", "sortBy": "date", "maxItems": 50 }
{ "searchTerms": ["react tutorial"], "sortBy": "views", "maxItems": 100 }

Filters apply to search terms only — not to direct channel, playlist, or video URLs.


📤 What you get (output)

One clean row per video. Here's a real example:

{
"id": "dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Video)",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"thumbnailUrl": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg",
"viewCount": 1792628321,
"likes": 19243762,
"dislikes": 514894,
"duration": "3:33",
"date": "Oct 24, 2009",
"channelName": "Rick Astley",
"channelUrl": "https://www.youtube.com/@RickAstleyYT",
"numberOfSubscribers": 4520000,
"text": "The official video for “Never Gonna Give You Up”...",
"publishedAt": "2009-10-24",
"hashtags": ["RickAstley", "NeverGonnaGiveYouUp"],
"descriptionLinks": [
{ "url": "https://RickAstley.lnk.to/_listenYD", "text": "Listen" }
],
"commentsCount": 3,
"comments": [
{
"author": "@YouTube",
"text": "can confirm: he never gave us up",
"likes": 268000,
"replyCount": 412,
"publishedTime": "2 years ago"
}
],
"fromYTUrl": "https://www.youtube.com/@RickAstleyYT",
"scrapedAt": "2026-07-14T12:00:00.000Z"
}

📋 Every field explained

FieldDescription
🆔 id, 🔗 urlVideo ID and link
🏷️ titleVideo title
🖼️ thumbnailUrlHighest-res thumbnail
👀 viewCountNumber of views
👍 likesExact like count
👎 dislikesEstimated dislikes (only if enabled)
⏱️ durationVideo length (e.g. 3:33)
📅 dateUpload date, as YouTube displays it (e.g. Oct 24, 2009)
📆 publishedAtUpload date normalised to YYYY-MM-DD (null for relative dates)
#️⃣ hashtagsHashtags parsed from the description
🔗 descriptionLinksLinks in the description as { url, text } — socials, contact, sponsors
🩳 isShort, shortsUrlPresent on Shorts (only when includeShorts is on)
📺 channelName, channelUrl, channelIdChannel info
📈 numberOfSubscribersChannel subscriber count
📝 textFull video description
🏷️ category, keywordsCategory and tags (with Full details)
💬 commentsCount, commentsComments: author, text, likes, replies, time
🗣️ availableSubtitles, subtitlesSubtitle languages (+ SRT if available)
🔗 fromYTUrlWhere this result came from
📅 scrapedAtWhen it was scraped

💡 Who is this for?

  • 🎥 Creators — track your channel's performance, or study competitors' videos, views, and engagement
  • 📣 Marketers & brands — find influencers, monitor mentions, analyze what's trending
  • 🔬 Researchers — study topics, opinions, and comment sentiment at scale
  • 🤖 AI & data teams — feed video metadata and comments into your pipelines
  • 🏢 Agencies — build reports and dashboards from live YouTube data

❓ FAQ

Do I need a YouTube account or API key? No. It uses YouTube's public data. Nothing to log in to, nothing to set up.

Can I really scrape a channel just by its name? Yes! Type "Fireship" (or an @handle, or a channel URL) in the Channels field and it pulls all their videos with full stats. This is the easiest way to do channel analytics.

Can it get dislikes? Yes, as an estimate. YouTube removed public dislikes in 2021, so we use the community Return YouTube Dislike database — accurate for older videos, a solid estimate for newer ones. Turn on Include dislikes to add it.

Can I get comments? Yes. Set Max comments per video to how many you want (e.g. 20). Each comment includes the author, text, likes, reply count, and time.

What about subtitles? The scraper lists every video's available subtitle languages. Downloading the subtitle text depends on YouTube availability (they recently locked this behind bot-checks), so it's best-effort.

How many videos can I scrape? Thousands per input. Very large runs may fluctuate depending on YouTube.

Which proxy should I use? The default (Apify Proxy) works great. Residential is available if you ever need it.


Is it legal to scrape YouTube? This Actor only collects publicly available data: video, channel and comment data that anyone can see on YouTube without signing in. Collecting publicly available data is generally legal, but you're responsible for how you use it. Results can include channel names and, if you request comments, commenters' public channel names, and that counts as personal data. You must follow privacy laws such as GDPR, PIPEDA and CCPA, as well as YouTube's terms. If you're unsure, check with a lawyer. More on this: Is web scraping legal?

Does it access any private data? No. Everything comes from pages YouTube shows to any visitor without logging in. It never uses a login, never touches private or restricted accounts, and never reaches password-protected areas.

🔒 Notes

  • Scrapes publicly available data only.
  • Please respect copyright and privacy laws (e.g. GDPR) when handling personal data like comments.
  • Not affiliated with YouTube.

Channel, playlist, video, search, and comments are all supported today. Subtitle text download is best-effort. Questions or a bug? Open an issue on the actor's Issues tab.