YouTube Channel Video Scraper avatar

YouTube Channel Video Scraper

Pricing

$9.99/month + usage

Go to Apify Store
YouTube Channel Video Scraper

YouTube Channel Video Scraper

A powerful YouTube scraper that extracts comprehensive video data from any YouTube channel or video URL. Get video titles, URLs, view counts, upload dates, durations, thumbnails, and more — all in clean, structured JSON format.

Pricing

$9.99/month + usage

Rating

0.0

(0)

Developer

Scrape Pilot

Scrape Pilot

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

# YouTube Channel Video Scraper — Video Details, Views, Duration & Thumbnails
[![Apify Actor](https://img.shields.io/badge/Apify-Actor-1B82E6)](https://apify.com/your-username/youtube-channel-scraper) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
A powerful YouTube scraper that extracts comprehensive video data from any YouTube channel or video URL. Get video titles, URLs, view counts, upload dates, durations, thumbnails, and more — all in clean, structured JSON format.
---
## 🚀 Features
- **Channel Video Extraction** – Scrape all videos from any YouTube channel using channel URL
- **Single Video Details** – Extract detailed information from individual video URLs
- **Rich Video Data** – Title, URL, video ID, view count, upload timeframe, duration, thumbnail
- **Duration Parsing** – Both human-readable duration (MM:SS) and total seconds
- **View Count Normalization** – Raw view count as integer plus formatted text
- **Thumbnail URLs** – Direct links to video thumbnails at various qualities
- **Pagination Support** – Control how many videos to retrieve with `max_results`
- **Proxy Options** – Configurable proxy settings to avoid rate limiting
- **Clean JSON Output** – Structured data ready for analysis or integration
---
## 📥 Input Schema
The actor accepts the following input via a JSON object:
| Field | Type | Required | Default | Description |
| ------------------ | ------- | -------- | ------- | ----------- |
| `proxyConfiguration` | object | No | No proxy | Proxy settings – enable if you encounter blocking issues. |
| `query` | string | Yes* || **Either** a search query or a YouTube URL. For channel scraping, use a YouTube channel URL. |
| `url` | string | Yes* || **Either** a direct YouTube video or channel URL. Use this field for precise URL targeting. |
| `max_results` | integer | No | 20 | Maximum number of videos to return. |
> **Note:** You must provide either `query` or `url`. If both are provided, `url` takes precedence.
### Example Input (Channel Scraping)
```json
{
"proxyConfiguration": {
"useApifyProxy": false
},
"url": "https://www.youtube.com/@MrBeast/videos",
"max_results": 20
}

Example Input (Search Query)

{
"query": "funny cats",
"max_results": 15
}

📤 Output Format

The scraper returns an array of video objects. Each object contains detailed information about a single video.

FieldTypeDescription
channel_urlstringURL of the YouTube channel that uploaded the video.
titlestringFull video title.
video_urlstringDirect link to the video on YouTube.
video_idstringUnique YouTube video identifier (e.g., "AoN1K4c7VKE").
views_textstringView count as displayed on YouTube (e.g., "79M views").
uploadedstringRelative upload time (e.g., "5 days ago", "2 months ago").
viewsintegerRaw view count as a number (e.g., 79000000).
durationstringVideo duration in MM:SS or HH:MM:SS format (e.g., "30:04").
thumbnailstringURL to the video thumbnail (high quality).
duration_secondsintegerTotal duration in seconds (e.g., 1804).

Example Output (Truncated)

[
{
"channel_url": "https://www.youtube.com/@MrBeast",
"title": "Survive 30 Days Stranded With Your Ex, Win $250,000",
"video_url": "https://www.youtube.com/watch?v=AoN1K4c7VKE",
"video_id": "AoN1K4c7VKE",
"views_text": "79M views",
"uploaded": "5 days ago",
"views": 79000000,
"duration": "30:04",
"thumbnail": "https://i.ytimg.com/vi/AoN1K4c7VKE/hqdefault.jpg?sqp=-oaymwEnCNACELwBSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLBbEL-nn5t4ogl0bCAuNICALomD9A",
"duration_seconds": 1804
},
{
"channel_url": "https://www.youtube.com/@MrBeast",
"title": "I Built 10 Schools Around The World",
"video_url": "https://www.youtube.com/watch?v=5OLs1GWB4OA",
"video_id": "5OLs1GWB4OA",
"views_text": "51M views",
"uploaded": "2 weeks ago",
"views": 51000000,
"duration": "16:05",
"thumbnail": "https://i.ytimg.com/vi/5OLs1GWB4OA/hqdefault.jpg?sqp=-oaymwEnCNACELwBSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLAa3NjFTt_sPkEDx9JO6aqFO3fR0w",
"duration_seconds": 965
}
// ... up to max_results
]

🛠 Usage on Apify

  1. Create a new task with this actor.
  2. Provide input as a JSON object with either a channel/video URL or search query.
  3. Run the actor – results will be available in the Apify storage.
  4. Download results as JSON, CSV, or XML for further analysis.

Running via API

Trigger runs programmatically using the Apify API:

curl -X POST "https://api.apify.com/v2/acts/your-username~youtube-channel-scraper/runs" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"url": "https://www.youtube.com/@MrBeast/videos",
"max_results": 20
}'

📊 Use Cases

  • Content Research – Analyze top-performing videos from competitors or influencers
  • Market Intelligence – Track video performance metrics across channels
  • YouTube SEO – Study video titles, upload patterns, and engagement
  • Data Analysis – Build datasets for machine learning or trend analysis
  • Content Aggregation – Create video feeds or collections for apps/websites

⚠️ Notes & Limitations

  • YouTube Rate Limiting – YouTube may block excessive requests. Use proxies if scraping at scale.
  • Channel URL Format – For best results, use the /videos tab URL (e.g., https://www.youtube.com/@ChannelName/videos).
  • Search Queries – When using query for search, results are based on YouTube's search algorithm.
  • Thumbnail Quality – The actor returns the highest available thumbnail quality (usually hqdefault.jpg).

📦 Changelog

v1.0.0 (2024-03-14)

  • Initial release
  • Channel video scraping support
  • Single video details extraction
  • View count normalization and duration parsing
  • Thumbnail URL extraction

📄 License

This actor is licensed under the MIT License. See the LICENSE file for details.


Maintained by [Your Name/Organization]
For issues or feature requests, please open an issue on GitHub or contact your-email@example.com