# YouTube API

> YouTube returns video, transcript, comment, channel, and song chart data, available as a workflow and API.

YouTube searches public videos by keywords and filters, and returns video details, available captions, or top-level comments from a link or title. Channel methods return public profiles and uploads from a channel name, handle, or link, or find a company channel by name. List top songs returns the latest weekly chart for a country or globally, where YouTube Music charts are available.

- Page: https://fous.com/tools/youtube
- Handle: `@youtube`
- Category: [Entertainment](https://fous.com/tools/category/entertainment)
- Source website: https://youtube.com
- Last verified: Oct 7, 2026

## Methods

### Find company channel

Operation `find_company_channel`, version 3. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find a company's official YouTube channel by company name, with its name, link, subscriber count, description, country, and official website URL when available. Selects closely matching verified channels; ambiguous or unverified channels may not be found. Subscriber counts may be rounded. Website may be null when it cannot be identified.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `company_name` | string | yes | `"The Coca-Cola Company"` | Company or brand name, such as Google or The Coca-Cola Company. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "company_name"
  ],
  "properties": {
    "company_name": {
      "type": "string",
      "minLength": 1,
      "description": "Company or brand name, such as Google or The Coca-Cola Company.",
      "examples": [
        "The Coca-Cola Company",
        "Google",
        "Nike"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "company_name": "The Coca-Cola Company"
    },
    {
      "company_name": "Google"
    },
    {
      "company_name": "Nike"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `country` | string or null |  | Country listed by the channel owner; null when unavailable. |
| `channel_url` | string | `"https://www.youtube.com/@TheCoca-ColaCompany"` | Public YouTube page for the company channel. |
| `description` | string or null | `"The Coca-Cola Company is a total beverage company with products sold in more than 200 countries and territories. Our co` | Channel description supplied by its owner. |
| `channel_name` | string | `"The Coca-Cola Co."` | Name displayed on the selected company channel. |
| `subscriber_count` | integer or null | `85200` | Public subscriber count, expanded from rounded values displayed by YouTube; null if hidden. |
| `official_website_url` | string or null | `"https://www.coca-colacompany.com/"` | Company's official website URL; null when it cannot be identified from public records or the company's channel links. |

**Example input**

```json
{
  "company_name": "The Coca-Cola Company"
}
```

**Example output**

```json
{
  "country": null,
  "channel_url": "https://www.youtube.com/@TheCoca-ColaCompany",
  "description": "The Coca-Cola Company is a total beverage company with products sold in more than 200 countries and territories. Our company’s purpose is to refresh the world and make a difference, and we seek to pos…",
  "channel_name": "The Coca-Cola Co.",
  "subscriber_count": 85200,
  "official_website_url": "https://www.coca-colacompany.com/"
}
```

### Get channel

Operation `get_channel`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get a public YouTube channel’s profile, links, and statistics from its name, handle, or link. Subscriber totals may be rounded as displayed.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `channel` | string | yes | `"MrBeast"` | Channel name, @handle, or YouTube channel link, such as MrBeast, @MrBeast, or https://www.youtube.com/@MrBeast. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "channel"
  ],
  "properties": {
    "channel": {
      "type": "string",
      "description": "Channel name, @handle, or YouTube channel link, such as MrBeast, @MrBeast, or https://www.youtube.com/@MrBeast.",
      "examples": [
        "MrBeast",
        "Google for Developers",
        "https://www.youtube.com/@MrBeast"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "channel": "MrBeast"
    },
    {
      "channel": "Google for Developers"
    },
    {
      "channel": "https://www.youtube.com/@MrBeast"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `links` | array |  |  |
| `links[].link` | string | `"https://www.themostdangerousgames.com/"` |  |
| `links[].label` | string | `"$1,000,000 Contest"` |  |
| `handle` | string or null | `"@MrBeast"` |  |
| `country` | string or null | `"United States"` |  |
| `verified` | string | `"yes"` |  |
| `join_date` | string or null | `"2012-02-19"` |  |
| `channel_id` | string | `"UCX6OQ3DkcsbYNE6H8uQQuVA"` |  |
| `description` | string or null | `"Subscribe to join a community of creative developers and learn the latest in Google technology — from AI and cloud, to ` |  |
| `subscribers` | integer or null | `518000000` | Subscriber count as shown, expanded from a rounded abbreviation when needed. |
| `total_views` | integer or null | `141012089272` |  |
| `channel_link` | string | `"https://www.youtube.com/@MrBeast"` |  |
| `channel_name` | string | `"MrBeast"` |  |
| `number_of_videos` | integer or null | `1004` |  |
| `avatar_image_link` | string or null | `"https://yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s900-c-k-` |  |
| `banner_image_link` | string or null | `"https://yt3.googleusercontent.com/mHMO_eEMp0dPvh0ADwXhPXNYb_GnjSVsLI8biqF1CpxT8OPl7izhNQsDPD3JHhd5y5Mg9GrP=w2560-fcrop6` |  |

**Example input**

```json
{
  "channel": "MrBeast"
}
```

**Example output**

```json
{
  "links": [
    {
      "link": "https://www.themostdangerousgames.com/",
      "label": "$1,000,000 Contest"
    },
    {
      "link": "https://www.instagram.com/mrbeast/",
      "label": "Follow"
    },
    {
      "link": "https://twitter.com/MrBeast",
      "label": "Twitter"
    }
  ],
  "handle": "@MrBeast",
  "country": "United States",
  "verified": "yes",
  "join_date": "2012-02-19",
  "channel_id": "UCX6OQ3DkcsbYNE6H8uQQuVA",
  "description": "SUBSCRIBE FOR A COOKIE!\nNew MrBeast or MrBeast Gaming video every single Saturday at noon eastern time!\nAccomplishments:\n- Raised $20,000,000 To Plant 20,000,000 Trees\n- Removed 30,000,000 pounds of t…",
  "subscribers": 518000000,
  "total_views": 141012089272,
  "channel_link": "https://www.youtube.com/@MrBeast",
  "channel_name": "MrBeast",
  "number_of_videos": 1004,
  "avatar_image_link": "https://yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s900-c-k-c0x00ffffff-no-rj",
  "banner_image_link": "https://yt3.googleusercontent.com/mHMO_eEMp0dPvh0ADwXhPXNYb_GnjSVsLI8biqF1CpxT8OPl7izhNQsDPD3JHhd5y5Mg9GrP=w2560-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj"
}
```

### Get video

Operation `get_video`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get public details and statistics for one YouTube video by link or title. A title selects the top video search match; unavailable or private videos are not returned.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `video` | string | yes | `"https://www.youtube.com/watch?v=dQw4w9WgXcQ"` | YouTube video link, ID, or title, for example https://www.youtube.com/watch?v=dQw4w9WgXcQ. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "video"
  ],
  "properties": {
    "video": {
      "type": "string",
      "description": "YouTube video link, ID, or title, for example https://www.youtube.com/watch?v=dQw4w9WgXcQ.",
      "examples": [
        "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
        "Python for Beginners – Full Course [Programming Tutorial]",
        "https://www.youtube.com/shorts/-w3Sza1ZyFg"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "video": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
    },
    {
      "video": "Python for Beginners – Full Course [Programming Tutorial]"
    },
    {
      "video": "https://www.youtube.com/shorts/-w3Sza1ZyFg"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `tags` | array |  | Video tags. |
| `likes` | integer or null | `19427218` | Public like count; null when unavailable. |
| `title` | string or null | `"Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)"` | Video title. |
| `views` | integer or null | `1821108656` | Video views. |
| `length` | string or null | `"3:33"` | Length as a clock time, such as 3:33. |
| `is_live` | boolean | `false` | Whether this is live video content. |
| `category` | string or null | `"Music"` | Video category. |
| `chapters` | array |  | Chapter start times and titles. |
| `chapters[].title` | string | `"Introduction"` |  |
| `chapters[].start_time` | string | `"0:00"` |  |
| `is_short` | boolean | `false` | Whether this video is a Short. |
| `video_id` | string | `"dQw4w9WgXcQ"` | YouTube video ID. |
| `channel_id` | string or null | `"UCuAXFkgsw1L7xaCfnd5JJOw"` | YouTube channel ID. |
| `video_link` | string | `"https://www.youtube.com/watch?v=dQw4w9WgXcQ"` | Video page link. |
| `description` | string or null | `"This video is made for entertainment purposes. It features a collection of funny cat moments from various sources that ` | Video description. |
| `channel_link` | string or null | `"https://www.youtube.com/@RickAstleyYT"` | Channel page link. |
| `channel_name` | string or null | `"Rick Astley"` | Channel name. |
| `publish_date` | string or null | `"2009-10-24"` | Publication date. |
| `matched_video` | string or null | `"Python for Beginners – Full Course [Programming Tutorial]"` | Video selected as the top title search match; null for a link. |
| `length_seconds` | integer or null | `213` | Video length in seconds. |
| `thumbnail_link` | string or null | `"https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg"` | Video thumbnail link. |
| `caption_languages` | array |  | Available caption languages. |
| `number_of_comments` | integer or null | `2457832` | Comment total; null when unavailable. |
| `channel_subscribers` | string or null | `"4.55M subscribers"` | Public subscriber count as displayed, such as 4.55M subscribers. |

**Example input**

```json
{
  "video": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
}
```

**Example output**

```json
{
  "tags": [
    "rick astley",
    "Never Gonna Give You Up",
    "nggyu"
  ],
  "likes": 19427218,
  "title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
  "views": 1821108656,
  "length": "3:33",
  "is_live": false,
  "category": "Music",
  "chapters": [],
  "is_short": false,
  "video_id": "dQw4w9WgXcQ",
  "channel_id": "UCuAXFkgsw1L7xaCfnd5JJOw",
  "video_link": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "description": "The official video for “Never Gonna Give You Up” by Rick Astley. \n\nNever: The Autobiography 📚 OUT NOW! \nFollow this link to get your copy and listen to Rick’s ‘Never’ playlist ❤️ #RickAstleyNever\nhtt…",
  "channel_link": "https://www.youtube.com/@RickAstleyYT",
  "channel_name": "Rick Astley",
  "publish_date": "2009-10-24",
  "matched_video": null,
  "length_seconds": 213,
  "thumbnail_link": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg",
  "caption_languages": [
    "English",
    "German (Germany)",
    "Japanese"
  ],
  "number_of_comments": 2457832,
  "channel_subscribers": "4.55M subscribers"
}
```

### Get video comments

Operation `get_video_comments`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get public top-level comments on a YouTube video by link or title. Reply text is not included; counts and posted dates may be approximate.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `sort` | string | no | `"newest"` | Comment order, for example newest. |
| `video` | string | yes | `"https://www.youtube.com/watch?v=jNQXAC9IVRw"` | Video link or title, for example https://www.youtube.com/watch?v=jNQXAC9IVRw. |
| `max_results` | integer | no | `50` | Maximum number of top-level comments, for example 50. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "video"
  ],
  "properties": {
    "sort": {
      "enum": [
        "top",
        "newest"
      ],
      "type": "string",
      "default": "top",
      "description": "Comment order, for example newest.",
      "examples": [
        "newest"
      ]
    },
    "video": {
      "type": "string",
      "description": "Video link or title, for example https://www.youtube.com/watch?v=jNQXAC9IVRw.",
      "examples": [
        "https://www.youtube.com/watch?v=jNQXAC9IVRw",
        "Me at the zoo",
        "https://www.youtube.com/watch?v=LrAtBtQnvCE"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 50,
      "maximum": 500,
      "minimum": 1,
      "description": "Maximum number of top-level comments, for example 50.",
      "x-fous-developer": true,
      "examples": [
        50,
        24
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "video": "https://www.youtube.com/watch?v=jNQXAC9IVRw",
      "max_results": 50
    },
    {
      "sort": "newest",
      "video": "Me at the zoo",
      "max_results": 24
    },
    {
      "video": "https://www.youtube.com/watch?v=LrAtBtQnvCE"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `comments` | array |  |  |
| `comments[].likes` | integer | `4800000` |  |
| `comments[].pinned` | string | `"yes"` |  |
| `comments[].author_name` | string or null | `"@SanDiegoZoo"` |  |
| `comments[].posted_time` | string | `"6 years ago"` |  |
| `comments[].comment_link` | string | `"https://www.youtube.com/watch?v=jNQXAC9IVRw&lc=UgzuC3zzpRZkjc5Qzsd4AaABAg"` |  |
| `comments[].comment_text` | string | `"We're so honored that the first ever YouTube video was filmed here!"` |  |
| `comments[].video_creator` | string | `"no"` |  |
| `comments[].number_of_replies` | integer | `985` |  |
| `comments[].estimated_posted_date` | string or null | `"2020-09-28"` |  |
| `video_link` | string | `"https://www.youtube.com/watch?v=jNQXAC9IVRw"` |  |
| `video_title` | string | `"Me at the zoo"` |  |
| `comments_turned_off` | string | `"no"` |  |
| `total_comment_count` | integer | `10000000` | Displayed total comment count, approximated if abbreviated. |

**Example input**

```json
{
  "video": "https://www.youtube.com/watch?v=jNQXAC9IVRw",
  "max_results": 50
}
```

**Example output**

```json
{
  "comments": [
    {
      "likes": 4800000,
      "pinned": "yes",
      "author_name": "@SanDiegoZoo",
      "posted_time": "6 years ago",
      "comment_link": "https://www.youtube.com/watch?v=jNQXAC9IVRw&lc=UgzuC3zzpRZkjc5Qzsd4AaABAg",
      "comment_text": "We're so honored that the first ever YouTube video was filmed here!",
      "video_creator": "no",
      "number_of_replies": 985,
      "estimated_posted_date": "2020-09-28"
    },
    {
      "likes": 38000,
      "pinned": "no",
      "author_name": "@7_or-r6",
      "posted_time": "3 weeks ago",
      "comment_link": "https://www.youtube.com/watch?v=jNQXAC9IVRw&lc=UgzBlQPOlQOOIMt_TKB4AaABAg",
      "comment_text": "Is anyone here today?",
      "video_creator": "no",
      "number_of_replies": 991,
      "estimated_posted_date": "2026-09-07"
    },
    {
      "likes": 282000,
      "pinned": "no",
      "author_name": "@jawed",
      "posted_time": "5 months ago",
      "comment_link": "https://www.youtube.com/watch?v=jNQXAC9IVRw&lc=Ugxnp9ws0dexjE9L5UB4AaABAg",
      "comment_text": "Hello",
      "video_creator": "yes",
      "number_of_replies": 995,
      "estimated_posted_date": "2026-04-28"
    }
  ],
  "video_link": "https://www.youtube.com/watch?v=jNQXAC9IVRw",
  "video_title": "Me at the zoo",
  "comments_turned_off": "no",
  "total_comment_count": 10000000
}
```

### Get video transcript

Operation `get_video_transcript`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get the full spoken captions and timed segments for a public YouTube video link or the top search match for a title. Only captions available on the video are returned.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `video` | string | yes | `"https://www.youtube.com/watch?v=Ks-_Mh1QhMc"` | A YouTube video link or its title, for example https://www.youtube.com/watch?v=Ks-_Mh1QhMc. |
| `language` | string | no | `"Spanish"` | Caption language name or code, for example Spanish or es; defaults to the original caption language. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "video"
  ],
  "properties": {
    "video": {
      "type": "string",
      "description": "A YouTube video link or its title, for example https://www.youtube.com/watch?v=Ks-_Mh1QhMc.",
      "examples": [
        "https://www.youtube.com/watch?v=Ks-_Mh1QhMc",
        "https://www.youtube.com/watch?v=eIho2S0ZahI",
        "Your Body Language May Shape Who You Are Amy Cuddy TED"
      ]
    },
    "language": {
      "type": "string",
      "default": "",
      "description": "Caption language name or code, for example Spanish or es; defaults to the original caption language.",
      "examples": [
        "Spanish"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "video": "https://www.youtube.com/watch?v=Ks-_Mh1QhMc"
    },
    {
      "video": "https://www.youtube.com/watch?v=eIho2S0ZahI"
    },
    {
      "video": "Your Body Language May Shape Who You Are Amy Cuddy TED",
      "language": "Spanish"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `segments` | array |  |  |
| `segments[].text` | string | `"Translator: Joseph Geni\nReviewer: Morton Bast"` |  |
| `segments[].start_time` | string | `"0:00"` |  |
| `segments[].start_seconds` | number | `0` |  |
| `segments[].duration_seconds` | number | `7` |  |
| `transcript` | string |  |  |
| `video_link` | string | `"https://www.youtube.com/watch?v=Ks-_Mh1QhMc"` |  |
| `video_title` | string | `"Your Body Language May Shape Who You Are \| Amy Cuddy \| TED"` |  |
| `auto_generated` | boolean | `false` |  |
| `caption_language` | string | `"English"` |  |
| `available_language_codes` | array |  |  |

**Example input**

```json
{
  "video": "https://www.youtube.com/watch?v=Ks-_Mh1QhMc"
}
```

**Example output**

```json
{
  "segments": [
    {
      "text": "Translator: Joseph Geni\nReviewer: Morton Bast",
      "start_time": "0:00",
      "start_seconds": 0,
      "duration_seconds": 7
    },
    {
      "text": "So I want to start by offering you\na free no-tech life hack,",
      "start_time": "0:15",
      "start_seconds": 15.967,
      "duration_seconds": 5.398
    },
    {
      "text": "and all it requires of you is this:",
      "start_time": "0:21",
      "start_seconds": 21.389,
      "duration_seconds": 2.597
    }
  ],
  "transcript": "Translator: Joseph Geni\nReviewer: Morton Bast\nSo I want to start by offering you\na free no-tech life hack,\nand all it requires of you is this:\nthat you change your posture\nfor two minutes.\nBut before …",
  "video_link": "https://www.youtube.com/watch?v=Ks-_Mh1QhMc",
  "video_title": "Your Body Language May Shape Who You Are | Amy Cuddy | TED",
  "auto_generated": false,
  "caption_language": "English",
  "available_language_codes": [
    "sq",
    "ar",
    "hy"
  ]
}
```

### List channel videos

Operation `list_channel_videos`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

List a channel’s public videos, Shorts, or live uploads in latest or popular order, with channel details. Counts and dates derived from displayed text may be approximate.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `sort` | string | no | `"latest"` | Order uploads by latest or popular, such as popular. |
| `type` | string | no | `"videos"` | Choose videos, shorts, or live, such as shorts. |
| `channel` | string | yes | `"@MrBeast"` | Channel name, @handle, or YouTube channel link, such as MrBeast or @MrBeast. |
| `max_results` | integer | no | `30` | Maximum videos to return, such as 30. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "channel"
  ],
  "properties": {
    "sort": {
      "enum": [
        "latest",
        "popular"
      ],
      "type": "string",
      "default": "latest",
      "description": "Order uploads by latest or popular, such as popular.",
      "examples": [
        "latest",
        "popular"
      ]
    },
    "type": {
      "enum": [
        "videos",
        "shorts",
        "live"
      ],
      "type": "string",
      "default": "videos",
      "description": "Choose videos, shorts, or live, such as shorts.",
      "examples": [
        "videos",
        "live",
        "shorts"
      ]
    },
    "channel": {
      "type": "string",
      "minLength": 1,
      "description": "Channel name, @handle, or YouTube channel link, such as MrBeast or @MrBeast.",
      "examples": [
        "@MrBeast",
        "https://www.youtube.com/@NASA",
        "MrBeast"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 30,
      "maximum": 200,
      "minimum": 1,
      "description": "Maximum videos to return, such as 30.",
      "x-fous-developer": true,
      "examples": [
        30,
        5,
        36
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "sort": "latest",
      "type": "videos",
      "channel": "@MrBeast",
      "max_results": 30
    },
    {
      "sort": "popular",
      "type": "live",
      "channel": "https://www.youtube.com/@NASA",
      "max_results": 5
    },
    {
      "sort": "latest",
      "type": "shorts",
      "channel": "MrBeast",
      "max_results": 5
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `videos` | array |  |  |
| `videos[].title` | string or null | `"I Built A City To Save Kids From Illegal Labor"` |  |
| `videos[].views` | integer or null | `79000000` | Approximate view count when abbreviated by YouTube. |
| `videos[].length` | string or null | `"19:03"` | Video duration as displayed, or LIVE for a live stream. |
| `videos[].video_id` | string | `"v9QtM6qnG50"` |  |
| `videos[].video_link` | string | `"https://www.youtube.com/watch?v=v9QtM6qnG50"` |  |
| `videos[].upload_date` | string or null | `"2026-09-19"` | Publish date, estimated when only a relative date is available. |
| `videos[].thumbnail_link` | string or null | `"https://i.ytimg.com/vi/v9QtM6qnG50/hqdefault_custom_2.jpg?sqp=CKDs69UG-oaymwEnCOADEI4CSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIG` |  |
| `channel_id` | string | `"UCX6OQ3DkcsbYNE6H8uQQuVA"` |  |
| `subscribers` | integer or null | `518000000` | Approximate subscriber count when abbreviated by YouTube. |
| `channel_link` | string | `"https://www.youtube.com/@MrBeast"` |  |
| `channel_name` | string or null | `"MrBeast"` |  |
| `number_of_videos` | integer or null | `1000` | Approximate total video count when abbreviated by YouTube. |

**Example input**

```json
{
  "sort": "latest",
  "type": "videos",
  "channel": "@MrBeast",
  "max_results": 30
}
```

**Example output**

```json
{
  "videos": [
    {
      "title": "I Built A City To Save Kids From Illegal Labor",
      "views": 79000000,
      "length": "19:03",
      "video_id": "v9QtM6qnG50",
      "video_link": "https://www.youtube.com/watch?v=v9QtM6qnG50",
      "upload_date": "2026-09-19",
      "thumbnail_link": "https://i.ytimg.com/vi/v9QtM6qnG50/hqdefault_custom_2.jpg?sqp=CKDs69UG-oaymwEnCOADEI4CSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLDLRULD4UAPOdqJAmUTXnDMnf6JBg"
    },
    {
      "title": "I Survived The Most Extreme Places On Earth",
      "views": 116000000,
      "length": "23:28",
      "video_id": "gTKS8SAwUzE",
      "video_link": "https://www.youtube.com/watch?v=gTKS8SAwUzE",
      "upload_date": "2026-09-07",
      "thumbnail_link": "https://i.ytimg.com/vi/gTKS8SAwUzE/hq720.jpg?sqp=-oaymwEnCNAFEJQDSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLCinCS-72tR3BbuXhG-OTPNG2SLgw"
    },
    {
      "title": "Escape 100 Cops, Win $500,000",
      "views": 112000000,
      "length": "20:29",
      "video_id": "Qtl8lJwbd4g",
      "video_link": "https://www.youtube.com/watch?v=Qtl8lJwbd4g",
      "upload_date": "2026-08-29",
      "thumbnail_link": "https://i.ytimg.com/vi/Qtl8lJwbd4g/hq720_custom_2.jpg?sqp=CKDs69UG-oaymwEnCNAFEJQDSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLBhlE3o_AyTnFivIqH2PQ_hiDNC4A"
    }
  ],
  "channel_id": "UCX6OQ3DkcsbYNE6H8uQQuVA",
  "subscribers": 518000000,
  "channel_link": "https://www.youtube.com/@MrBeast",
  "channel_name": "MrBeast",
  "number_of_videos": 1000
}
```

### List top songs

Operation `list_top_songs`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

List the latest weekly Top Songs chart for a country or globally, including ranks, views, and video links. Only countries with a YouTube Music chart are available.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `country` | string | no | `"Global"` | Country name or two-letter code, or Global. For example, United States. |
| `max_results` | integer | no | `5` | Maximum number of ranked songs to return, for example 25. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "default": "global",
      "description": "Country name or two-letter code, or Global. For example, United States.",
      "examples": [
        "Global",
        "United States",
        "France"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 100,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of ranked songs to return, for example 25.",
      "x-fous-developer": true,
      "examples": [
        5,
        3
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "country": "Global"
    },
    {
      "country": "United States",
      "max_results": 5
    },
    {
      "country": "France",
      "max_results": 3
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `songs` | array |  | Top songs in chart rank order. |
| `songs[].rank` | integer | `1` |  |
| `songs[].artists` | array |  |  |
| `songs[].song_title` | string | `"Dai Dai"` |  |
| `songs[].video_link` | string | `"https://www.youtube.com/watch?v=fcnDmrtj6Sk"` |  |
| `songs[].weekly_views` | integer | `61242280` |  |
| `songs[].previous_rank` | integer or null | `1` |  |
| `songs[].weeks_on_chart` | integer | `19` |  |
| `week_end_date` | string | `"2026-09-24"` | Last day of the chart week. |
| `week_start_date` | string | `"2026-09-18"` | First day of the chart week. |

**Example input**

```json
{
  "country": "Global"
}
```

**Example output**

```json
{
  "songs": [
    {
      "rank": 1,
      "artists": [
        "Shakira",
        "Burna Boy"
      ],
      "song_title": "Dai Dai",
      "video_link": "https://www.youtube.com/watch?v=fcnDmrtj6Sk",
      "weekly_views": 61242280,
      "previous_rank": 1,
      "weeks_on_chart": 19
    },
    {
      "rank": 2,
      "artists": [
        "Sadhu Tiwari"
      ],
      "song_title": "Parvati",
      "video_link": "https://www.youtube.com/watch?v=s2HYl12gmOY",
      "weekly_views": 49951723,
      "previous_rank": 2,
      "weeks_on_chart": 4
    },
    {
      "rank": 3,
      "artists": [
        "ARJN",
        "KDS",
        "FIFTY4"
      ],
      "song_title": "KALYANI (Remix)",
      "video_link": "https://www.youtube.com/watch?v=xvT1jH8B9AM",
      "weekly_views": 45445783,
      "previous_rank": 3,
      "weeks_on_chart": 23
    }
  ],
  "week_end_date": "2026-09-24",
  "week_start_date": "2026-09-18"
}
```

### Search videos

Operation `search_videos`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Search public YouTube videos by keywords, upload period, length, and order. Upload dates inferred from relative labels are approximate.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `sort` | string | no | `"upload_date"` | Order of results, for example view_count. |
| `query` | string | yes | `"python"` | Words to search for, for example how to make sourdough. |
| `length` | string | no | `"4_to_20_minutes"` | Video duration range, for example 4_to_20_minutes. |
| `max_results` | integer | no | `25` | Maximum videos to return, for example 20. |
| `uploaded_within` | string | no | `"this_month"` | How recently the video was uploaded, for example this_week. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "sort": {
      "enum": [
        "relevance",
        "upload_date",
        "view_count"
      ],
      "type": "string",
      "default": "relevance",
      "description": "Order of results, for example view_count.",
      "examples": [
        "upload_date",
        "view_count"
      ]
    },
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Words to search for, for example how to make sourdough.",
      "examples": [
        "python",
        "how to make sourdough",
        "beginner python tutorial"
      ]
    },
    "length": {
      "enum": [
        "any",
        "under_4_minutes",
        "4_to_20_minutes",
        "over_20_minutes"
      ],
      "type": "string",
      "default": "any",
      "description": "Video duration range, for example 4_to_20_minutes.",
      "examples": [
        "4_to_20_minutes",
        "under_4_minutes"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum videos to return, for example 20.",
      "x-fous-developer": true,
      "examples": [
        25,
        12
      ]
    },
    "uploaded_within": {
      "enum": [
        "any",
        "last_hour",
        "today",
        "this_week",
        "this_month",
        "this_year"
      ],
      "type": "string",
      "default": "any",
      "description": "How recently the video was uploaded, for example this_week.",
      "examples": [
        "this_month"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "sort": "upload_date",
      "query": "python",
      "length": "4_to_20_minutes",
      "max_results": 25,
      "uploaded_within": "this_month"
    },
    {
      "query": "how to make sourdough"
    },
    {
      "sort": "view_count",
      "query": "beginner python tutorial",
      "length": "under_4_minutes",
      "max_results": 12
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `videos` | array |  |  |
| `videos[].title` | string | `"8 Python 3.15 Features You Need to Know"` |  |
| `videos[].views` | integer or null | `40094` |  |
| `videos[].length` | string or null | `"12:49"` |  |
| `videos[].is_live` | boolean | `false` |  |
| `videos[].is_short` | boolean | `false` |  |
| `videos[].video_id` | string | `"bgeqL4Btou0"` |  |
| `videos[].video_link` | string | `"https://www.youtube.com/watch?v=bgeqL4Btou0"` |  |
| `videos[].upload_date` | string or null | `"2026-10-02"` | Estimated date when YouTube gives only a relative time. |
| `videos[].channel_link` | string or null | `"https://www.youtube.com/@ArjanCodes"` |  |
| `videos[].channel_name` | string or null | `"ArjanCodes"` |  |
| `videos[].length_seconds` | integer or null | `769` |  |
| `videos[].thumbnail_link` | string or null | `"https://i.ytimg.com/vi/bgeqL4Btou0/hq720.jpg?sqp=-oaymwEnCNAFEJQDSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CL` |  |

**Example input**

```json
{
  "sort": "upload_date",
  "query": "python",
  "length": "4_to_20_minutes",
  "max_results": 25,
  "uploaded_within": "this_month"
}
```

**Example output**

```json
{
  "videos": [
    {
      "title": "8 Python 3.15 Features You Need to Know",
      "views": 40094,
      "length": "12:49",
      "is_live": false,
      "is_short": false,
      "video_id": "bgeqL4Btou0",
      "video_link": "https://www.youtube.com/watch?v=bgeqL4Btou0",
      "upload_date": "2026-10-02",
      "channel_link": "https://www.youtube.com/@ArjanCodes",
      "channel_name": "ArjanCodes",
      "length_seconds": 769,
      "thumbnail_link": "https://i.ytimg.com/vi/bgeqL4Btou0/hq720.jpg?sqp=-oaymwEnCNAFEJQDSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLDkDLUMIOKqNV1VpqVzSrvaSMuknA"
    },
    {
      "title": "How I Would Learn Python FAST (if I could start over)",
      "views": 29588,
      "length": "9:54",
      "is_live": false,
      "is_short": false,
      "video_id": "ZPrdee4ZS9U",
      "video_link": "https://www.youtube.com/watch?v=ZPrdee4ZS9U",
      "upload_date": "2026-09-19",
      "channel_link": "https://www.youtube.com/@exaltitude",
      "channel_name": "Jean Lee",
      "length_seconds": 594,
      "thumbnail_link": "https://i.ytimg.com/vi/ZPrdee4ZS9U/hq720.jpg?sqp=-oaymwEnCNAFEJQDSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLC2B0YSIfwXfO4zVrBgpqU6-5kfPg"
    },
    {
      "title": "5 Crazy Python Features in Under 10 Minutes",
      "views": 20583,
      "length": "9:18",
      "is_live": false,
      "is_short": false,
      "video_id": "QvG3kyGeHzw",
      "video_link": "https://www.youtube.com/watch?v=QvG3kyGeHzw",
      "upload_date": "2026-09-30",
      "channel_link": "https://www.youtube.com/@Indently",
      "channel_name": "Indently",
      "length_seconds": 558,
      "thumbnail_link": "https://i.ytimg.com/vi/QvG3kyGeHzw/hq720.jpg?sqp=-oaymwEnCNAFEJQDSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLCCG4r0QXCxSgNl444k0I7MwkzRVw"
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@youtube",
  "visibility": "public",
  "operation": "find_company_channel",
  "version": 3,
  "input": {
    "company_name": "The Coca-Cola Company"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@youtube\",\n  \"visibility\": \"public\",\n  \"operation\": \"find_company_channel\",\n  \"version\": 3,\n  \"input\": {\n    \"company_name\": \"The Coca-Cola Company\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@youtube",
  "visibility": "public",
  "operation": "find_company_channel",
  "version": 3,
  "input": {
    "company_name": "The Coca-Cola Company"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/youtube`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `find_company_channel`: Find company channel. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_channel`: Get channel. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_video`: Get video. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_video_comments`: Get video comments. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `get_video_transcript`: Get video transcript. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `list_channel_videos`: List channel videos. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `list_top_songs`: List top songs. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_videos`: Search videos. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-youtube https://api.fous.com/mcp/tools/youtube --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Research videos about a topic and compare their view counts.
- Review a video's details, captions, and public comments.
- Track a channel's profile and uploads by latest or popular order.
- Find a company's YouTube channel and public subscriber count.
- Compare weekly song rankings across available countries.

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this YouTube tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a YouTube account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from youtube.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Oct 7, 2026.

### How do I find videos about a topic?

Search videos finds videos using a required keyword query and optional upload period, length, and order.

### What does a video say?

Get video transcript returns available captions and timed segments for a video link or title.

### Which songs are topping the weekly chart?

List top songs returns ranked songs, weekly views, and chart dates for a country or globally.

## Related

- [Apple Music API](https://fous.com/tools/apple-music.md): Apple Music returns albums, tracks, artist profiles, latest releases, top music, matching songs, and current charts; prices, previews, and older albums may be unavailable.
- [Kworb API](https://fous.com/tools/kworb.md): Kworb provides published Spotify and YouTube music charts and tracked artist streaming totals; chart dates may lag, and daily streams or some views may be unavailable.
- [Twitch API](https://fous.com/tools/twitch.md): Twitch returns channel profiles, live status, up to 10 broadcasts, top streams, viewer-ranked categories, up to 100 public videos/clips, and 1–30-day schedules; counts change.
- [Social Blade API](https://fous.com/tools/social-blade.md): Social Blade provides public creator totals and grades, YouTube 30-day growth and 14-day history, TikTok 30-day changes and up to 14-day history, and Instagram totals without public daily history or 30-day follower change.
- [Vimeo API](https://fous.com/tools/vimeo.md): Watch and share videos on Vimeo.
- [Deezer API](https://fous.com/tools/deezer.md): Deezer provides albums with ordered tracklists, song recording details, and current worldwide charts or official country-playlist tracks; previews and some tempo data may be unavailable or expire.
- [TikTok API](https://fous.com/tools/tiktok.md): TikTok returns public profiles and totals, recent pinned-first videos, and public video details and engagement; private content unavailable, and feeds may be incomplete or empty.
- [Spotify API](https://fous.com/tools/spotify.md): Spotify returns public artist profiles, album credits and ordered tracks, song details and play counts, up to 500 playlist songs, keyword results, and country-based podcast charts; dates and regional options vary.
- [All Entertainment tools](https://fous.com/tools/category/entertainment)
