• Tools
Tools
  • Tools
loading...
No Results
  • ActiveCampaign
  • Asana
  • AWS-S3
  • AWS Lambda
  • Appstore
  • BambooHR
  • Bitbucket
  • Brevo
  • Coda
  • Code
  • ConvertKit
  • CSV
  • Crypto
  • Clockify
  • Data Shaping
  • Date & Time
  • Delay
  • DingTalk
  • Discourse
  • Discord
  • Dropbox
  • Elastic Security
  • FeiShu
  • Freshdesk
  • Freshservice
  • Freshworks CRM
  • Gerrit
  • Gitlab
  • Github
  • Grafana
  • Google Ads
  • Google Docs
  • Google Drive
  • Google Gmail
  • Google Sheets
  • Google Analytics
  • Google Calendar
  • Google Developer
  • Harvest
  • HaloPSA
  • Hacker News
  • Hubspot
  • Help Scout
  • Intercom
  • Jira
  • Jenkins
  • Kafka
  • Lemlist
  • MySQL
  • Monday
  • Metabase
  • MailChimp
  • Microsoft Excel
  • Microsoft Outlook
  • Notion
  • Nextcloud
  • Odoo
  • Ortto
  • Okta
  • PayPal
  • Paddle
  • Pipedrive
  • PostHog
  • PostgreSQL
  • Qdrant
  • QRCode
  • QuickBooks
  • Redis
  • Stripe
  • Splunk
  • Shopify
  • Segment
  • ServiceNow
  • Search&Crawl
  • Text
  • Trello
  • Twilio
  • Todoist
  • Wikipedia
  • WordPress
  • WooCommerce
  • Xml
  • YouTube
  • Zulip
  • Zoom
  • Zendesk
  • Zammad
Home > Tools

YouTube

1. Overview

Youtube (YouTube Data API v3) lets you programmatically manage channels, playlists, videos, and related resources. This node integrates YouTube capabilities into GoInsight workflows.

With this node, you can:

  • Create, update, get, find, and delete playlists
  • Add, get, find, and delete playlist items
  • Upload, get, find, update, rate, and delete videos
  • Get and find channels, update channel metadata, and upload a channel banner
  • Find video categories available in a region or by IDs

2. Prerequisites

  • A valid Google account with access to YouTube.
  • A Google Cloud project with YouTube Data API v3 enabled.
  • OAuth 2.0 credentials configured in GoInsight with appropriate scopes.
  • Typical scopes (least-privilege as needed):
    • youtube.readonly (read operations)
    • youtube (update operations)
    • youtube.upload (video/banner uploads)

3. Credentials

For how to obtain and configure credentials, see: Credentials Guide.

4. Supported Operations

Summary

This node operates on the following resources: Channel, Playlist, Playlist Item, Video, Video Category, and Channel Banner.

Resource Operation Description
:-- :-- :--
Channel Get a Channel Retrieve channel details by ID, username, or handle.
Channel Find Channels Batch retrieve channels by IDs or the authenticated user's channels.
Channel Update a Channel Update channel brandingSettings, invideoPromotion, or localizations.
Channel Banner Upload a Channel Banner Upload a banner image and get a URL for channels.update.
Playlist Create a Playlist Create a new playlist with title, description, and privacy.
Playlist Get a Playlist Retrieve details for a specific playlist.
Playlist Find Playlists Retrieve multiple playlists by IDs, channel, or mine.
Playlist Update a Playlist Update playlist metadata including title and privacy.
Playlist Delete a Playlist Delete a playlist by ID.
Playlist Item Add a Playlist Item Add a video to a playlist with optional position and notes.
Playlist Item Get a Playlist Item Retrieve details for a specific playlist item.
Playlist Item Find Playlist Items List items in a playlist or fetch by playlist item IDs.
Playlist Item Delete a Playlist Item Remove a video from a playlist by playlist item ID.
Video Upload a Video Upload a video with metadata such as title, category, privacy.
Video Get a Video Retrieve details for a specific video.
Video Find Videos Retrieve multiple videos by IDs, chart, or myRating.
Video Update a Video Update video metadata (title, description, tags, privacy, etc.).
Video Rate a Video Like, dislike, or remove rating from a video.
Video Delete a Video Permanently delete a video by ID.
Video Category Find Video Categories Get video categories by IDs or by region code.

Operation Details

Add a Playlist Item

Add a video to a YouTube playlist using YouTube Data API v3. Supports setting position, notes, and playback start/end times. Returns playlist item ID, title, position, channel info, and full API response. Requires OAuth 2.0 authentication and consumes 50 quota units.

Input Parameters:

  • PlaylistId: The unique identifier of the playlist to add the video to (e.g., "PLxxxxxxxxxxxxxxxxxxxxxxxx"). Required parameter.
  • VideoId: The unique identifier of the video to add to the playlist (e.g., "dQw4w9WgXcQ"). Required parameter.

Options:

  • Part: Comma-separated list of resource parts to return. Options: snippet, contentDetails, id, status. Default: "snippet,contentDetails". This parameter also identifies which properties to set.
  • Position: Position of the video in the playlist (0-based index). -1 means position is not set. Only works when playlist uses manual sorting. Range: -1 or >= 0.
  • Note: Note or description for the playlist item. Maximum 280 characters.
  • StartAt: Start time in seconds for video playback (e.g., "30" to start at 30 seconds).
  • EndAt: End time in seconds for video playback (e.g., "120" to end at 120 seconds).
  • OnBehalfOfContentOwner: Content owner identifier. Only for YouTube content partners. Specifies the content owner on whose behalf the action is performed.

