YouTube Channel Videos Scraper
Pricing
from $0.06 / 1,000 video results
YouTube Channel Videos Scraper
Extract recent public YouTube channel videos by URL, handle, or channel ID. Export titles, descriptions, thumbnails, dates, Shorts flags, and views.
Pricing
from $0.06 / 1,000 video results
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
Extract recent public videos from YouTube channels by channel URL, handle, or channel ID.
Use this actor when you need a clean dataset of latest videos from one or many public channels. It returns channel identity, video URLs, titles, descriptions, thumbnails, publication dates, Shorts detection, and view counts when available.
Choose the right YouTube actor
| Need | Use |
|---|---|
| Viewer feedback and replies | YouTube Comments Scraper |
| Recent uploads from a channel | YouTube Channel Videos Scraper |
| Caption text for summaries, RAG, or research | YouTube Transcript Scraper |
What does YouTube Channel Videos Scraper do?
YouTube Channel Videos Scraper collects recent public video metadata from YouTube channels.
It helps you turn public channel activity into a structured dataset you can export, analyze, or feed into automation.
You can enter:
- ๐บ Full channel URLs such as
https://www.youtube.com/@GoogleDevelopers - ๐งโ๐ป YouTube handles such as
@Apify - ๐ Channel IDs such as
UC_x5XG1OV2P6uZZ5FSM9Ttw
The actor saves one dataset item for each video found.
Who is it for?
This scraper is useful for teams that monitor YouTube channels regularly.
- ๐ Marketers tracking competitor publishing schedules
- ๐ฐ Media teams following public creator and brand channels
- ๐งช Researchers building datasets from public video metadata
- ๐ค Automation teams enriching workflows with new YouTube uploads
- ๐งโ๐ผ Sales and partnerships teams watching partner channel activity
Why use this YouTube channel video scraper?
YouTube's official API has quotas and setup requirements.
This actor is designed for quick, repeatable exports from public channels.
You can start with a small list of channels, download the results, and schedule the actor when you need fresh monitoring.
What YouTube video data can I extract?
The dataset contains practical fields for analysis and automation.
| Field | Description |
|---|---|
channelId | YouTube channel ID |
channelName | Public channel name |
channelUrl | Channel URL |
videoId | YouTube video ID |
videoUrl | Direct video or Short URL |
title | Video title |
description | Public video description |
publishedAt | Publication timestamp |
thumbnailUrl | Video thumbnail URL |
duration | Duration when available |
isShort | Whether the item is a YouTube Short |
viewCount | View count when available |
sourceUrl | Input channel source used for the result |
scrapedAt | Timestamp when the item was collected |
How much does it cost to scrape YouTube channel videos?
The actor uses pay-per-result pricing.
You pay a small start fee plus a small amount for each video result saved.
Formula-based validation measured a very low cost per result, so the live price uses the platform-safe minimum floor of about $0.10 per 1,000 video results at the default BRONZE tier, plus a small run-start fee.
The live price uses volume tiers so larger runs become cheaper per result.
Always check the Pricing tab on the actor page for the exact current price.
How to scrape YouTube channel videos
- Open the actor on Apify.
- Add one or more public YouTube channel URLs, handles, or IDs.
- Choose the maximum number of videos per channel.
- Decide whether to include Shorts.
- Click Start.
- Download the dataset as JSON, CSV, Excel, XML, or HTML.
Input example
{"channelUrlsOrIds": ["https://www.youtube.com/@GoogleDevelopers","UC_x5XG1OV2P6uZZ5FSM9Ttw"],"maxVideosPerChannel": 10,"includeShorts": true}
Input fields
channelUrlsOrIds
Required.
Add public YouTube channels as URLs, handles, or channel IDs.
Examples:
https://www.youtube.com/@GoogleDevelopers@ApifyUC_x5XG1OV2P6uZZ5FSM9Ttw
maxVideosPerChannel
Optional.
Controls how many recent videos to save per channel.
Use a small number for tests and a larger number for scheduled monitoring.
includeShorts
Optional.
Set to false if you only want regular video URLs and want to skip Shorts.
Output example
{"channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw","channelName": "Google for Developers","channelUrl": "https://www.youtube.com/channel/UC_x5XG1OV2P6uZZ5FSM9Ttw","videoId": "eaUd3iYkj_w","videoUrl": "https://www.youtube.com/shorts/eaUd3iYkj_w","title": "In production, which file actually gets loaded?","description": "A package import can look simple on the surface.","publishedAt": "2026-06-15T13:00:09+00:00","thumbnailUrl": "https://i2.ytimg.com/vi/eaUd3iYkj_w/hqdefault.jpg","duration": null,"isShort": true,"viewCount": 1315,"sourceUrl": "https://www.youtube.com/@GoogleDevelopers","scrapedAt": "2026-06-15T20:00:00.000Z"}
Tips for better results
- โ Start with 1-2 channels when testing.
- โ Use channel IDs for the most stable input.
- โ Use handles for convenience when you do not know the channel ID.
- โ
Keep
maxVideosPerChannelmodest for fast monitoring runs. - โ Disable Shorts if your analysis only covers standard videos.
Common use cases
Competitor monitoring
Track how often competing brands publish new videos.
Compare titles, descriptions, publication dates, and view counts.
Creator discovery
Build a list of recent uploads from public creator channels.
Use the output in downstream enrichment or scoring workflows.
Content operations
Monitor your own brand channels and partner channels.
Send new uploads to Slack, Google Sheets, Airtable, or a database.
Research datasets
Collect public metadata for trend analysis.
Use publication dates and titles to study activity over time.
Integrations
Apify datasets can connect to many tools.
Useful workflow patterns include:
- ๐ Export to Google Sheets for editorial planning
- ๐งฑ Send results to Airtable for content operations
- ๐ Trigger a webhook when a scheduled run finishes
- ๐ง Feed recent titles and descriptions into an LLM workflow
- ๐๏ธ Store results in BigQuery, Snowflake, or PostgreSQL
API usage
You can run this actor from the Apify API.
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/youtube-channel-videos-scraper').call({channelUrlsOrIds: ['https://www.youtube.com/@GoogleDevelopers'],maxVideosPerChannel: 10,includeShorts: true,});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/youtube-channel-videos-scraper').call(run_input={'channelUrlsOrIds': ['https://www.youtube.com/@GoogleDevelopers'],'maxVideosPerChannel': 10,'includeShorts': True,})print(run['defaultDatasetId'])
cURL
curl "https://api.apify.com/v2/acts/fetch_cat~youtube-channel-videos-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"channelUrlsOrIds":["https://www.youtube.com/@GoogleDevelopers"],"maxVideosPerChannel":10,"includeShorts":true}'
MCP integration
Use this actor through Apify MCP in Claude Code, Claude Desktop, or other MCP clients.
MCP URL:
https://mcp.apify.com/?tools=fetch_cat/youtube-channel-videos-scraper
Claude Code setup:
$claude mcp add apify-youtube-channel-videos "https://mcp.apify.com/?tools=fetch_cat/youtube-channel-videos-scraper"
Claude Desktop JSON config:
{"mcpServers": {"apify-youtube-channel-videos": {"url": "https://mcp.apify.com/?tools=fetch_cat/youtube-channel-videos-scraper"}}}
Example prompts:
- "Run the YouTube Channel Videos Scraper for @GoogleDevelopers and summarize the newest video titles."
- "Check these three YouTube channels and tell me which published most recently."
- "Export recent video metadata for this channel list and flag Shorts separately."
Scheduling
You can schedule the actor to run daily, weekly, or monthly.
Scheduled runs are useful for competitor monitoring and content calendars.
Use a fixed channel list and a low maxVideosPerChannel value for fast recurring checks.
Limitations
The actor focuses on recent public videos from public channels.
It does not log in to YouTube.
It does not extract private, members-only, age-restricted, deleted, or unavailable videos.
Some fields depend on what YouTube exposes publicly for a given video.
Troubleshooting
Why did my run return fewer videos than requested?
A channel may have fewer recent public videos available, or your settings may skip Shorts.
Try enabling includeShorts or checking that the channel has recent public uploads.
Why did a handle fail to resolve?
Handles can change and some channel URLs redirect.
Try using the channel's UC... ID or /channel/UC... URL for the most stable input.
Why is duration empty?
Duration is returned only when it is available in the public metadata used for the result.
The field is kept in the schema so downstream exports remain stable.
Data freshness
Each run collects the current public recent-video metadata available at run time.
The scrapedAt field records when the item was collected.
Schedule repeated runs if you need history over time.
Legality and responsible use
This actor extracts public metadata from public YouTube pages and feeds.
You should only use the data in a way that complies with applicable laws, YouTube's terms, and privacy rules.
Do not use scraped data for spam, harassment, or unauthorized profiling.
Related scrapers
Explore related actors by fetch_cat:
- https://apify.com/fetch_cat/youtube-transcript-scraper
- https://apify.com/fetch_cat/tiktok-comments-scraper
- https://apify.com/fetch_cat/reddit-scraper
FAQ
Can I scrape multiple channels in one run?
Yes.
Add multiple values to channelUrlsOrIds.
The actor saves up to maxVideosPerChannel videos for each channel.
Can I use channel IDs instead of URLs?
Yes.
Channel IDs are supported and are the most stable input format.
Does this actor download videos?
No.
It extracts metadata and URLs, not video files.
Does it include Shorts?
Yes, by default.
Set includeShorts to false to skip Shorts when they appear.
Can I run it from code?
Yes.
Use the Apify API, Apify SDK, webhooks, schedules, or MCP.
Support
If a public channel input fails, try a channel ID first.
If the issue continues, open an issue on the actor page with your input and run ID.