Advanced Youtube Scraper
Pricing
$29.00/month + usage
Advanced Youtube Scraper
Please follow all inquiries at: tnot2652@gmail.com. Search YouTube for keywords, channels or individual video data blazingly fast. Internal YouTube API. No key needed. Customizable sorting, including their views, comments, channel info, number of subscribers, publication date, and title data etc.
Pricing
$29.00/month + usage
Rating
0.0
(0)
Developer
Steafanie Braid
Actor stats
16
Bookmarked
955
Total users
5
Monthly active users
22 days ago
Last modified
Categories
Share
Contact
For any inquiries or issues, please contact tnot2652@gmail.com.
YouTube Advanced Scraper
This actor scrapes regular YouTube video data from:
- text search queries
- direct watch URLs and
youtu.belinks - channel URLs such as
https://www.youtube.com/@Google,youtube.com/@Google, or@Google
It returns one dataset item per video with:
titleviewsurlpublication_datesubscriberschannel_linkchannel_namecommentsrelated_videosdata_date
Current Behavior
- The default no-input run uses a stable single video URL so Apify health checks pass.
- Channel root URLs are normalized to the channel's
/videostab automatically. - Search and channel pagination use YouTube continuation endpoints, so higher
max_resultsvalues work. - Search and channel scraping now builds base dataset items from list renderers first. Watch pages are opened only for direct video inputs or when comment / related-video enrichment is requested.
- Search results now do lightweight subscriber enrichment with one channel-page request per unique channel, using a bounded in-memory cache to avoid unbounded growth on large runs.
- Duplicate input entries are deduplicated before scraping.
- Unsupported YouTube URLs such as playlist pages are skipped with a warning instead of breaking the run.
Input
The actor accepts a JSON object with these fields:
queries: Required. A mix of search queries, direct video URLs, or channel URLs. Bare handles such as@Googleand scheme-less channel URLs such asyoutube.com/@Googleare accepted.sort_by: Optional. Search sorting for text queries only. One ofrelevance,view,date,rating. Default isrelevance.max_results: Optional. Maximum number of videos to collect per search query or channel URL. Default is10.num_comments: Optional. Requested comment count per video. Default is0.related_videos: Optional. Whether to try collecting related video links from watch pages. Default isfalse.
Legacy note:
The old clean input is still accepted for backwards compatibility, but it is ignored by the current actor version.
Proxy Setup
Do not place proxy credentials in actor input.
Configure the proxy through actor environment variables instead:
YOUTUBE_PROXY_URL- or the split form:
YOUTUBE_PROXY_HOST,YOUTUBE_PROXY_PORT,YOUTUBE_PROXY_USERNAME,YOUTUBE_PROXY_PASSWORD, and optionalYOUTUBE_PROXY_SCHEME
Example:
YOUTUBE_PROXY_URL=http://USERNAME:PASSWORD@HOST:PORT/
The actor redacts credentials in its own logs and only logs the proxy host and port.
Output
Example dataset item:
{"title": "Me at the zoo","views": 355000000,"url": "https://www.youtube.com/watch?v=jNQXAC9IVRw","publication_date": "2005-04-24","subscribers": 3210000,"channel_link": "https://www.youtube.com/@jawed","channel_name": "jawed","comments": [],"related_videos": ["https://www.youtube.com/watch?v=QH2-TGUlwu4","https://www.youtube.com/watch?v=oHg5SJYRHA0"],"data_date": "2026-04-18T00:00:00+00:00"}
Output Schema
The actor always returns these keys for every dataset item:
{"type": "object","properties": {"title": { "type": "string" },"views": { "type": "integer" },"url": { "type": "string" },"publication_date": { "type": ["string", "null"] },"subscribers": { "type": ["integer", "null"] },"channel_link": { "type": ["string", "null"] },"channel_name": { "type": ["string", "null"] },"comments": {"type": "array","items": { "type": "string" }},"related_videos": {"type": "array","items": { "type": "string" }},"data_date": { "type": "string" }},"required": ["title","views","url","publication_date","subscribers","channel_link","channel_name","comments","related_videos","data_date"]}
Notes
commentsare best effort. The actor now attempts to collect top-level comments through YouTube's watch-page continuation flow. Some videos can still return an empty array when comments are disabled or YouTube blocks the continuation requests.related_videosare best effort. Some watch pages block continuation requests and return an empty array.- Search and channel items can now survive blocked watch pages. In those cases, the actor logs the watch-page problem and keeps the list-page fallback item.
subscribersare now hydrated from direct watch pages, channel headers, or one lightweight channel-page request per unique channel when available. They can still benullif YouTube does not expose the count.sort_bydoes not affect direct video URLs or channel URLs.
Machine Specs
256 MB is enough for smaller runs, but larger query lists and high max_results values benefit from more memory and time.