Output:

  • PlaylistItemId (string): The unique identifier of the added playlist item.
  • PlaylistId (string): The playlist ID where the video was added.
  • VideoId (string): The video ID that was added to the playlist.
  • VideoTitle (string): The title of the added video.
  • Position (number): The position of the video in the playlist (0-based index).
  • Note (string): The note associated with the playlist item.
  • ChannelId (string): The channel ID that owns the playlist.
  • ChannelTitle (string): The title of the channel that owns the playlist.
  • PlaylistItem (object): Complete playlist item object from YouTube API response.
  • IsAdded (bool): Boolean indicating whether the video was successfully added to the playlist.
  • StatusCode (number): HTTP status code: 200 (success), 400 (bad request), 403 (forbidden/quota exceeded), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Create a Playlist

Create YouTube playlist using YouTube Data API v3. Supports setting title, description, privacy status (private/public/unlisted), default language, and localizations. Returns playlist ID, title, description, privacy status, publish time, channel info, and full API response. Requires OAuth 2.0 authentication and consumes 50 quota units.

Input Parameters:

  • Title: The title of the playlist. Required parameter. The display name of the playlist.

Options:

  • Description: The description of the playlist. Optional. Detailed explanation text for the playlist.
  • PrivacyStatus: Privacy status of the playlist. Options: "private" (only creator can see), "public" (everyone can see), "unlisted" (accessible by link). Default: "private".
  • DefaultLanguage: Default language code for the playlist (e.g., "zh-CN", "en-US"). Must be set to use localizations.
  • Localizations: Localization configuration in JSON format for providing titles and descriptions in different languages. Example: '{"en": {"title": "English Title", "description": "English Description"}}'. Requires DefaultLanguage to be set.
  • Part: Comma-separated list of resource parts to return. Options: snippet, status, contentDetails, id, localizations, player. Default: "snippet,status".
  • OnBehalfOfContentOwner: Content owner identifier. Only for YouTube content partners. Specifies the content owner on whose behalf the action is performed.
  • OnBehalfOfContentOwnerChannel: Content owner channel ID. Only for YouTube content partners. Used together with OnBehalfOfContentOwner.

Output:

  • PlaylistId (string): The unique identifier of the created playlist.
  • PlaylistTitle (string): The title of the created playlist.
  • PlaylistDescription (string): The description of the created playlist.
  • PrivacyStatus (string): The privacy status of the playlist (private, public, or unlisted).
  • PublishedAt (string): The creation time of the playlist in ISO 8601 format.
  • ChannelId (string): The ID of the channel that owns the playlist.
  • ChannelTitle (string): The title of the channel that owns the playlist.
  • DefaultLanguage (string): The default language code of the playlist.
  • ItemCount (number): The number of items in the playlist (0 for newly created playlist).
  • Playlist (object): Complete playlist object from YouTube API response.
  • StatusCode (number): HTTP status code: 200/201 (success), 400 (bad request), 401 (unauthorized), 403 (forbidden/quota exceeded), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Delete a Playlist

Delete a YouTube playlist by playlist ID using the YouTube Data API v3. This operation is irreversible and the playlist cannot be recovered after deletion. Some system-generated playlists (like uploaded videos playlist) cannot be deleted. Returns deletion status and error details if the operation fails. This operation requires OAuth 2.0 authentication and consumes 50 quota units.

Input Parameters:

  • PlaylistId: The unique identifier of the playlist to delete (e.g., "PLxxxxxxxxxxxxxxxxxxxxxxxx"). Required parameter. In the playlist resource, the id property specifies the playlist ID. Note: Some system-generated playlists (like uploaded videos playlist) cannot be deleted.

Options:

  • OnBehalfOfContentOwner: Content owner identifier. Only for YouTube content partners. Specifies the content owner on whose behalf the action is performed. The CMS account using this parameter must be linked to the specified content owner.

Output:

  • PlaylistId (string): The unique identifier of the deleted playlist.
  • IsDeleted (bool): Boolean indicating whether the playlist was successfully deleted.
  • StatusCode (number): HTTP status code: 204 (success), 400 (bad request/unsupported operation), 401 (unauthorized), 403 (forbidden), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Delete a Playlist Item

Delete a video from YouTube playlist by playlist item ID using YouTube Data API v3. Irreversible operation. Some playlists (like uploaded videos) do not support deletion. Returns deletion status and error details if fails. Requires OAuth 2.0 authentication and consumes 50 quota units.

Input Parameters:

  • PlaylistItemId: The unique identifier of the playlist item to delete. Required parameter. In the playlistItem resource, the id property specifies the playlist item ID.

Options:

  • OnBehalfOfContentOwner: Content owner identifier. Only for YouTube content partners. Specifies the content owner on whose behalf the action is performed.

Output:

  • PlaylistItemId (string): The unique identifier of the deleted playlist item.
  • IsDeleted (bool): Boolean indicating whether the playlist item was successfully deleted.
  • StatusCode (number): HTTP status code: 204 (success), 400 (unsupported operation), 403 (forbidden), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Delete a Video

Delete a YouTube video by video ID using the YouTube Data API v3. This operation is irreversible and the video cannot be recovered after deletion. Only videos owned by the authenticated user can be deleted. Returns deletion status and error details if the operation fails. This operation requires OAuth 2.0 authentication and consumes 50 quota units.

Input Parameters:

  • VideoId: The unique identifier of the video to delete (e.g., "dQw4w9WgXcQ"). Required parameter. In the video resource, the id property specifies the video ID. Note: Only videos owned by the authenticated user can be deleted.

Options:

  • OnBehalfOfContentOwner: Content owner identifier. Only for YouTube content partners. Specifies the content owner on whose behalf the action is performed. The CMS account using this parameter must be linked to the specified content owner.

Output:

  • VideoId (string): The unique identifier of the deleted video.
  • IsDeleted (bool): Boolean indicating whether the video was successfully deleted.
  • StatusCode (number): HTTP status code: 204 (success), 400 (bad request), 401 (unauthorized), 403 (forbidden), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Get a Channel

