YouTube Channel Videos Scraper
Pricing
from $0.45 / 1,000 videos
YouTube Channel Videos Scraper
Export every video of any YouTube channel to CSV or Excel: title, duration, link, exact view and like counts and a publish timestamp to the second, not "3 weeks ago". From $0.45 per 1,000 videos. Filter by date to track new uploads and monitor channels - filtered videos are free.
Pricing
from $0.45 / 1,000 videos
Rating
0.0
(0)
Developer
Stable
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Unofficial. This Actor is not affiliated with, endorsed by or sponsored by YouTube or Google. It reads only publicly available pages, does not log in and does not bypass any access control. All product names and trademarks belong to their respective owners.
One row of output
Paste channel handles; get one flat table. This is a real row from a real run, not a mock-up:
{"videoId": "xs5iOwkX9fU","videoUrl": "https://www.youtube.com/watch?v=xs5iOwkX9fU","title": "Why CPU Time ≠ Wall Clock Time! - Computerphile","channelName": "Computerphile","channelHandle": "@Computerphile","channelId": "UC9-y-6csu5WGm29I7JiwpnA","publishedAt": "2026-08-27T13:00:19+00:00","publishedText": "18 hours ago","updatedAt": "2026-08-27T13:04:33+00:00","viewCount": 51230,"viewCountText": "51K views","likeCount": 835,"durationSeconds": 1181,"durationText": "19:41","isShort": false,"thumbnailUrl": "https://i.ytimg.com/vi/xs5iOwkX9fU/hq720.jpg","statsSource": "feed"}
Look at viewCount and viewCountText sitting side by side. One is the
number YouTube keeps; the other is the words YouTube shows. Both ship, under
different names, and statsSource says which of them the exact one came from.
No other listing in this category tells you that.
What you get
22 columns per row, all flat — one CSV, no nested cells to unpick.
| Identity | videoId, videoUrl, title, isShort |
| Channel | channelName, channelHandle, channelId, channelUrl |
| Timing | publishedAt (exact, to the second), publishedDateText (to the day), publishedText (YouTube's own wording), updatedAt |
| Reach | viewCount, likeCount (exact integers) · viewCountText (YouTube's wording) |
| Shape | durationSeconds, durationText, thumbnailUrl, description |
| Provenance | statsSource, recordType, scrapedAt |
Export to CSV, Excel, JSON or read it from the API. No account, no API key, no cookies.
Three things this does that are worth knowing
1. Every number says where it came from. statsSource is feed for an
exact figure straight from the channel's own feed, video-page for one read
off the video, and list-only when all YouTube offered was "51K views". A
table that mixes exact and rounded numbers without labelling them is a table
you cannot safely sort. This one labels them.
2. A video you filtered out is never charged for. Set a date range, or turn Shorts off, and the videos that fall outside are dropped before billing. The run report tells you how many, and why.
3. Nothing is guessed. A field YouTube did not publish comes back empty —
never a zero, never "N/A", never a date reconstructed from "3 weeks ago". If
viewCount is missing, viewCountText is there instead and statsSource says
so.
Input
{"channels": ["@Computerphile", "https://www.youtube.com/@veritasium"],"maxVideosPerChannel": 100,"includeShorts": true,"publishedAfter": "2026-08-01"}
Channels are accepted as a handle (@Computerphile), a URL, or a channel id
(UC9-y-6csu5WGm29I7JiwpnA). Up to 200 channels per run.
Price
$0.45 per 1,000 videos on the Store card. A typical run — 3 channels, 200 videos each — is 600 rows for $0.27.
Exact figures for the fifteen newest videos of every channel are included at that price. They come from the channel's own feed, which is small and cheap, so there is no reason to charge extra for them.
Exact figures for older videos are optional
(exactStatsForOlderVideos) and billed separately, because each one means
reading that video's own page — about 240 times the data. Leave it off and older
videos still arrive, with YouTube's own rounded figures in their own columns.
Free trial: 100 videos. Free-plan runs work in full; only the volume is smaller.
Limits, stated plainly
- Exact timestamps and exact counts are free for the fifteen newest videos of each channel. That is the size of YouTube's own channel feed and it cannot be widened. For older videos you either accept YouTube's rounded wording or switch on the paid option.
- Shorts carry no duration. They never appear on a channel's Videos tab, so
they reach you through the feed, and the feed does not publish a length. They
are flagged with
isShorteither way, and you can exclude them. - Date filtering is exact for videos the feed covers and approximate for older ones, because YouTube only says "3 weeks ago". When the wording could fall inside your window, the video is kept rather than dropped — you can see its date and decide.
- Videos arrive 30 at a time, newest first.
- This reads what YouTube shows the public. Private, unlisted and members-only videos are not visible and are not returned.
Typical uses
- Export a channel's back catalogue to a spreadsheet with real numbers in it.
- Watch a list of channels and pull only what went up since last week — the date filter runs before billing, so a quiet week costs almost nothing.
- Compare upload cadence across channels using timestamps you can subtract, rather than "2 months ago".
- Separate Shorts from long-form and measure them apart.