Docs
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.
| Parameter | Type | Default | Description |
|---|---|---|---|
| channel_id | string | required | 24-char YouTube channel ID (starts with UC). |
Give me the full About page for The Geo Network
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.
"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. |
Show me the stats card for @hasanx
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.
"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. |
What does @AliAbdaal sell to his audience?
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.
"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). |
Is this channel part of an MCN? Who operates it?
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.
"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. |
List the biggest MCNs in the true-crime niche
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.
"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. |
What does this channel sell off-platform?
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.
"What's the dominant age bracket for @SuttonsDaze?"
| Parameter | Type | Default | Description |
|---|---|---|---|
| channel_id | string | required | 24-char YouTube channel ID (UC...). |
Who watches this channel — age and gender?
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.
| 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. |
How many subs did The Geo Network gain in the last 30 days?
get_video_daily_views
One video's views per day from Algrow's daily view counts, oldest first: the count read each UTC day, the views gained since the reading before (null on the first day) and when it was read. Days Algrow missed have no row. Only videos Algrow tracks have rows; pass content_type='shorts' for a Short.
"When did this Short take off?"
| Parameter | Type | Default | Description |
|---|---|---|---|
| video_id | string | required | YouTube video ID (11 characters) or a video link. |
| content_type | string | shorts for a /shorts/ link, else longform | longform or shorts. |
How have this video's views moved day by day?
get_channel_videos
Browse a channel's longform uploads, newest first or most-viewed first — with titles, view counts, durations, upload dates, and thumbnails. Or see what is driving its views: sort='gained_24h' / 'gained_48h' ranks its uploads by views gained in the last 24 / 48 hours and adds the channel's views per day for the last 30 days (the sum of its uploads' gains, each day with its top 3 uploads), and day lists every upload that gained views that day. Those two read Algrow's daily view counts, so the channel must be one Algrow tracks.
"What are MrBeast's 10 most popular videos of all time?"
"Which of @veritasium's videos are driving its views right now?"
"What drove this channel's spike on 14 October?"
| 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), popular (the channel's Popular tab, most-viewed first), or gained_24h / gained_48h (most views gained in the last 24 / 48 hours). |
| day | string | null | A UTC day, YYYY-MM-DD. Every upload that gained views that day, most first, each with gained. |
Show me the 20 most recent longform videos from MrBeast
get_channel_title_formats
One channel's title formats. Its long-form videos grouped by title shape, each with how many videos use it, total and average views, views gained in the last 7 days against the 7 before and in the last 48 hours, its highest and average outlier scores, when the channel first and last used it, and its top 3 videos. Each format is labelled new, hit or used_once.
"What are this channel's best title formats by average views?"
| Parameter | Type | Default | Description |
|---|---|---|---|
| channel | string | required | The channel, a UC... ID, @handle, channel link or video link. |
| sort | string | this_week | this_week (default, most views gained in 7 days), growing (biggest rise vs the 7 days before), gained_48h (most views gained in 48 hours), outlier_score (highest outlier), views, average, newest (used most recently) or videos (used most often). |
| limit | integer | 50 | Formats to return, 1–100. |
| min_videos | integer | 1 | Only formats used at least this many times. 1 keeps one-offs. |
Which title formats are getting @CookTheMexicanWay the most views this week?
get_channel_shorts
Browse a channel's Shorts, newest first — the real Shorts tab, not short-duration regular videos. Or see what is driving its views: sort='gained_24h' / 'gained_48h' ranks its Shorts by views gained in the last 24 / 48 hours and adds the channel's views per day for the last 30 days (the sum of its Shorts' gains, each day with its top 3), and day lists every Short that gained views that day. Those two read Algrow's daily view counts, so the channel must be one Algrow tracks.
"Which Shorts gained this channel the most views in the last 48 hours?"
| Parameter | Type | Default | Description |
|---|---|---|---|
| channel_id | string | required | 24-char YouTube channel ID. |
| limit | integer | 30 | Max shorts (1–100). |
| sort | string | recent | recent (default, newest first) or gained_24h / gained_48h (most views gained in the last 24 / 48 hours). |
| day | string | null | A UTC day, YYYY-MM-DD. Every Short that gained views that day, most first, each with gained. |
What are the recent Shorts from this channel?
get_channel_playlists
See every public playlist on a channel — title, description, video count, and thumbnail for each. Paginates in batches of 50.
| 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. |
Show me every playlist this channel has
get_channel_youtube_recommends
The channels YouTube suggests next to a channel's videos. Algrow reads the Up next list beside the channel's last 10 long-form videos as a signed-out viewer in the US, so no one person's watch history shapes it, and tallies the channels in it, closest first. beside is how many of the 10 videos a channel was suggested next to, slots how many suggestions it got in all, and example one of its suggested videos. everywhere=true marks channels YouTube suggests next to almost anything (big podcasts, late-night TV). own and mixes count suggestions that were the channel's own videos or playlists. Cached for two hours; a first read takes about 10 seconds. Shorts-only channels have no long-form videos to read.
"Who does YouTube treat as this channel's closest neighbours?"
| Parameter | Type | Default | Description |
|---|---|---|---|
| channel_id | string | required | YouTube channel ID (UC...). Use resolve_handle first for a @handle or URL. |
| limit | integer | 50 | Max channels returned, closest first, up to 300. |
Which channels does YouTube recommend next to @cashjordan?
get_video_youtube_recommends
The videos YouTube suggests next to one long-form video. YouTube shuffles the Up next list on every visit, so Algrow reads the whole list as 3 fresh signed-out viewers in the US and ranks what came up by seen (how many of the 3 reads showed it) and then place (its average position). Each video comes with its channel, own=true when it is from the same channel, outlier (Algrow's outlier multiple when Algrow has the video) and everywhere=true when its channel is one YouTube suggests next to almost anything. Cached for two hours; a first read takes 20 to 30 seconds. Next to a Short, YouTube suggests long-form videos, not the Shorts feed.
"Which videos does YouTube show next to this one every time?"
| Parameter | Type | Default | Description |
|---|---|---|---|
| video_id | string | required | YouTube video ID (11 characters). Use resolve_url first for a link. |
| limit | integer | 50 | Max videos returned, most consistent first, up to 300. |
What does YouTube recommend after this video?