Retrieve YouTube channel details by ID, username, or handle using YouTube Data API v3. Returns title, description, custom URL, publish date, subscriber/video/view counts, country, and full API response. Must provide one filter: ChannelId, ForUsername, or ForHandle.

Options:

  • ChannelId: The unique ID of the YouTube channel (e.g., "UCxxxxxxxxxxxxxx"). Used to directly retrieve channel information by channel ID.
  • ForUsername: The channel's username (legacy identifier). Used to retrieve channel information by YouTube username.
  • ForHandle: The channel's handle (new identifier, e.g., "GoogleDevelopers" or "@GoogleDevelopers"). Can be with or without @ prefix, function will automatically add it.
  • Part: Comma-separated list of resource parts to return. Options: auditDetails, brandingSettings, contentDetails, contentOwnerDetails, id, localizations, snippet, statistics, status, topicDetails. Default: "snippet,contentDetails,statistics". Note: auditDetails requires special authorization scope.
  • Hl: Language code for localized resource metadata (e.g., "zh_CN", "en_US"). Must be a YouTube supported language code.

Output:

  • ChannelId (string): The unique ID of the YouTube channel.
  • ChannelTitle (string): The title of the channel.
  • ChannelDescription (string): The description of the channel.
  • CustomUrl (string): The custom URL of the channel.
  • PublishedAt (string): The date and time when the channel was created (ISO 8601 format).
  • SubscriberCount (string): The number of subscribers the channel has.
  • VideoCount (string): The total number of videos uploaded to the channel.
  • ViewCount (string): The total number of views the channel has received.
  • Country (string): The country associated with the channel.
  • Channel (object): Complete channel detail object from YouTube API response containing all requested resource parts.
  • StatusCode (number): HTTP status code: 200 (success), 400 (bad request), 401 (unauthorized), 403 (forbidden/quota exceeded), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Get a Playlist

Retrieve YouTube playlist details by ID using YouTube Data API v3. Returns playlist ID, title, description, channel info, publish date, privacy status, item count, and full API response. Requires OAuth 2.0 authentication and consumes 1 quota unit.

Input Parameters:

  • PlaylistId: The unique ID of the playlist (e.g., "PLxxxxxxxxxxxxxx"). Used to retrieve specific playlist information.

Options:

  • Part: Comma-separated list of resource parts to return. Options: snippet, contentDetails, id, localizations, player, status. Default: "snippet,contentDetails,status". Note: Each specified part affects quota consumption.
  • Hl: Language code for localized resource metadata (e.g., "zh_CN", "en_US"). Must be a YouTube supported language code. If localized content exists for the language, snippet.localized object will contain localized values.

Output:

  • PlaylistId (string): The unique ID of the playlist.
  • PlaylistTitle (string): The title of the playlist.
  • PlaylistDescription (string): The description of the playlist.
  • ChannelId (string): The unique ID of the channel that owns the playlist.
  • ChannelTitle (string): The title of the channel that owns the playlist.
  • PublishedAt (string): The date and time when the playlist was created (ISO 8601 format).
  • PrivacyStatus (string): The privacy status of the playlist (private/public/unlisted).
  • ItemCount (number): The number of items in the playlist.
  • Playlist (object): Complete playlist detail object from YouTube API response containing all requested resource parts.
  • StatusCode (number): HTTP status code: 200 (success), 400 (bad request), 403 (forbidden/quota exceeded), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Get a Playlist Item

Retrieve YouTube playlist item details by ID using YouTube Data API v3. Returns playlist item ID, playlist ID, video ID, title, description, position, publish date, channel info, thumbnails, note, playback times, and privacy status. Requires OAuth 2.0 authentication and consumes 1 quota unit per call.

Input Parameters:

  • PlaylistItemId: The unique ID of the playlist item to retrieve (required parameter).

Options:

  • Part: Comma-separated list of resource parts to return in the response. Options: snippet, contentDetails, id, status. Default: "snippet,contentDetails". Multiple values separated by commas.
  • OnBehalfOfContentOwner: Content owner identification. Only for YouTube content partners. Specifies the content owner on whose behalf the operation is performed.

Output:

  • PlaylistItemId (string): The unique ID of the playlist item.
  • PlaylistId (string): The ID of the playlist that contains the item.
  • VideoId (string): The unique ID of the video in the playlist item.
  • VideoTitle (string): The title of the video.
  • VideoDescription (string): The description of the video.
  • Position (number): The order in which the item appears in the playlist (zero-based index).
  • PublishedAt (string): The date and time when the playlist item was added (ISO 8601 format).
  • ChannelId (string): The unique ID of the channel that published the video.
  • ChannelTitle (string): The title of the channel that published the video.
  • VideoThumbnails (object): A JSON object containing video thumbnail information with various sizes.
  • Note (string): A user-generated note for the playlist item.
  • StartAt (string): The time (in seconds) when the video should start playing.
  • EndAt (string): The time (in seconds) when the video should stop playing.
  • PrivacyStatus (string): The privacy status of the playlist item.
  • StatusCode (number): HTTP status code: 200 (success), 403 (forbidden/insufficient permission), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Get a Video

Retrieve YouTube video details by ID using YouTube Data API v3. Returns video ID, title, description, channel info, publish date, duration, view/like/comment counts, privacy status, and full API response. Note: fileDetails, processingDetails, suggestions only available to video owner. Requires OAuth 2.0 authentication, consumes 1 quota unit.

Input Parameters:

  • VideoId: The unique ID of the video (e.g., "dQw4w9WgXcQ"). Used to retrieve specific video information.

Options:

  • Part: Comma-separated list of resource parts to return. Options: snippet, contentDetails, statistics, status, player, id, liveStreamingDetails, localizations, recordingDetails, topicDetails, fileDetails, processingDetails, suggestions, paidProductPlacementDetails. Default: "snippet,contentDetails,statistics,status". Note: fileDetails, processingDetails, and suggestions are only available to the video owner.
  • Hl: Language code for localized resource metadata (e.g., "zh_CN", "en_US"). Must be a YouTube supported language code. If localized content exists for the language, snippet.localized object will contain localized values.

