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
Maintained by CommunityActor stats
16
Bookmarked
961
Total users
1
Monthly active users
12 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_datevideo_idduration_secondsthumbnail_url
Pricing transition
This Actor migrates from monthly rental to pay per event. Apify shows the effective date and the price for each run in Console.
| Apify plan | Price per 1,000 videos |
|---|---|
| Free and Bronze | $0.50 |
| Silver | $0.45 |
| Gold, Platinum, and Diamond | $0.40 |
The startup charge is $0.00005 per started GB of allocated memory, with a minimum of one event. Each video saved to the default dataset counts as one result. Comments and related links inside a video record have no separate event charge. Runs with no results can still incur the startup charge. The Actor stops when the remaining budget cannot cover another video.
Current Behavior
- The default input is the public video “Me at the zoo”.
- 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, cause an input error.
- If an input fails, the run reports failure and preserves the videos already saved.
- The
RUN_SUMMARYrecord in the key-value store lists completed, empty, and failed inputs. - A valid search with no matching videos completes with zero results.
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", "null"] },"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" },"video_id": { "type": "string" },"duration_seconds": { "type": ["integer", "null"] },"thumbnail_url": { "type": ["string", "null"] }},"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.publication_datepreserves the available precision. List results can contain relative text, such as3 months ago.- Direct video pages provide a calendar date when YouTube exposes it. The Actor does not convert relative text into an invented date.
duration_secondsandthumbnail_urlarenullwhen unavailable. Live videos can have no duration.- If watch-page enrichment fails, a list result can include
enrichment_errorswith the failure reason.
Machine Specs
256 MB is enough for smaller runs, but larger query lists and high max_results values benefit from more memory and time.