YouTube Scraper
Pricing
from $0.20 / 1,000 collected records
YouTube Scraper
Scrape YouTube search results, videos, Shorts, live streams, channels with social links, playlists, community posts, comments with nested replies and transcripts. Full search filters, exact counts, fast and low cost.
Pricing
from $0.20 / 1,000 collected records
Rating
0.0
(0)
Developer
Coder
Maintained by CommunityActor stats
2
Bookmarked
50
Total users
15
Monthly active users
11 days ago
Last modified
Categories
Share
Scrape YouTube search results, videos, Shorts, live streams, channels, playlists and community posts into clean JSON, CSV or Excel. Get exact views, likes and comment counts, full descriptions with links, hashtags, tags, publish times, channel details with every social link, comments with nested replies, transcripts, chapters and YouTube's AI video summaries. Every YouTube search filter is built in - no YouTube account, no login and no API key needed.
Use it for market and competitor research, influencer discovery and outreach, content and trend analysis, brand monitoring, audience and sentiment research (comments), AI / LLM datasets (transcripts) and analytics dashboards.
What you get
| Input | You get |
|---|---|
| Search term | Videos, Shorts, live streams, channels and playlists from YouTube search, with any combination of YouTube's filters |
| Channel link or @handle | The channel's videos, Shorts and streams (latest, popular or oldest first), its community posts and playlists, and the full channel profile |
| Playlist link | The playlist's details and its videos in order |
| Video, Short or live link | That video with full details |
| Community post link | The post, with its comments |
| YouTube search link | The results of that search, with the filters already in the link |
Results are saved in five tables, so each kind of data opens as its own clean spreadsheet: Videos (videos, Shorts and streams), Channels, Comments, Posts and Playlists.
Every video includes
| Section | Fields |
|---|---|
| Basics | ID, URL, type (video / short / stream), title, full description, links found in the description, hashtags, tags, thumbnail |
| Numbers | Exact view count, like count and comment count, whether comments are turned off |
| Time & length | Duration, exact publish time, live start / end times, scheduled start, current viewers for live streams |
| Details | Category, language, made for kids, age-restricted, unlisted, license (standard / Creative Commons), HD / SD, 360°, 3D, captions available, paid promotion, region restrictions, topics, recording location |
| Channel | Channel ID, name, handle, URL |
| Add-ons | Chapters, YouTube's AI summary, members-only flag, collaborators, Shorts sound, transcripts (see below) |
Channel details (optional)
Name, handle, description, all social and website links (Instagram, X/Twitter, TikTok, Facebook, Discord, websites ...), country, join date, subscribers, total views, video count, verified and artist badges, whether a business email is listed, avatar, banner, keywords and the channel's tabs.
Comments with nested replies
Every comment and reply is one row with the text, author (name, channel, avatar, verified, is the channel owner), exact like count, reply count, exact publish time, edited, pinned and creator heart. Replies are collected up to 6 levels deep (replies to replies), and each row carries replyLevel, parentId and rootId so you can rebuild every thread.
Transcripts
The video's captions as plain text, timed segments (start, duration, text) or SRT subtitles, in the languages you choose. Manual captions are preferred over auto-generated ones, and every video also lists all the caption languages it has.
Input
| Field | What it does |
|---|---|
| Search terms | Keywords to search, one per row |
| YouTube links or channel handles | Any YouTube link or @handle. Add a tab to a channel link (/videos, /shorts, /streams, /posts, /playlists) to scrape only that tab |
| Maximum videos / Shorts / live streams | How many of each to collect per search term, channel or playlist. 0 skips that kind |
| Maximum channels / playlists from search | Also collect channels or playlists that match a search term |
| Search filters | Sort by (relevance, popularity), upload date (today, this week, this month, this year), duration (under 3, 3-20, over 20 minutes) and features (HD, 4K, subtitles, Creative Commons, 360°, VR180, 3D, HDR, location, purchased) - the same options as YouTube's filter panel |
| Channel videos order | Latest, popular or oldest first |
| Published after | Keep only items published after a date (2026-09-01) or within a period (7 days, 3 months) |
| Add channel details | One channel row for every channel you entered and every collected video's channel, with social links (charged per channel) |
| Maximum community posts / playlists per channel | Collect a channel's posts and playlists |
| Add chapters and AI summary | Chapters, YouTube's AI summary, members-only flag and collaborators |
| Add Shorts sound | The sound or song a Short uses |
| Add transcripts | Captions, with language preference and format |
| Comments | Maximum comments per video or post, order (top / newest), reply depth (0-6), replies per comment and a "published after" date |
| Country | The country YouTube shows results for |
Example input
{"searchQueries": ["ai tools for students"],"startUrls": ["https://www.youtube.com/@mkbhd"],"maxResults": 20,"maxResultsShorts": 10,"searchUploadDate": "month","searchFeatures": ["hd", "subtitles"],"includeChannelInfo": true,"includeTranscripts": true,"transcriptLanguages": ["en"],"maxComments": 50,"maxReplyDepth": 2}
Example output
Video
{"type": "video","id": "DkUuOr21v4s","url": "https://www.youtube.com/watch?v=DkUuOr21v4s","title": "Xiaomi 18 Pro Max: They've Done It Again!","description": "If one-upping the iPhone was a sport, Xiaomi would be Lebron James.\n\nMKBHD Merch: http://shop.MKBHD.com ...","descriptionLinks": ["http://shop.MKBHD.com", "https://goo.gl/B3AWV5"],"hashtags": [],"tags": ["Xiaomi", "Xiaomi 18 Pro", "Xiaomi 18 Pro Max", "18 Pro Max"],"thumbnailUrl": "https://i.ytimg.com/vi/DkUuOr21v4s/uhddefault.jpg","viewCount": 7607998,"likeCount": 90294,"commentCount": 5167,"commentsTurnedOff": false,"duration": "11:56","durationSeconds": 716,"publishedAt": "2026-09-24T22:26:18Z","category": "Science & Technology","language": "en","isLive": false,"madeForKids": false,"isAgeRestricted": false,"license": "standard","definition": "hd","hasCaptions": true,"hasPaidPromotion": false,"topics": ["Technology"],"channel": {"id": "UCBJycsmduvYEL83R_U4JriQ","name": "Marques Brownlee","handle": "@mkbhd","url": "https://www.youtube.com/@mkbhd"},"chapters": [],"aiSummary": "Marques Brownlee examines the Xiaomi 18 Pro Max, exploring its hardware upgrades including a new privacy display, advanced camera system ...","transcripts": [{"language": "en","languageName": "English","isAutoGenerated": false,"text": "So this is the new iPhone 18 Pro Max, and this is the new Xiaomi... 18 Pro Max. ..."}],"availableTranscriptLanguages": ["en", "ja", "pt", "ru", "tr", "vi"],"source": { "input": "@mkbhd", "type": "channel", "tab": "videos", "position": 1 },"scrapedAt": "2026-09-26T13:42:31Z"}
Channel
{"type": "channel","id": "UCBJycsmduvYEL83R_U4JriQ","url": "https://www.youtube.com/@mkbhd","name": "Marques Brownlee","handle": "@mkbhd","links": [{ "title": "Twitter", "url": "http://twitter.com/MKBHD" },{ "title": "Instagram", "url": "http://instagram.com/MKBHD" },{ "title": "Reddit", "url": "http://reddit.com/r/MKBHD" },{ "title": "Discord", "url": "http://discord.gg/MKBHD" }],"country": "United States","joinedAt": "2008-03-21","subscriberCount": 21300000,"viewCount": 5701982926,"videoCount": 1853,"isVerified": true,"hasBusinessEmail": true,"avatarUrl": "https://yt3.googleusercontent.com/...","bannerUrl": "https://yt3.googleusercontent.com/...","keywords": ["MKBHD", "MarquesBrownlee", "Marques", "Brownlee"],"tabs": ["Home", "Videos", "Shorts", "Live", "Shows", "Playlists", "Posts", "Store"]}
Comment (a reply)
{"type": "comment","id": "UgwbFVC25OjzrbY9iYB4AaABAg.AatakisKOuLAatdb_dHJlU","text": "That is a great way of using these tools as a supportive study tool for students!","author": {"name": "@TeachersTechHQ","channelId": "UCM3mutT2jaaAIrqiMqom11g","isVerified": false,"isChannelOwner": true,"url": "https://www.youtube.com/@TeachersTechHQ"},"likeCount": 1,"replyCount": 0,"replyLevel": 1,"parentId": "UgwbFVC25OjzrbY9iYB4AaABAg","rootId": "UgwbFVC25OjzrbY9iYB4AaABAg","publishedAt": "2026-09-18T09:41:02Z","isEdited": false,"hasCreatorHeart": false,"isPinned": false,"videoId": "cIScTGWMrgg","videoTitle": "AI Tools for Teachers: How Students Can Use AI to Learn, Not Just Get Answers?"}
Pricing
You pay only for results you receive - never for searches, filters, retries or items that turned out to be private or deleted.
| Result | Price per 1,000 |
|---|---|
| Video, Short or stream (full details) | $1.50 |
| Channel (full profile with social links) | $2.00 |
| Comment or reply (any level) | $0.50 |
| Transcript (one video, one language) | $2.00 |
| Community post | $1.00 |
| Playlist details | $1.00 |
| Chapters + AI summary add-on (per video) | $1.00 |
| Shorts sound add-on (per Short) | $0.50 |
Prices are for the Apify Free plan; paid Apify plans get lower prices automatically. Search filters and date filters are free. You can set a maximum cost per run in the run options - the Actor stops cleanly when it is reached.
Free plan
On Apify's free plan a run uses up to 5 search terms or links and up to 20 results of each kind per search term, channel or playlist (20 comments per video). Every feature works, so you can try all of them before upgrading.
Good to know
- Transcripts are returned in the languages each video actually has. YouTube does not offer machine-translated captions to automated tools, so a language the video does not have is skipped.
- Chapters are YouTube's own (creator or auto-generated). YouTube does not show them on every request; the Actor retries, and a video with no chapters returns an empty list.
- Community post comments have no exact time: YouTube only shows "3 days ago" for them, so they get
estimatedPublishedAt(worked out frompublishedTimeText) and an emptypublishedAt. Video comments have exact times inpublishedAt. - Community posts have an
estimatedPublishedAtworked out from YouTube's "3 weeks ago" (publishedTimeText): exact time for posts under a day old, the date only for older ones. YouTube shows no exact post time anywhere. - Poll results (percentages) are only shown by YouTube after voting, so polls include the choices and total votes.
- Channel emails are behind YouTube's sign-in and captcha. The channel row tells you whether a business email is listed (
hasBusinessEmail). - Private, removed and members-only content is skipped and not charged.
FAQ
Do I need a YouTube account or API key? No. Everything is public data, collected without logging in.
Can I scrape a whole channel? Yes - set Maximum videos (and Shorts / live streams) high enough. Use "Published after" to collect only recent uploads.
How do I get only a channel's Shorts? Paste the channel link with /shorts at the end, e.g. https://www.youtube.com/@mkbhd/shorts.
Can I use my own YouTube search? Yes - filter the results on youtube.com, copy the address and paste it as a link. Its filters are kept.
How do I rebuild comment threads? Group comment rows by rootId; each reply's parentId is the comment it answers and replyLevel is its depth. replyCount is YouTube's own number: every reply below that comment, at all levels (so a reply with 1 answer that itself has 4 answers shows 5).
Can I export to Excel or CSV? Yes - every table can be downloaded as JSON, CSV, Excel, XML or HTML, or read through the Apify API.