Output:

  • VideoId (string): The unique ID of the video.
  • VideoTitle (string): The title of the video.
  • VideoDescription (string): The description of the video.
  • ChannelId (string): The unique ID of the channel that published the video.
  • ChannelTitle (string): The title of the channel that published the video.
  • PublishedAt (string): The date and time when the video was published (ISO 8601 format).
  • Duration (string): The length of the video in ISO 8601 format (e.g., PT4M13S).
  • ViewCount (string): The number of times the video has been viewed.
  • LikeCount (string): The number of users who have liked the video.
  • CommentCount (string): The number of comments for the video.
  • PrivacyStatus (string): The privacy status of the video.
  • Video (object): Complete video detail object from YouTube API response containing all requested resource parts.
  • StatusCode (number): HTTP status code: 200 (success), 400 (bad request), 403 (forbidden/quota exceeded), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Find Channels

Batch retrieve YouTube channels by channel IDs or authenticated user's channels using YouTube Data API v3. Supports basic info, content details, statistics with pagination. Must provide either ChannelIds or Mine parameter.

Options:

  • ChannelIds: Comma-separated list of channel IDs to retrieve (e.g., "UCxxxx1,UCxxxx2,UCxxxx3"). Maximum 50 channel IDs allowed. Mutually exclusive with Mine parameter.
  • Mine: Whether to retrieve the authenticated user's own channels. Default is false. When set to true, returns all channels owned by the authenticated user. Mutually exclusive with ChannelIds parameter.
  • Part: Comma-separated list of resource parts to return. Options: auditDetails, brandingSettings, contentDetails, contentOwnerDetails, id, localizations, snippet, statistics, status, topicDetails. Default: "snippet,contentDetails,statistics". Note: auditDetails requires special authorization scope.
  • MaxResults: Maximum number of results to return. Range: 0-50. Default is 50. YouTube API default is 5.
  • PageToken: Page token for pagination. Obtained from nextPageToken or prevPageToken in previous API response.
  • Hl: Language code for localized resource metadata (e.g., "zh_CN", "en_US"). Must be a YouTube supported language code.

Output:

  • Channels (object-array): A JSON array of formatted channel objects containing ChannelId, ChannelTitle, ChannelDescription, CustomUrl, PublishedAt, SubscriberCount, VideoCount, and ViewCount.
  • TotalResults (number): Total number of channels in the result set.
  • ResultsPerPage (number): Number of channels returned in the current page.
  • NextPageToken (string): Token for retrieving the next page of results.
  • PrevPageToken (string): Token for retrieving the previous page of results.
  • RawChannels (object-array): Complete raw channel detail objects from YouTube API response.
  • StatusCode (number): HTTP status code: 200 (success), 400 (bad request), 401 (unauthorized), 403 (forbidden/quota exceeded), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Find Playlist Items

Retrieve playlist items from YouTube using YouTube Data API v3. Can fetch all items in a specified playlist or retrieve specific items by IDs. Supports filtering by video ID, pagination, and returns video title, description, position, thumbnails, notes, privacy status. Must specify either PlaylistItemIds or PlaylistId. Requires OAuth 2.0 authentication, consumes 1 quota unit.

Options:

  • Part: Comma-separated list of resource parts to return. Options: snippet, contentDetails, id, status. Default: "snippet,contentDetails". Specifies which playlistItem resource properties the API response will include.
  • PlaylistItemIds: Comma-separated list of playlist item IDs to retrieve (e.g., "PLItemId1,PLItemId2,PLItemId3"). Note: Must specify either PlaylistItemIds or PlaylistId, but not both.
  • PlaylistId: Unique ID of the playlist whose items to retrieve. Note: Must specify either PlaylistItemIds or PlaylistId, but not both.
  • VideoId: Specifies that only playlist items containing the specified video should be returned. Can be used with PlaylistId parameter.
  • MaxResults: Maximum number of items to return. Range: 0-50. Default is 5.
  • PageToken: Page token for pagination. Identifies a specific page in the result set. Obtained from nextPageToken or prevPageToken in previous API response.
  • OnBehalfOfContentOwner: Content owner identifier. Only for YouTube content partners. Specifies the content owner on whose behalf the action is performed.

Output:

  • TotalResults (number): Total number of playlist items in the result set.
  • ResultsPerPage (number): Number of playlist items included in the API response.
  • NextPageToken (string): Token for retrieving the next page of results.
  • PrevPageToken (string): Token for retrieving the previous page of results.
  • PlaylistItems (object-array): Array of playlist item objects containing PlaylistItemId, PlaylistId, VideoId, VideoTitle, VideoDescription, Position, PublishedAt, ChannelId, ChannelTitle, VideoThumbnails, Note, and PrivacyStatus.
  • StatusCode (number): HTTP status code: 200 (success), 400 (bad request), 403 (forbidden), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Find Playlists

Retrieve multiple YouTube playlists using YouTube Data API v3. Supports querying by playlist IDs list, channel ID, or authenticated user identity with pagination. Returns playlist info including title, description, channel details, privacy status, item count, and full data. Must specify one of: PlaylistIds, ChannelId, or Mine. Requires OAuth 2.0 authentication, consumes 1 quota unit.

