YouTube Channel Videos Scraper (bulk, lightweight) avatar

YouTube Channel Videos Scraper (bulk, lightweight)

Pricing

$0.35 / 1,000 video listeds

Go to Apify Store
YouTube Channel Videos Scraper (bulk, lightweight)

YouTube Channel Videos Scraper (bulk, lightweight)

List every video of a YouTube channel: title, video id, duration, view count, publish date and thumbnail, plus channel name, handle and subscriber count. Paste channel URLs, @handles or channel ids. Only delivered videos are charged.

Pricing

$0.35 / 1,000 video listeds

Rating

0.0

(0)

Developer

Steadydata Team

Steadydata Team

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Share

Get the full video list of any YouTube channel: title, video id, duration, view count, publish date and thumbnail, with the channel's name, handle and subscriber count on every row. Paste channel URLs, @handles or channel ids, up to 100 channels per run. You only pay for videos that are actually delivered.

Why this scraper

  • Built on a lightweight route. Loading a channel page costs about 1.5 MB for the first 30 videos. This actor asks YouTube's own internal API instead and needs about 2.3 KB per video, which is where the low price comes from.
  • Only delivered videos are charged. A channel that does not exist, has no public videos, or is temporarily blocked comes back as a clear error record at no cost.
  • A hard cost ceiling you control. maxVideosPerChannel is the cap: one delivered video is one charged event, so you always know the maximum before you press start.
  • Agent-ready output. One flat row per video with a stable schema and explicit error codes, so it drops straight into a pipeline or an LLM tool.
  • Every input format works. @mkbhd, https://www.youtube.com/@mkbhd, /channel/UC..., /c/Name, /user/Name or a bare channel id.

Who this is for

Content researchers mapping what a channel publishes, competitor and market analysts tracking output and view counts, and teams that need a channel's back catalogue as input for further processing, for example to fetch transcripts afterwards.

Who this is not for

If you want one channel's latest video once, the YouTube website is faster and free. This actor earns its place from the tenth channel onwards, or when you need the whole back catalogue in one table.

It returns public video and channel metadata only. It does not collect comments, commenter names, subscriber lists or any other personal data.

Input example

{
"channels": [
"@mkbhd",
"https://www.youtube.com/channel/UCBJycsmduvYEL83R_U4JriQ",
"UCBJycsmduvYEL83R_U4JriQ"
],
"maxVideosPerChannel": 100,
"language": "en",
"country": "US"
}

Output example

{
"channelId": "UCBJycsmduvYEL83R_U4JriQ",
"channelName": "Marques Brownlee",
"channelHandle": "@mkbhd",
"channelUrl": "https://www.youtube.com/channel/UCBJycsmduvYEL83R_U4JriQ",
"channelSubscribers": 21200000,
"channelVideoCount": 1800,
"videoId": "Od6M0AXpcxQ",
"url": "https://www.youtube.com/watch?v=Od6M0AXpcxQ",
"title": "iPhone 18 Pro/Duo Impressions: Mogged",
"duration": "17:14",
"durationSeconds": 1034,
"viewCount": 14290382,
"publishedText": "1 day ago",
"thumbnailUrl": "https://i.ytimg.com/vi/Od6M0AXpcxQ/maxresdefault.jpg",
"status": "ok"
}

A channel that cannot be delivered produces an error record instead, and is not charged:

{
"input": "@thischanneldoesnotexist12345",
"status": "error",
"errorCode": "CHANNEL_NOT_FOUND",
"error": "YouTube does not know this channel"
}

Error codes: INVALID_CHANNEL, CHANNEL_NOT_FOUND, NO_VIDEOS, BLOCKED.

Pricing

Pay per event: one video-listed event per delivered video. No charge for channels that fail, no charge for channels without public videos, no separate platform-usage surcharge.

FAQ

How far back does it go? As far as you ask. Set maxVideosPerChannel and the actor pages through the channel, newest first, until it reaches your limit or runs out of videos.

Why is the publish date a text like "1 day ago"? That is what YouTube returns on this route. It is kept exactly as given rather than converted into a date that would be a guess. Set language if you want that text in another language.

Does it include Shorts and live streams? Not in this version. It returns the channel's Videos tab, which is the regular uploads. Shorts and past live streams sit behind separate tabs and are a candidate for a later version.

Is personal data collected? No. Public video and channel metadata only. No comments, no commenter names, no subscriber lists.

What happens when YouTube changes something? Internal routes shift from time to time; that is the nature of this work. The difference here is the response: the actor is monitored daily and fixed fast, and while it is broken you are not charged, because only delivered videos cost anything.

Can I combine this with transcripts? Yes, and that is a common pattern: run this actor to get a channel's video ids, then feed those ids into the YouTube Transcript Scraper from the same publisher.