YouTube Channel Video Scraper
Pricing
$9.99/month + usage
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
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
# YouTube Channel Video Scraper — Video Details, Views, Duration & Thumbnails[](https://apify.com/your-username/youtube-channel-scraper) [](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 SchemaThe 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.
| Field | Type | Description |
|---|---|---|
channel_url | string | URL of the YouTube channel that uploaded the video. |
title | string | Full video title. |
video_url | string | Direct link to the video on YouTube. |
video_id | string | Unique YouTube video identifier (e.g., "AoN1K4c7VKE"). |
views_text | string | View count as displayed on YouTube (e.g., "79M views"). |
uploaded | string | Relative upload time (e.g., "5 days ago", "2 months ago"). |
views | integer | Raw view count as a number (e.g., 79000000). |
duration | string | Video duration in MM:SS or HH:MM:SS format (e.g., "30:04"). |
thumbnail | string | URL to the video thumbnail (high quality). |
duration_seconds | integer | Total 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
- Create a new task with this actor.
- Provide input as a JSON object with either a channel/video URL or search query.
- Run the actor – results will be available in the Apify storage.
- 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
/videostab URL (e.g.,https://www.youtube.com/@ChannelName/videos). - Search Queries – When using
queryfor 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