Options:

  • PlaylistIds: Comma-separated list of playlist IDs to retrieve (e.g., "PLxxxx1,PLxxxx2,PLxxxx3"). Note: Must specify one of PlaylistIds, ChannelId, or Mine.
  • ChannelId: Channel ID to retrieve all playlists owned by the specified channel. Note: Must specify one of PlaylistIds, ChannelId, or Mine.
  • Mine: Whether to retrieve playlists owned by the authenticated user. Set to true to retrieve authenticated user's playlists. Note: Must specify one of PlaylistIds, ChannelId, or Mine.
  • Part: Comma-separated list of resource parts to return. Options: snippet, contentDetails, id, localizations, player, status. Default: "snippet,contentDetails,status". Note: Each part affects quota consumption.
  • MaxResults: Maximum number of playlists to return per page. Range: 0-50. Default is 5.
  • PageToken: Page token for pagination. Identifies a specific page in the result set. Obtained from nextPageToken or prevPageToken in previous API response.
  • Hl: Language code for localized resource metadata (e.g., "zh_CN", "en_US"). Must be a YouTube supported language code. If localized content is available, snippet.localized will contain localized values.
  • OnBehalfOfContentOwner: Content owner identifier. Only for YouTube content partners. Specifies the content owner on whose behalf the action is performed.
  • OnBehalfOfContentOwnerChannel: Content owner channel ID. Only for YouTube content partners. Used together with OnBehalfOfContentOwner.

Output:

  • TotalResults (number): Total number of playlists in the result set.
  • ResultsPerPage (number): Number of playlists included in the current API response.
  • NextPageToken (string): Token for retrieving the next page of results.
  • PrevPageToken (string): Token for retrieving the previous page of results.
  • Playlists (object-array): Array of playlist objects containing PlaylistId, PlaylistTitle, PlaylistDescription, ChannelId, ChannelTitle, PublishedAt, PrivacyStatus, ItemCount, and full Playlist data.
  • PlaylistCount (number): Number of playlists returned in the current response.
  • StatusCode (number): HTTP status code: 200 (success), 400 (bad request), 403 (forbidden/quota exceeded), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Find Video Categories

Retrieve video categories that can be associated with YouTube videos using the YouTube Data API v3. Supports querying by category IDs list or region code (ISO 3166-1 alpha-2 country code). Returns category information including ID, title, assignability, and associated channel. Must specify either CategoryIds or RegionCode parameter (but not both). This operation requires OAuth 2.0 authentication and consumes 1 quota unit.

Options:

  • Part: Resource part to return in response. Should be set to "snippet". Default: "snippet".
  • CategoryIds: Comma-separated list of video category IDs to retrieve (e.g., "1,10,17,22"). Note: Must specify either CategoryIds or RegionCode, but not both.
  • RegionCode: ISO 3166-1 alpha-2 country code indicating API should return video categories available in specified country/region (e.g., "US", "ES", "CN"). Note: Must specify either CategoryIds or RegionCode, but not both.
  • Hl: Language parameter specifying the language for text values in API response (e.g., "en_US", "es_ES", "zh_CN"). Default: "en_US".

Output:

  • TotalResults (number): Total number of video categories in the result set.
  • ResultsPerPage (number): Number of video categories included in the API response.
  • NextPageToken (string): Token for retrieving the next page of results (if any).
  • PrevPageToken (string): Token for retrieving the previous page of results (if any).
  • Categories (object-array): Array of video category objects containing CategoryId, CategoryTitle, Assignable, and ChannelId.
  • StatusCode (number): HTTP status code: 200 (success), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Find Videos

Retrieve multiple YouTube videos using YouTube Data API v3. Supports querying by video IDs list, chart ranking (mostPopular), or user rating (like/dislike) with pagination. Returns video info including title, description, channel details, duration, counts, privacy status, and full data. Must specify one of: VideoIds, Chart, or MyRating. Requires OAuth 2.0 authentication, consumes 1 quota unit.

Options:

  • VideoIds: Comma-separated list of video IDs to retrieve (e.g., "dQw4w9WgXcQ,jNQXAC9IVRw,M7lc1UVf-VE"). Note: Must specify one of VideoIds, Chart, or MyRating.
  • Chart: Chart type to retrieve. Valid value: "mostPopular" - returns most popular videos in specified region and category. Use with RegionCode and VideoCategoryId. Note: Must specify one of VideoIds, Chart, or MyRating.
  • MyRating: User rating filter. Valid values: "like" (videos user liked), "dislike" (videos user disliked). Requires OAuth 2.0 authentication. Note: Must specify one of VideoIds, Chart, or MyRating.
  • Part: Comma-separated list of resource parts to return. Options: snippet, contentDetails, statistics, status, player, id, liveStreamingDetails, localizations, recordingDetails, topicDetails, fileDetails, processingDetails, suggestions, paidProductPlacementDetails. Default: "snippet,contentDetails,statistics,status". Note: fileDetails, processingDetails, suggestions only available to video owner.
  • MaxResults: Maximum number of videos to return per page. Range: 1-50. Default is 5. Note: Only supported with MyRating parameter, not with VideoIds.
  • PageToken: Page token for pagination. Identifies a specific page in the result set. Obtained from nextPageToken or prevPageToken in previous API response. Note: Only supported with MyRating parameter, not with VideoIds.
  • RegionCode: ISO 3166-1 alpha-2 country code (e.g., "US", "CN"). Used with Chart parameter to specify region for video chart retrieval.
  • VideoCategoryId: Video category ID. Used with Chart parameter to specify video category for retrieval. Default: 0 (no category restriction).
  • Hl: Language code for localized resource metadata (e.g., "zh_CN", "en_US"). Must be a YouTube supported language code. If localized content is available, snippet.localized will contain localized values.
  • OnBehalfOfContentOwner: Content owner identifier. Only for YouTube content partners. Specifies the content owner on whose behalf the action is performed.

Output:

  • TotalResults (number): Total number of videos in the result set.
  • ResultsPerPage (number): Number of videos included in the current API response.
  • NextPageToken (string): Token for retrieving the next page of results.
  • PrevPageToken (string): Token for retrieving the previous page of results.
  • Videos (object-array): Array of video objects containing VideoId, VideoTitle, VideoDescription, ChannelId, ChannelTitle, PublishedAt, Duration, ViewCount, LikeCount, CommentCount, PrivacyStatus, and full Video data.
  • VideoCount (number): Number of videos returned in the current response.
  • StatusCode (number): HTTP status code: 200 (success), 400 (bad request), 403 (forbidden/quota exceeded), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Rate a Video

