# Channel Data

About, stats, monetization, analytics, videos, shorts, and playlists tools.

Look up rich metadata for any YouTube channel by ID. If you only have a `@handle` or URL, call `resolve_handle` or `resolve_url` first.

### `get_channel_about`

Pull everything from a channel's About page in one call — name, description, subscriber and view counts, country, language, join date, topics, social links, trailer, banner, and more.

**Example prompt**

"Give me the full About page for The Geo Network"

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| channel_id | string | required | 24-char YouTube channel ID (starts with `UC`). |

### `get_channel_stats`

Show stats for a single longform channel indexed in Algrow, rendered with the same card widget as `search_longform_channels` — just one card instead of many. Channel must already be in Algrow's longform index; if not, call `process_channel` first.

**Example prompts**

"Show me the stats card for @hasanx"

"What are the stats for UCRbh9AMc9BIXw5MNCAf6DJw"

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| channel | string | null | Channel identifier — `UC...` ID, `@handle`, channel URL, or any video URL from that channel. |
| channel_id | string | null | Alias for `channel`. Accepted so callers that pass `channel_id` don't hit a validation error. |
| channel_url | string | null | Alias for `channel`. Accepted so callers that pass `channel_url` don't hit a validation error. |
| handle | string | null | Alias for `channel`. Accepted so callers that pass `handle` don't hit a validation error. |

### `get_channel_monetization`

Full monetization profile for one longform channel — whether the channel sells to its audience, every monetization method it uses (`digital_product`, `course`, `community`, `membership`, `affiliate`, `physical`, `merch`, `tool_software`, `newsletter`, `sponsorship`, `licensing`, `service_leadgen`) with per-method evidence + source link, products/prices found, and offer/store URLs. For finding/filtering channels by what they sell, use `search_longform_channels` with the `sells`/`monetization` params instead.

**Example prompts**

"What does @AliAbdaal sell to his audience?"

"Show the full monetization breakdown for UCoOae5nYA7VqaXzerajD0lg"

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| channel | string | null | Channel identifier — `UC...` ID, `@handle`, channel URL, or any video URL from that channel. |
| channel_id | string | null | Alias for `channel`. |
| channel_url | string | null | Alias for `channel`. |
| handle | string | null | Alias for `channel`. |

### `get_channel_cms`

Is this channel in a YouTube CMS / MCN, and who runs it? Looks up the channel's content owner — the rights-holder/network operating it behind the scenes. Database-first over ~320K pre-checked longform channels (instant); unchecked channels or `refresh=true` trigger a live check (10–60s), persisted for next time. Returns `status` (managed / not_managed / unchecked), the `owner` {oid, name, type, industry} when managed, and a `network` sample of other channels the same owner runs — pass `full_network=true` (Professional/Ultimate) for the complete roster. With `compare`, answers whether two channels are run by the same owner in one call. Starter includes 5 live lookups/day (compare counts as 2), verdict + owner only.

**Example prompts**

"Is this channel part of an MCN? Who operates it?"

"Are these two channels run by the same people?"

"Show me every channel this network runs"

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| channel | string | null | Channel identifier — `UC...` ID, `@handle`, channel URL, or any video URL from that channel. |
| channel_id | string | null | Alias for `channel`. |
| channel_url | string | null | Alias for `channel`. |
| handle | string | null | Alias for `channel`. |
| compare | string | null | Optional second channel (same identifier forms) — the result then says whether both are run by the same content owner. |
| refresh | boolean | false | Force a fresh live check even when a stored verdict exists. |
| full_network | boolean | false | Return the complete member roster instead of a 5-channel sample (Professional/Ultimate). |

### `search_cms_networks`

Browse and search CMS/MCN networks directly — the network-centric view. Where `get_channel_cms` goes channel-in / owner-out, this goes network-in / channels-out. List mode (no `oid`): ranked networks matching `q` (or the biggest overall) with member counts and total subscribers. Detail mode (`oid`): that one network with its top member channels (up to 100, biggest first). Counts come from Algrow's verified database, so network sizes reflect confirmed linkage. Included with Professional and Ultimate.

**Example prompts**

"List the biggest MCNs in the true-crime niche"

"Show me all of Muse Network's channels"

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| q | string | null | Search text matched against network names and industries. Omit for the biggest networks overall. |
| oid | string | null | A content-owner id (from this tool or `get_channel_cms`) — switches to detail mode with that network's roster. |
| min_channels | integer | 2 | List mode: only networks with at least this many known channels. Default 2. |
| sort | string | channels | List mode ordering: 'channels' (default) or 'subscribers'. |
| limit | integer | 25 | List mode: how many networks to return (max 100). Default 25. |

### `get_channel_external_monetization`

The full EXTERNAL monetization profile for one longform channel — what it sells off-platform (products, communities, affiliates), how, and how successful each funnel is. Always analyzed fresh at call time (3–30s), so the result reflects the channel's current monetization. For whether the channel runs ads ON YouTube, use `get_channel_monetization` instead.

**Example prompts**

"What does this channel sell off-platform?"

"Break down @AliAbdaal's funnels and how well they work"

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| channel | string | null | Channel identifier — `UC...` ID, `@handle`, channel URL, or any video URL from that channel. |
| channel_id | string | null | Alias for `channel`. |
| channel_url | string | null | Alias for `channel`. |
| handle | string | null | Alias for `channel`. |

### `estimate_channel_audience`

Estimate who watches a channel — gender split with a lean label, the full seven-bracket age distribution with the dominant bracket, and a confidence level. Works for any channel in Algrow's index; no channel ownership needed. Channels without an estimate yet return `classified=false`.

**Example prompts**

"Who watches this channel — age and gender?"

"What's the dominant age bracket for @SuttonsDaze?"

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| channel_id | string | required | 24-char YouTube channel ID (`UC...`). |

### `get_channel_daily_analytics`

See how a channel has grown day-by-day across any date range you pick — subscribers, views, and uploads, plus a summary with total growth over the window.

**Example prompt**

"How many subs did The Geo Network gain in the last 30 days?"

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| channel_id | string | required | 24-char YouTube channel ID. |
| start_date | string | 30 days ago | ISO `YYYY-MM-DD`. |
| end_date | string | today | ISO `YYYY-MM-DD`. Max window 365 days. |

### `get_channel_videos`

Browse a channel's longform uploads, newest first or most-viewed first — with titles, view counts, durations, upload dates, and thumbnails.

**Example prompts**

"Show me the 20 most recent longform videos from MrBeast"

"What are MrBeast's 10 most popular videos of all time?"

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| channel_id | string | required | 24-char YouTube channel ID. |
| limit | integer | 30 | Max videos (1–100). |
| sort | string | recent | `recent` (default, newest first) or `popular` (the channel's Popular tab, most-viewed first). |

### `get_channel_shorts`

Browse a channel's Shorts, newest first — the real Shorts tab, not short-duration regular videos.

**Example prompt**

"What are the recent Shorts from this channel?"

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| channel_id | string | required | 24-char YouTube channel ID. |
| limit | integer | 30 | Max shorts (1–100). |

### `get_channel_playlists`

See every public playlist on a channel — title, description, video count, and thumbnail for each. Paginates in batches of 50.

**Example prompt**

"Show me every playlist this channel has"

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| channel_id | string | required | 24-char YouTube channel ID. |
| page_token | string | null | Pass `next_page_token` from a previous response for subsequent pages. |
