# API - Channels endpoint Please refer to the [Common object types](./common_types.md) page for more details on the various JSON objects used below. ##### GET `/api/v1/channels/:id` > Response: ```javascript { "author": String, "authorId": String, "authorUrl": String, "authorVerified": Boolean, "authorBanners": [ // One or more ImageObject ], "authorThumbnails": [ // One or more ImageObject ], "subCount": Number, // Integer "totalViews": Number, // Integer "joined": Number, // Unix timestamp "autoGenerated": Boolean, "isFamilyFriendly": Boolean, "description": String, "descriptionHtml": String, "allowedRegions": String[], "tabs": String[], "latestVideos": [ // One or more VideoObject ], "relatedChannels": [ // One or more ChannelObject ] } ``` ##### GET `/api/v1/channels/:id/channels` > URL parameters: * `continuation`: A continuation token to get the next chunk of items. The token is provided each time this API is requested. > Response: ```javascript { "relatedChannels": [ // One or more ChannelObject ], "continuation": String } ``` ##### GET `/api/v1/channels/:id/latest` This is the same as requesting `/api/v1/channels/:id/videos` without URL parameters. ##### GET `/api/v1/channels/:id/playlists` > URL parameters: * `continuation`: A continuation token to get the next chunk of items. The token is provided each time this API is requested. * `sort_by`: Sort order filter. Accepted values: `oldest`, `newest`, `last`. Defaults to `last`. > Response: ```javascript { "playlists": [ // One or more PlaylistOject ], "continuation": continuation } ``` ##### GET `/api/v1/channels/:id/podcasts` > URL parameters: * `continuation`: A continuation token to get the next chunk of items. The token is provided each time this API is requested. > Response: ```javascript { "playlists": [ // One or more PlaylistOject ], "continuation": continuation } ``` ##### GET `/api/v1/channels/:id/releases` > URL parameters: * `continuation`: A continuation token to get the next chunk of items. The token is provided each time this API is requested. > Response: ```javascript { "playlists": [ // One or more PlaylistOject ], "continuation": continuation } ``` ##### GET `/api/v1/channels/:id/shorts` > URL parameters: * `continuation`: A continuation token to get the next chunk of items. The token is provided each time this API is requested. * `sort_by`: Sort order filter. Accepted values: `newest`, `popular` or `oldest` > Response: See: GET `/api/v1/channels/:id/videos` ##### GET `/api/v1/channels/:id/streams` > URL parameters: * `continuation`: A continuation token to get the next chunk of items. The token is provided each time this API is requested. * `sort_by`: Sort order filter. Accepted values: `newest`, `popular` or `oldest` > Response: See: GET `/api/v1/channels/:id/videos` ##### GET `/api/v1/channels/:id/videos` > URL parameters: * `continuation`: A continuation token to get the next chunk of items. The token is provided each time this API is requested. * `sort_by`: Sort order filter. Accepted values: `newest`, `popular` or `oldest` (Broken as of 10/2022). Default to `newest`. > Response: ```javascript { "videos": [ // One or more VideoObject ], "continuation": String } ``` ##### GET `/api/v1/channels/:id/community` Please refer to the [Community Post Attachment types](#community-post-attachment-types) below for more details on the attachment JSON objects used below. > Url parameters * `continuation`: A continuation token to get the next chunk of items. > Response: ```javascript { "authorId": String, "comments": { "attachment": ImageAttachment | MultiImageAttachment | VideoAttachment | PollAttachment | PlaylistAttachment "author": String, "authorIsChannelOwner": Boolean "authorId": String, "authorThumbnails": ImageObject[], "authorUrl": String, "commentId": String, "content": String, "contentHtml": String, "isEdited": Boolean, "likeCount": Number, "published": Number, "publishedText": String, "replyCount": Number }[] } ``` ###### Community Post Attachment Types __VideoAttachment__ See [VideoObject](./common_types.md#videoobject) common type __PlaylistAttachment__ See [PlaylistObject](./common_types.md#playlistobject) common type __ImageAttachment__ ```javascript { "type": "image", "imageThumbnails": ImageObject[] } ``` __MultiImageAttachment__ ```javascript { "type": "multiImage", "images": ImageObject[][] } ``` __PollAttachment__ ```javascript { "type": "poll", "totalVotes": Number, "choices": { "text": String, "image?": ImageObject[] }[] } ``` __Unknown__ This usually means that parsing support for the attachment type has not yet been implemented. ```javascript { "type": "unknown", "error": String } ``` ##### GET `/api/v1/channels/:ucid/search` > Url parameters * `q`: The query to search * `page`: The page number of the search (Int32) > Response: ```javascript [ VideoObject, PlaylistObject ]; ``` ##### GET `/api/v1/post/:id` > Url parameters * `ucid`: You can optionally provide the channel's id for fetching the post. > Response: Same as [`/api/v1/channels/:id/community`](#get-apiv1channelsidcommunity) but only returns one post in the comments array ##### GET `/api/v1/post/:id/comments` * `ucid`: You can optionally provide the channel's id for fetching the post's comments. > Response: Same as [`/api/v1/channels/:id/comments`](../api.md#get-apiv1commentsid) but has a postId instead of a videoId