
Youtube Channel Data
Pricing
$10.00/month + usage

Youtube Channel Data
The YouTube Channel Data Scraper is an Apify actor that extracts metadata from videos on a YouTube channel. It retrieves video details such as title, video ID, uploader, duration, view count, and more, with options to filter by video type (video, live, short) and limit results.
5.0 (1)
Pricing
$10.00/month + usage
0
Total users
2
Monthly users
2
Runs succeeded
>99%
Last modified
6 days ago
YouTube Channel Data Scraper
Overview
The YouTube Channel Data Scraper is an Apify actor that extracts metadata from videos on a YouTube channel. It retrieves video details such as title, video ID, uploader, duration, view count, and more, with options to filter by video type (video
, live
, short
) and limit results. The scraper targets the channel’s Shorts tab if short
is included in select_types
, otherwise it targets the Videos tab. Each video includes a type
attribute indicating whether it is a video
, live
, or short
. The actor uses Apify’s proxies to ensure reliable scraping and includes robust error handling, logging, and retry logic. It’s ideal for analyzing a channel’s content and is accessible via Apify’s UI, CLI, or API in any programming language.
Features
- Comprehensive Metadata: Extracts title, video ID, URL, uploader, uploader ID, upload date, duration, view count, thumbnail, Shorts status, and video type (
video
,live
, orshort
). - Channel Flexibility: Accepts channel URLs, names (e.g.,
@channel
), or IDs (e.g.,UCxxx
). - Type Filtering: Filter videos by type using
select_types
(e.g.,["video", "live"]
to exclude Shorts). - Dynamic Tab Selection: Scrapes the Shorts tab if
select_types
includesshort
, otherwise scrapes the Videos tab. - Proxy Support: Uses Apify’s proxies for reliable scraping.
- Robust Execution: Includes detailed logging, 3-minute actor timeout, 90-second scrape timeout, and exponential backoff retries.
- Output Formats: Data stored in Apify’s dataset, exportable as JSON or CSV, with a table view in Apify UI.
- Cross-Language Access: Run via Apify’s REST API or SDKs (Python, Node.js, etc.) for integration with any language.
Input Configuration
The actor accepts a JSON input with the following fields:
Field | Type | Description | Required | Default |
---|---|---|---|---|
channel_identifier | String | Channel URL, name (e.g., @channel ), or ID (e.g., UCxxx ) | Yes | - |
max_results | Integer | Maximum number of videos to scrape (1–1000) | No | 10 |
select_types | Array | Types of videos to include (video , live , short ) | Yes | ["video", "live", "short"] |
sleep_interval | Integer | Seconds to wait between requests | No | 2 |
max_retries | Integer | Maximum retry attempts for failed requests | No | 3 |
Notes:
select_types
must include at least one type (video
,live
, orshort
) and cannot be empty.- If
select_types
includesshort
, the scraper targets the channel’s Shorts tab (/shorts
); otherwise, it targets the Videos tab (/videos
). max_results
is capped at 1000 to manage runtime and proxy usage.- Increase
sleep_interval
ormax_retries
for heavy scraping or persistent errors.
Example Input:
{"channel_identifier": "@Fireship","max_results": 20,"select_types": ["video", "live"],"sleep_interval": 2,"max_retries": 3}
Output Format
The actor outputs data to Apify’s dataset, viewable as a table in the Apify UI or exportable as JSON/CSV. Each record contains:
Field | Type | Description | Format |
---|---|---|---|
title | String | Video title | Text |
video_id | String | Unique video ID | Text |
url | String | Video URL | Text |
uploader | String | Uploader name | Text |
uploader_id | String | Uploader ID | Text |
upload_date | String | Upload date (YYYYMMDD) | Date |
duration | Integer | Duration in seconds | Number |
view_count | Integer | Number of views | Number |
thumbnail | String | Thumbnail URL | Text |
short | Boolean | Is the video a Short | Boolean |
type | String | Video type (video , live , or short ) | Text |
error | String | Error message if scraping failed | Text |
Example Output:
[{"title": "React in 100 Seconds","video_id": "xyz789","url": "https://www.youtube.com/watch?v=xyz789","uploader": "Fireship","uploader_id": "UCsBjURrPoezykLs9EqgamOA","upload_date": "20250101","duration": 100,"view_count": 50000,"thumbnail": "https://i.ytimg.com/vi/xyz789/hqdefault.jpg","short": false,"type": "video"},{"title": "Live Coding Session","video_id": "def456","url": "https://www.youtube.com/watch?v=def456","uploader": "Fireship","uploader_id": "UCsBjURrPoezykLs9EqgamOA","upload_date": "20250103","duration": null,"view_count": 10000,"thumbnail": "https://i.ytimg.com/vi/def456/hqdefault.jpg","short": false,"type": "live"}]