# YouTube Channel Scraper — Live Stats by Influship (`influship/youtube-channel-scraper`) Actor

Scrape any YouTube channel in real time. Get subscriber count, view count, recent videos, engagement data, and channel analytics. Powered by Influship live scraping infrastructure.

- **URL**: https://apify.com/influship/youtube-channel-scraper.md
- **Developed by:** [Influship](https://apify.com/influship) (community)
- **Categories:** Social media, Videos
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Channel Scraper — Live Data

Scrape live YouTube channel data including subscriber counts, total views, video counts, and recent video listings. Get structured, up-to-date channel information for any public YouTube creator by simply providing their channel handle.

### What is YouTube Channel Scraper?

YouTube Channel Scraper fetches real-time data directly from YouTube channels and returns it in a clean, structured format. Unlike cached databases or stale datasets, this actor pulls live data every time it runs, so you always get the most current subscriber count, view totals, and recent uploads. Whether you are building a creator analytics dashboard, running influencer marketing campaigns, or conducting competitive research, this actor gives you the raw data you need.

### What can this actor do?

- **Live channel data** — Fetches real-time subscriber counts, total views, and video counts directly from YouTube
- **Recent videos** — Optionally includes a list of the channel's most recent uploads with metadata
- **Configurable video limit** — Control how many recent videos to retrieve, from 1 up to 50
- **Simple input** — Just provide a YouTube channel handle like @mkbhd and get structured data back
- **Clean output** — Returns a single structured object with all channel metrics, ready for downstream processing

### What data can you extract?

| Field | Description |
|-------|-------------|
| Name | Display name of the YouTube channel |
| Handle | The channel's @handle on YouTube |
| Avatar URL | Channel profile picture URL |
| Description | Channel description / about text |
| Subscribers | Current subscriber count |
| Videos count | Total number of public videos on the channel |
| Views total | Lifetime total view count across all videos |
| Scraped at | Timestamp of when the data was fetched |
| Videos | List of recent videos with title, views, publish date, and more (optional) |

### How to use

1. Enter the YouTube channel handle (e.g. `@mkbhd`)
2. Choose whether to include recent videos (default: yes)
3. Set the video limit if you want more or fewer than the default 10
4. Run the actor
5. Download the result as JSON, CSV, or Excel

### Input example

```json
{
  "handle": "@mkbhd",
  "includeVideos": true,
  "videoLimit": 10
}
````

### Output example

```json
{
  "channel_id": "UCBJycsmduvYEL83R_U4JriQ",
  "name": "Marques Brownlee",
  "handle": "mkbhd",
  "avatar_url": "https://yt3.googleusercontent.com/...",
  "banner_url": "https://yt3.googleusercontent.com/...",
  "description": "MKBHD: Quality Tech Videos...",
  "country": "US",
  "keywords": ["technology", "smartphones", "reviews"],
  "subscribers": 20900000,
  "subscribers_text": "20.9M subscribers",
  "videos_count": 1800,
  "views_total": 4500000000,
  "videos": [
    {
      "video_id": "dQw4w9WgXcQ",
      "title": "The Best Smartphone of 2026!",
      "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
      "thumbnail_url": "https://i.ytimg.com/vi/.../hqdefault.jpg",
      "duration_seconds": 845,
      "duration_text": "14:05",
      "view_count": 5200000,
      "view_count_text": "5.2M views",
      "published_text": "1 week ago"
    }
  ],
  "scraped_at": "2026-03-08T12:00:00Z"
}
```

### Pricing

This actor uses **pay-per-event** pricing:

- **Actor start**: Small fee per run
- **Per result**: Fee for each channel returned (1 per run)

Platform usage costs are included — you only pay the per-event fees.

### FAQ

**How fresh is the data?**
Data is fetched live every time the actor runs. You always get the most current numbers available from YouTube.

**What handle format should I use?**
Use the YouTube channel handle with the @ prefix, for example `@mkbhd` or `@veritasium`. You can find this on the channel's YouTube page.

**Can I scrape multiple channels?**
This actor scrapes one channel per run. To scrape multiple channels, use the Apify scheduler or call the actor multiple times via the API.

**Can I use this with the Apify API?**
Yes! Call this actor via the Apify API or any Apify integration (Zapier, Make, etc.) for automated workflows.

**What if a channel is not found?**
The actor will return an error if the handle does not match a valid YouTube channel. Double-check the handle spelling and ensure the channel is public.

# Actor input Schema

## `handle` (type: `string`):

YouTube channel handle (e.g. @mkbhd). Include the @ prefix.

## `includeVideos` (type: `boolean`):

Whether to include recent videos in the response.

## `videoLimit` (type: `integer`):

Maximum number of recent videos to return (1-50).

## Actor input object example

```json
{
  "handle": "@mkbhd",
  "includeVideos": true,
  "videoLimit": 10
}
```

# Actor output Schema

## `channel` (type: `string`):

No description

# 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 = {
    "handle": "@mkbhd"
};

// Run the Actor and wait for it to finish
const run = await client.actor("influship/youtube-channel-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 = { "handle": "@mkbhd" }

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

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

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

```

## CLI example

```bash
echo '{
  "handle": "@mkbhd"
}' |
apify call influship/youtube-channel-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=influship/youtube-channel-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "YouTube Channel Scraper — Live Stats by Influship",
        "description": "Scrape any YouTube channel in real time. Get subscriber count, view count, recent videos, engagement data, and channel analytics. Powered by Influship live scraping infrastructure.",
        "version": "0.0",
        "x-build-id": "FcfifuYR8Njp28fWM"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/influship~youtube-channel-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-influship-youtube-channel-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/influship~youtube-channel-scraper/runs": {
            "post": {
                "operationId": "runs-sync-influship-youtube-channel-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/influship~youtube-channel-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-influship-youtube-channel-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "handle"
                ],
                "properties": {
                    "handle": {
                        "title": "Channel Handle",
                        "type": "string",
                        "description": "YouTube channel handle (e.g. @mkbhd). Include the @ prefix."
                    },
                    "includeVideos": {
                        "title": "Include Videos",
                        "type": "boolean",
                        "description": "Whether to include recent videos in the response.",
                        "default": true
                    },
                    "videoLimit": {
                        "title": "Video Limit",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum number of recent videos to return (1-50).",
                        "default": 10
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