Add like/dislike rating to YouTube video or remove rating using YouTube Data API v3. Rating options: "like", "dislike", or "none" (remove rating). Returns video ID, rating type, success status. Requires OAuth 2.0 with verified email, consumes 50 quota units.

Input Parameters:

  • VideoId: The unique ID of the YouTube video to rate (required parameter).
  • Rating: The rating type (required parameter). Acceptable values: "like" (user likes the video), "dislike" (user dislikes the video), "none" (remove any previous rating).

Output:

  • VideoId (string): The ID of the video that was rated.
  • Rating (string): The rating type that was set (like, dislike, or none).
  • Success (bool): Whether the rating operation was successful.
  • StatusCode (number): HTTP status code: 204 (success), 400 (bad request/email not verified), 403 (forbidden/rating disabled), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Upload a Channel Banner

Upload channel banner image to YouTube (step 1 of 3-step process). Returns URL to use in channels.update API call. Formats: JPEG, PNG. Size limit: 6MB. Requirements: 16:9 ratio, min 2048x1152px, recommended 2560x1440px. Requires OAuth 2.0 with youtube.upload scope.

Input Parameters:

  • ImageFilePath: The local path of the image file to upload (required parameter). Supported file formats: JPEG, PNG. File size limit: 6MB. Image requirements: 16:9 aspect ratio, at least 2048x1152 pixels, recommended 2560x1440 pixels.

Options:

  • OnBehalfOfContentOwner: YouTube content owner ID. This parameter is only for YouTube content partners. Indicates that the request is acting on behalf of the specified content owner.

Output:

  • Kind (string): The API resource type, value is "youtube#channelBannerResource".
  • Etag (string): The ETag of the resource.
  • Url (string): The URL of the banner image. Use this URL in subsequent channels.update call to set brandingSettings.image.bannerExternalUrl property.
  • FileName (string): The name of the uploaded file.
  • FileSize (number): The size of the uploaded file in bytes.
  • StatusCode (number): HTTP status code: 200 (success), 401 (unauthorized), 403 (forbidden), 500 (server error), -1 (parameter error, file not found, file too large, or invalid format).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Upload a Video

Upload video to YouTube with metadata (title, description, category, tags, privacy, license, etc.) using YouTube Data API v3. Max file size: 256GB. Note: Unverified API projects post July 28, 2020 restricted to private mode. Setting publish_at requires privacy_status="private". Requires OAuth 2.0 authentication, consumes 1600 quota units.

