# YouTube Video Scraper (`codenest/youtube-video-scraper`) Actor

Effortlessly extract comprehensive YouTube video data very fast with this powerful actor and the data including full metadata, engagement analytics, channel information, technical specs like resolution and FPS, and complete categorization for enterprise-level analysis.🚀YouTube Video Scraper.

- **URL**: https://apify.com/codenest/youtube-video-scraper.md
- **Developed by:** [CodeNest](https://apify.com/codenest) (community)
- **Categories:** Videos, Developer tools, Automation
- **Stats:** 8 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$5.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period. You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#rental-actors

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## YouTube Video Scraper - Professional Video Data Extraction Tool

**Efficiently extract comprehensive YouTube video data with our enterprise-grade YouTube Video Scraper! This Apify actor enables you to gather detailed video metadata, channel information, and engagement metrics at scale for content analysis and market research.**

***

### 🎯 Overview

Need to analyze YouTube content performance or track video metrics? This **YouTube Video Scraper** delivers:

- **Complete Metadata**: Titles, descriptions, hashtags, and categories
- **Engagement Analytics**: Views, likes, comments, and duration
- **Channel Insights**: Verified status, subscriber data, and channel details
- **Technical Specifications**: Resolution, FPS, format details, and aspect ratios

Perfect for marketers 📊, content analysts 📈, and data scientists 🔬!

### ⚡ Core Capabilities/Key Features

#### 📊 Data Extraction

- **Video Metadata**: Complete title, description, and hashtag extraction
- **Performance Metrics**: View counts, likes, and comment statistics
- **Channel Verification**: Authenticated channel status detection
- **Bulk Processing**: Handle multiple video URLs simultaneously

#### 🎬 Technical Insights

- **Video Specifications**: Resolution, FPS, and format details
- **Content Classification**: Video categories and type identification
- **Duration Analysis**: Precise video length in readable format
- **Quality Assessment**: Resolution and aspect ratio data

#### 🔧 Advanced Features

- **Age Restriction Detection**: Identify restricted content automatically
- **Live Status Monitoring**: Real-time streaming status tracking
- **Comment Analytics**: Total comments count and availability status
- **Thumbnail Access**: High-quality preview image URLs

***

### 🛠️ Input Configuration

Simply enter YouTube video URLs in the Input Section then click "start" to begin scraping with this powerful **YouTube Video Scraper**. The input format is straightforward:

```json
{
  "video_urls": [
    {
      "url": "https://www.youtube.com/watch?v=cmGo8hM_nhs",
      "method": "GET"
    }
  ]
}
```

#### 📋 Input Specifications

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `video_urls` | Array | Yes | YouTube video URLs to scrape |
| `url` | String | Yes | Valid YouTube video URL |
| `method` | String | Yes | HTTP method (GET recommended) |

***

### 📄 Output Structure

The **YouTube Video Scraper** provides comprehensive output data:

```json
[
  {
    "title": "REAL 8K HDR - Best of 8K Video ULTRA HD - Dolby Vision",
    "type": "long",
    "id": "cmGo8hM_nhs",
    "url": "https://www.youtube.com/watch?v=cmGo8hM_nhs",
    "thumbnailUrl": "https://i.ytimg.com/vi/cmGo8hM_nhs/maxresdefault.jpg",
    "viewCount": 56827,
    "date": "2025-04-09T00:00:00.000Z",
    "likes": 372,
    "channelName": "4K Video ULTRA HD",
    "channelUrl": "https://www.youtube.com/channel/UCRauo6y9tx0FB0OLLtqLA-g",
    "channelId": "UCRauo6y9tx0FB0OLLtqLA-g",
    "channelUsername": "4K Video ULTRA HD",
    "isChannelVerified": true,
    "inputChannelUrl": "https://www.youtube.com/channel/UCRauo6y9tx0FB0OLLtqLA-g",
    "isAgeRestricted": false,
    "aboutChannelInfo": {
      "channelUsername": "4K Video ULTRA HD",
      "isChannelVerified": true,
      "channelName": "4K Video ULTRA HD",
      "channelUrl": "https://www.youtube.com/channel/UCRauo6y9tx0FB0OLLtqLA-g",
      "channelId": "UCRauo6y9tx0FB0OLLtqLA-g",
      "inputChannelUrl": "https://www.youtube.com/channel/UCRauo6y9tx0FB0OLLtqLA-g",
      "isAgeRestricted": false
    },
    "duration": "10m 17s",
    "commentsCount": 17,
    "text": "8K HDR - Best of 8K Video ULTRA HD - Dolby Vision...",
    "hashtags": ["Dolbyvision", "4khdr", "Highdynamicrange", "Hdr"],
    "categories": ["People & Blogs"],
    "fps": 60,
    "width": 7680,
    "height": 4320,
    "resolution": "7680x4320",
    "aspect_ratio": 1.78,
    "format_note": "4320p60 HDR"
  }
]
```

#### 📊 Output Field Documentation

**Video Metadata**
| Field | Description |
|-------|-------------|
| `title` | Complete video title |
| `type` | Video format type (short/long) |
| `id` | Unique YouTube video ID |
| `duration` | Human-readable duration format |
| `text` | Full video description text |
| `hashtags` | Array of video hashtags |
| `categories` | Content categorization |

**Engagement Metrics**
| Field | Description |
|-------|-------------|
| `viewCount` | Total view count |
| `likes` | Number of likes |
| `commentsCount` | Total comments available |
| `date` | Upload timestamp in ISO format |

**Channel Information**
| Field | Description |
|-------|-------------|
| `channelName` | Channel display name |
| `channelUrl` | Channel page URL |
| `isChannelVerified` | Verification status boolean |
| `channelUsername` | Channel handle/username |

**Technical Specifications**
| Field | Description |
|-------|-------------|
| `resolution` | Video resolution (width x height) |
| `fps` | Frames per second |
| `aspect_ratio` | Display aspect ratio |
| `format_note` | Quality and format description |

***

### 🎨 Data Quality Tiers

The **YouTube Video Scraper** automatically extracts multiple data quality levels:

1. **Basic Metadata** - Titles, descriptions, and core video information
2. **Engagement Analytics** - Performance metrics and social signals
3. **Technical Specifications** - Video quality and format details
4. **Channel Intelligence** - Creator information and verification status

Each data tier includes comprehensive specifications for professional analysis workflows.

***

### 🔬 Technical Features

#### Advanced Data Extraction

- Complete metadata preservation
- Structured hashtag and category organization
- Multi-level channel information hierarchy
- Technical specification documentation

#### Reliability Features

- Robust error handling and validation
- URL normalization and verification
- Comprehensive data fallback options
- Rate limit management

#### Analytics Capabilities

- Engagement metric standardization
- Time-based performance tracking
- Content classification system
- Quality assessment metrics

***

### 💼 Use Cases

- **Market Researchers** – Analyze content trends and performance patterns
- **Content Creators** – Track competitor performance and content strategies
- **SEO Specialists** – Optimize video content based on successful patterns
- **Data Analysts** – Build comprehensive YouTube performance databases
- **Brand Managers** – Monitor brand mentions and content relevance

***

#### 🚀 Why Choose Our YouTube Video Scraper?

- **Comprehensive Data Extraction**: Get all essential video metrics in one place
- **Reliable Performance**: Stable and efficient scraping process
- **User-Friendly Interface**: Simple setup for both beginners and advanced users
- **Regular Updates**: Maintained to ensure compatibility with YouTube changes
- **Scalable Architecture**: Handle from single videos to large batches efficiently

This **YouTube Video Scraper** is designed to meet the needs of professionals who require detailed YouTube video analytics and metadata extraction.

***

#### ⚠️ Limitations

- Only works with publicly accessible YouTube videos
- Subject to YouTube's terms of service and rate limits
- May not access private or member-only content

### 🔗🛠 Related Actors (Complete Video Scraping Suite)

Enhance your video data capabilities with our full scraping suite:

#### 📹 YouTube Specialized Tools:

- [YouTube Video Transcript Scraper](https://apify.com/codenest/youtube-video-transcript-scraper)
- [YouTube Video Extractor](https://apify.com/codenest/youtube-video-extractor)
- [YouTube Video, Shorts & MP3/Audio Downloader](https://apify.com/codenest/youtube-video-shorts-mp3-audio-downloader)

#### 📸 Instagram & Facebook Tools:

- [Instagram Reels Downloader](https://apify.com/codenest/instagram-reels-downloader)
- [Facebook Video Downloader](https://apify.com/codenest/facebook-video-downloader)
- [Facebook Reels Downloader](https://apify.com/codenest/facebook-reels-downloader)

***

### 📧 Need Customization?

Want \*additional data fields, \*\*batch processing enhancements, or \**advanced analytics features*?

✉️ Email *[codenest2.0@gmail.com](codenest2.0@gmail.com)* for tailored **YouTube Video Scraper** solutions!

***

*This **YouTube Video Scraper** is part of our comprehensive video data extraction toolkit, designed to provide professional-grade YouTube analytics and metadata collection capabilities.*

# Actor input Schema

## `video_urls` (type: `array`):

List of YouTube video or Kids URLs.

## Actor input object example

```json
{
  "video_urls": [
    {
      "url": "https://www.youtube.com/watch?v=cmGo8hM_nhs"
    },
    {
      "url": "https://www.youtubekids.com/watch?v=k85mRPqvMbE"
    }
  ]
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "video_urls": [
        {
            "url": "https://www.youtube.com/watch?v=cmGo8hM_nhs"
        },
        {
            "url": "https://www.youtubekids.com/watch?v=k85mRPqvMbE"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("codenest/youtube-video-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "video_urls": [
        { "url": "https://www.youtube.com/watch?v=cmGo8hM_nhs" },
        { "url": "https://www.youtubekids.com/watch?v=k85mRPqvMbE" },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("codenest/youtube-video-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "video_urls": [
    {
      "url": "https://www.youtube.com/watch?v=cmGo8hM_nhs"
    },
    {
      "url": "https://www.youtubekids.com/watch?v=k85mRPqvMbE"
    }
  ]
}' |
apify call codenest/youtube-video-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,codenest/youtube-video-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/6KiMOCnsRCNb0vrSU/builds/2vJ0tAbFD4SkMyapn/openapi.json
