# YouTube Channel Scraper 💰$0.50/1K – Subscribers, Videos (`rt-solutions/youtube-channel-scraper`) Actor

Scrape YouTube channels without API key or quota: subscribers, total views, video count, country, joined date, links, plus their latest videos, Shorts, live streams and playlists. $0.50 per 1,000 results.

- **URL**: https://apify.com/rt-solutions/youtube-channel-scraper.md
- **Developed by:** [RT SOLUTIONS](https://apify.com/rt-solutions) (community)
- **Categories:** Social media, Videos
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.35 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## YouTube Channel Scraper – subscribers, videos, Shorts, live streams · $0.50 per 1,000 results

Scrape **YouTube channels** without an API key, quota or login: **subscribers, total views, video count, country, joined date, description, links, avatar and banner**, plus the channel's **latest videos, Shorts, live streams and playlists** (newest first) with views, duration and date.

Paste `@handles` or channel URLs — one run can cover hundreds of channels.

### What you get

**Channel row** (one per channel): `title`, `handle`, `url`, `id`, `subscriberCount`, `subscriberCountText`, `videoCount`, `totalViews`, `country`, `joinedDate`, `description`, `links`, `keywords`, `verified`, `isFamilySafe`, `avatarUrl`, `bannerUrl`, `rssUrl`.

**Video / Short / live rows**: `title`, `url`, `id`, `viewCount`, `duration`, `publishedTimeText`, `thumbnailUrl`, `channelTab` — and with *Full video details*: `likeCount`, `commentCount`, exact `publishedAt`, full `description`, `hashtags`, `keywords`, `category`.

### Real run — 3 November 2026

Channel **@mkbhd**, Videos + Shorts tabs, 100 each → 1 channel row + 100 videos + 100 Shorts in **1 min 49 s** ($0.10). The channel row:

```json
{
  "type": "channel",
  "title": "Marques Brownlee",
  "handle": "@mkbhd",
  "subscriberCount": 21400000,
  "videoCount": 1864,
  "totalViews": 5860083118,
  "country": "United States",
  "joinedDate": "2008-03-21",
  "links": [{ "title": "Twitter", "url": "http://twitter.com/MKBHD" }, { "title": "Instagram", "url": "http://instagram.com/MKBHD" }],
  "verified": true
}
```

### Pricing

**$0.50 per 1,000 results** (a result = one channel row, video, Short, live stream or playlist), cheaper on paid Apify plans. Full video details cost nothing extra. Channels that do not exist are free.

Compared on 3 November 2026: streamers/youtube-channel-scraper $1.30 per 1,000, grow_media/youtube-channel-video-scraper $1.00, apidojo/youtube-channel-information-scraper $0.50 per channel plus $5 per 1,000 channel URL queries.

### Input examples

Channel statistics only (no videos):

```json
{ "channelUrls": ["@mkbhd", "@mrbeast", "@linustechtips"], "maxVideosPerChannel": 0 }
```

Latest 100 videos and Shorts of several channels:

```json
{ "channelUrls": ["https://www.youtube.com/@veritasium", "@kurzgesagt"], "channelTabs": ["videos", "shorts"], "maxVideosPerChannel": 100 }
```

Latest videos with likes, comments and exact dates:

```json
{ "channelUrls": ["@mkbhd"], "maxVideosPerChannel": 30, "includeVideoDetails": true }
```

Accepted channel formats: `@handle`, `youtube.com/@handle`, `/channel/UC…`, `/c/name`, `/user/name`.

### Use cases

- **Influencer marketing**: subscribers, country, links and recent performance of creators before a campaign.
- **Competitor tracking**: schedule daily runs on competitor channels to see every new upload and its views.
- **Creator databases**: enrich a list of handles with subscribers, video count and joined date.
- **Content research**: what a channel publishes, how often, and which videos perform.

### Who this is not for

- You need search results → [YouTube Search Scraper](https://apify.com/rt-solutions/youtube-search-scraper).
- You need transcripts or comments → [YouTube Transcript](https://apify.com/rt-solutions/youtube-transcript) / [YouTube Comments Scraper](https://apify.com/rt-solutions/youtube-comments-scraper).
- You need channel business emails (hidden by YouTube behind a login).
- You need everything in one Actor (search + channels + playlists + videos) → [YouTube Scraper](https://apify.com/rt-solutions/youtube-scraper).

### For AI agents (MCP)

Call it from Claude, ChatGPT or Cursor through the Apify MCP server (https://mcp.apify.com) with `rt-solutions/youtube-channel-scraper`. Example: *"Get the subscribers, country and the 10 latest videos of @mkbhd and @veritasium."* Minimal input: `{"channelUrls": ["@handle"]}`; `maxVideosPerChannel: 0` for statistics only.

### FAQ

**How do I get a YouTube channel's subscriber count without the API?** Paste the handle and run with `maxVideosPerChannel: 0`.

**How much does it cost to scrape 1,000 channels?** $0.50 for the channel rows alone; each video adds $0.0005.

**Can I get only Shorts or live streams?** Yes — choose the tabs (`shorts`, `streams`).

**Why is `likeCount` missing?** Turn on *Full video details* (some creators also hide likes).

**Can I schedule it?** Yes — save a Task and add a daily schedule.

### Limits

- Comment counts are rounded the way YouTube shows them (e.g. 11K).
- When YouTube limits its video player for a while, details still include views, likes, comments, date and description, but `category` and `keywords` may be empty.
- Business emails of channels are hidden by YouTube behind a login and are not collected.

### Your feedback

Missing a field or found a wrong value? Open an issue in the **Issues** tab — we answer fast and ship fixes. If the Actor saved you time, a short review helps others find it.

### Related scrapers

- [YouTube Scraper (all-in-one)](https://apify.com/rt-solutions/youtube-scraper)
- [YouTube Shorts Scraper](https://apify.com/rt-solutions/youtube-shorts-scraper)
- [YouTube Search Scraper](https://apify.com/rt-solutions/youtube-search-scraper)
- [YouTube Comments Scraper](https://apify.com/rt-solutions/youtube-comments-scraper)

# Actor input Schema

## `channelUrls` (type: `array`):

Channel URLs or handles: https://www.youtube.com/@mkbhd, @veritasium, /channel/UC…, /c/name, /user/name.

## `channelTabs` (type: `array`):

Which tabs to scrape (newest first).

## `maxVideosPerChannel` (type: `integer`):

0 = channel info only (subscribers, views, country, links…).

## `includeChannelInfo` (type: `boolean`):

One row per channel with subscribers, total views, video count, country, joined date, description, links, avatar and banner.

## `includeVideoDetails` (type: `boolean`):

Open every video to add exact publish date, likes, comment count, full description, tags and category. Slower, same price.

## `language` (type: `string`):

Interface language for texts like '2 days ago' (e.g. en, fr, de, es).

## `maxConcurrency` (type: `integer`):

Pages processed in parallel.

## `proxyConfiguration` (type: `object`):

Apify Proxy is recommended.

## Actor input object example

```json
{
  "channelUrls": [
    "@mkbhd",
    "https://www.youtube.com/@veritasium"
  ],
  "channelTabs": [
    "videos"
  ],
  "maxVideosPerChannel": 50,
  "includeChannelInfo": true,
  "includeVideoDetails": false,
  "language": "en",
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

All results.

# 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 = {
    "channelUrls": [
        "@mkbhd",
        "https://www.youtube.com/@veritasium"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("rt-solutions/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 = { "channelUrls": [
        "@mkbhd",
        "https://www.youtube.com/@veritasium",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("rt-solutions/youtube-channel-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 '{
  "channelUrls": [
    "@mkbhd",
    "https://www.youtube.com/@veritasium"
  ]
}' |
apify call rt-solutions/youtube-channel-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rt-solutions/youtube-channel-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/eU0gOcQrkCgUz6VQX/builds/vZTqs0Kt3mFyOzsFb/openapi.json