Input Parameters:

  • VideoFilePath: The path of the video file to upload (required parameter). Supports absolute or relative path on local file system. Maximum file size: 256GB. Accepted MIME types: video/*, application/octet-stream.
  • Title: The video title (required parameter). The display name of the video.
  • CategoryId: The video category ID (required parameter). Use videoCategories.list method to get supported category IDs. Example: "22" (People & Blogs), "24" (Entertainment).

Options:

  • Part: Comma-separated list of resource parts to return in the response. Valid values: snippet, status, contentDetails, recordingDetails, localizations, id, fileDetails, liveStreamingDetails, paidProductPlacementDetails, player, processingDetails, statistics, suggestions, topicDetails. Default: "snippet,status".
  • Description: The video description (max 5000 characters).
  • Tags: Comma-separated video tags. Example: "tutorial,python,coding".
  • DefaultLanguage: The default language code (e.g., "zh-CN", "en-US"). Must be set before using localizations.
  • PrivacyStatus: The privacy status. Valid values: "private" (only creator and specified users can see), "public" (everyone can see), "unlisted" (people with the link can see). Default: "private".
  • Embeddable: Whether to allow embedding. Default is true. True: Allow embedding the video player on third-party websites. False: Do not allow embedding.
  • License: The video license. Valid values: "youtube" (YouTube standard license), "creativeCommon" (Creative Commons license). Default: "youtube".
  • PublicStatsViewable: Whether to publicly display statistics. Default is true. True: Display view count and other statistics on the video page. False: Do not publicly display statistics.
  • PublishAt: The scheduled publish time in ISO 8601 format. Example: "2024-12-31T23:59:59.000Z". Note: When setting this value, privacy_status must be set to "private".
  • SelfDeclaredMadeForKids: Whether to mark as children's content. Default is false. True: Mark video as "made for kids" content. False: Do not mark as children's content.
  • ContainsSyntheticMedia: Whether the video contains synthetic media (AI-generated content). Default is false. True: Video contains AI-generated or modified content. False: Does not contain synthetic media.
  • RecordingDate: The recording date in ISO 8601 format (date only). Example: "2024-01-15". Specifies the actual recording date of the video content.
  • Localizations: Localization configuration in JSON string format. Used to provide titles and descriptions in different languages. Example: '{"en": {"title": "English Title", "description": "English Description"}}'. Note: DefaultLanguage must be set before using this parameter.
  • NotifySubscribers: Whether to notify subscribers. Default is true. True: Send new video notifications to channel subscribers. False: Do not send notifications (suitable for uploading multiple videos).
  • OnBehalfOfContentOwner: Content owner identification. Only for YouTube content partners. Specifies the content owner on whose behalf the operation is performed.
  • OnBehalfOfContentOwnerChannel: Content owner channel ID. Only for YouTube content partners. Must be provided when OnBehalfOfContentOwner is specified.

Output:

  • VideoId (string): The ID of the uploaded video.
  • VideoTitle (string): The title of the uploaded video.
  • VideoDescription (string): The description of the uploaded video.
  • CategoryId (string): The video category ID.
  • PrivacyStatus (string): The privacy status of the uploaded video.
  • PublishedAt (string): The date and time when the video was published (ISO 8601 format).
  • ChannelId (string): The ID of the channel that owns the video.
  • ChannelTitle (string): The title of the channel that owns the video.
  • Tags (string-array): A list of video tags.
  • DefaultLanguage (string): The default language of the video.
  • Video (object): Complete video object from YouTube API response.
  • IsUploaded (bool): Whether the video was successfully uploaded.
  • StatusCode (number): HTTP status code: 200 (success), 400 (bad request), 401 (unauthorized), 403 (forbidden), 500 (server error), -1 (parameter error or file not found).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Update a Channel

Update YouTube channel metadata (brandingSettings, invideoPromotion, or localizations) using YouTube Data API v3. Only supports updating these three objects and their sub-properties. Only one part can be updated per request. Channel data provided as JSON string. Requires OAuth 2.0 authentication.

Input Parameters:

  • ChannelId: The ID of the channel to update (required parameter).
  • Part: The channel resource part to update (required parameter). Valid values: "brandingSettings", "invideoPromotion", "localizations". Note: Only one part can be updated per request.
  • ChannelData: Channel update data in JSON string format containing the fields to update (required parameter). Depending on the part parameter, can include fields such as: brandingSettings.channel.country, brandingSettings.channel.description, brandingSettings.channel.defaultLanguage, brandingSettings.channel.keywords, localizations.(key).title, localizations.(key).description, status.selfDeclaredMadeForKids.

Options:

  • OnBehalfOfContentOwner: Parameter for operating on behalf of a content owner. For YouTube content partners, allows authenticated access to all linked channels once. Requires linking CMS account to the specified YouTube content owner.

Output:

  • ChannelId (string): The ID of the updated channel.
  • Title (string): The title of the channel.
  • Description (string): The description of the channel.
  • UpdatedPart (string): The name of the part that was updated (brandingSettings, invideoPromotion, or localizations).
  • ChannelData (object): Complete channel resource data from YouTube API response.
  • StatusCode (number): HTTP status code: 200 (success), 400 (bad request), 401 (unauthorized), 403 (forbidden), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Update a Playlist

Update YouTube playlist (title, description, privacy status, podcast status, language, localizations) using YouTube Data API v3. Important: id and snippet.title required. Unspecified mutable properties will be deleted. Some system playlists cannot be updated. Requires OAuth 2.0 authentication and consumes 50 quota units.

Input Parameters:

  • PlaylistId: The ID of the playlist to update (required parameter). Example: "PLxxxxxxxxxxxxxxxxxxxxxxxx".
  • Title: The playlist title (required parameter). The display name of the playlist. Even if you don't want to modify the title, you must provide the current title value.

Options:

  • Description: The playlist description. If no value is provided, the existing description will be deleted. To keep the existing description, provide the current description value.
  • PrivacyStatus: The privacy status. Valid values: "private" (only creator can see), "public" (everyone can see), "unlisted" (people with the link can see). If no value is provided, the existing privacy status will be deleted.
  • PodcastStatus: The podcast status. Used to mark the playlist as a podcast. If no value is provided, the existing podcast status will be deleted.
  • DefaultLanguage: The default language code (e.g., "zh-CN", "en-US"). Specifies the default language of the playlist. This parameter must be set before using localizations. If no value is provided, the existing default language will be deleted.
  • Localizations: Localization configuration in JSON string format. Used to provide titles and descriptions in different languages. Example: '{"en": {"title": "English Title", "description": "English Description"}}'. Note: DefaultLanguage must be set before using this parameter.
  • Part: Comma-separated list of resource parts to return in the response. Valid values: snippet, status, contentDetails, id, localizations, player. Default: "snippet,status". Multiple values separated by commas. This parameter also identifies the properties to set.
  • OnBehalfOfContentOwner: Content owner identification. Only for YouTube content partners. Specifies the content owner on whose behalf the operation is performed.

Output:

  • PlaylistId (string): The ID of the updated playlist.
  • PlaylistTitle (string): The updated title of the playlist.
  • PlaylistDescription (string): The updated description of the playlist.
  • PrivacyStatus (string): The updated privacy status (private/public/unlisted).
  • PodcastStatus (string): The updated podcast status.
  • PublishedAt (string): The date and time when the playlist was created (ISO 8601 format).
  • ChannelId (string): The ID of the channel that owns the playlist.
  • ChannelTitle (string): The title of the channel that owns the playlist.
  • DefaultLanguage (string): The default language of the playlist.
  • ItemCount (number): The number of items in the playlist.
  • Playlist (object): Complete playlist object from YouTube API response.
  • IsUpdated (bool): Whether the playlist was successfully updated.
  • StatusCode (number): HTTP status code: 200 (success), 400 (bad request/unsupported operation), 401 (unauthorized), 403 (forbidden), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Update a Video

Update YouTube video metadata (title, description, category, privacy, tags, etc.) using YouTube Data API v3. Important: Properties in part parameter will be overwritten. When updating snippet part, title and category_id are required. Setting publish_at requires privacy_status="private". Requires OAuth 2.0 authentication, consumes 50 quota units.

Input Parameters:

  • VideoId: The ID of the video to update (required parameter). Example: "dQw4w9WgXcQ".

Options:

  • Part: Comma-separated list of resource parts to update. Valid values: snippet, status, contentDetails, recordingDetails, localizations, id, fileDetails, liveStreamingDetails, paidProductPlacementDetails, player, processingDetails, statistics, suggestions, topicDetails. Default: "snippet,status". This parameter identifies the properties to set and return in the response.
  • Title: The video title. Required when part contains snippet. If not provided when part contains snippet, will cause an error.
  • CategoryId: The video category ID. Required when part contains snippet. Use videoCategories.list method to get supported category IDs. Example: "22" (People & Blogs), "24" (Entertainment).
  • Description: The video description (max 5000 characters). If part contains snippet but no value is provided, the existing description will be deleted.
  • Tags: Comma-separated video tags. Example: "tutorial,python,coding". If part contains snippet but no value is provided, the existing tags will be deleted.
  • DefaultLanguage: The default language code (e.g., "zh-CN", "en-US"). Must be set before using localizations.
  • PrivacyStatus: The privacy status. Valid values: "private" (only creator and specified users can see), "public" (everyone can see), "unlisted" (people with the link can see).
  • Embeddable: Whether to allow embedding. Default is true. True: Allow embedding the video player on third-party websites. False: Do not allow embedding.
  • License: The video license. Valid values: "youtube" (YouTube standard license), "creativeCommon" (Creative Commons license).
  • PublicStatsViewable: Whether to publicly display statistics. Default is true. True: Display view count and other statistics on the video page. False: Do not publicly display statistics.
  • PublishAt: The scheduled publish time in ISO 8601 format. Example: "2024-12-31T23:59:59.000Z". Note: When setting this value, privacy_status must be set to "private".
  • SelfDeclaredMadeForKids: Whether to mark as children's content. Default is false. True: Mark video as "made for kids" content. False: Do not mark as children's content.
  • ContainsSyntheticMedia: Whether the video contains synthetic media (AI-generated content). Default is false. True: Video contains AI-generated or modified content. False: Does not contain synthetic media.
  • RecordingDate: The recording date in ISO 8601 format (date only). Example: "2024-01-15". Specifies the actual recording date of the video content.
  • Localizations: Localization configuration in JSON string format. Used to provide titles and descriptions in different languages. Example: '{"en": {"title": "English Title", "description": "English Description"}}'. Note: DefaultLanguage must be set before using this parameter.
  • OnBehalfOfContentOwner: Content owner identification. Only for YouTube content partners. Specifies the content owner on whose behalf the operation is performed.

Output:

  • VideoId (string): The ID of the updated video.
  • VideoTitle (string): The updated title of the video.
  • VideoDescription (string): The updated description of the video.
  • CategoryId (string): The video category ID.
  • PrivacyStatus (string): The updated privacy status.
  • PublishedAt (string): The date and time when the video was published (ISO 8601 format).
  • ChannelId (string): The ID of the channel that owns the video.
  • ChannelTitle (string): The title of the channel that owns the video.
  • Tags (string-array): A list of video tags.
  • DefaultLanguage (string): The default language of the video.
  • Duration (string): The length of the video in ISO 8601 format (e.g., PT4M13S).
  • ViewCount (string): The number of times the video has been viewed.
  • LikeCount (string): The number of users who have liked the video.
  • CommentCount (string): The number of comments for the video.
  • Video (object): Complete video object from YouTube API response.
  • IsUpdated (bool): Whether the video was successfully updated.
  • StatusCode (number): HTTP status code: 200 (success), 400 (bad request), 401 (unauthorized), 403 (forbidden), 404 (not found), 500 (server error), -1 (parameter error).
  • ErrorMessage (string): Error description if operation fails, empty string on success.

Get a Channel Banner (Use Upload a Channel Banner)

See: Upload a Channel Banner.

Delete a Channel (Not provided)

Not available in this node.

5. Example Usage

Scenario: Find playlists for a specific channel.

Workflow overview: Start -> Youtube: Find Playlists -> Answer.

  1. Add the tool node:
    • In the workflow canvas, click the "+" icon to add a new node.
    • Choose the "Tools" tab.
    • Find and select "Youtube".
    • From the supported operations, choose "Find Playlists" to add the node to the canvas.
  2. Configure the node:
    • Credentials: At the top of the panel, select your configured "Youtube" credential.
    • Parameters:
    • ChannelId: Enter the channel ID (e.g., "UC_x5XG1OV2P6uZZ5FSM9Ttw").
    • Part: Keep default "snippet,contentDetails,status" unless you need others.
    • MaxResults: Set to 10 if you want more than the default 5.
  3. Run and verify:
    • When all required parameters are correctly filled, canvas errors will clear.
    • Click "Test Run" to execute the workflow.
    • Open the logs to inspect the node input and output; confirm playlists are returned.

After completing the above steps, your workflow will be ready to list playlists for the channel.

6. FAQs

  • What scopes do I need for read-only operations?
    • Use youtube.readonly. If you need channel-level metadata parts like brandingSettings, additional scopes may be required.
  • Why do I get 401/403 errors?
    • Ensure OAuth 2.0 is configured, the account has access to the resource, and requested parts are allowed by the granted scopes.
  • Why are some parts (fileDetails, processingDetails, suggestions) missing?
    • These parts are only available to the video owner and require appropriate scopes.
  • Why is my scheduled publish time ignored?
    • Setting publish_at requires privacy_status="private".
  • Why did my playlist/video fields get cleared after update?
    • When updating, unspecified mutable fields in the provided part may be cleared by the API. Always provide fields you want to retain.
  • Video/banner upload fails due to size or format.
    • Ensure file size limits (video ≤ 256GB; banner ≤ 6MB) and formats (banner JPEG/PNG; video standard MIME types) are respected.
  • Why do I see quota exceeded errors?
    • Each operation consumes quota units (e.g., upload 1600, add/delete 50, reads 1); monitor and plan your usage.

7. Official Documentation

Youtube Official API Documentation

Updated on: Dec 18, 2025
Was This Page Helpful?
Prev Xml
Next Zulip
Discussion

Leave a Reply. Cancel reply

Your email address will not be published. Required fields are marked*

Product-related questions?Contact Our Support Team to Get a Quick Solution>
On this page
  • 1. Overview
  • 2. Prerequisites
  • 3. Credentials
  • 4. Supported Operations
    • Summary
    • Operation Details
  • 5. Example Usage
  • 6. FAQs
  • 7. Official Documentation
loading...
No Results