Skip to content
Talk to an Engineer Dashboard

YouTube

Connect to YouTube to access channel details, analytics, and upload or manage videos via OAuth 2.0

Connect to YouTube to access channel details, analytics, and upload or manage videos via OAuth 2.0

YouTube logo

Supports authentication: OAuth 2.0

Create a YouTube Analytics group to organize videos, playlists, channels, or assets for collective analytics reporting.

NameTypeRequiredDescription
item_typestringYesType of items the group will contain
on_behalf_of_content_ownerstringNoContent owner ID. For content partners only.
titlestringYesTitle of the analytics group

Add a video, playlist, or channel to a YouTube Analytics group.

NameTypeRequiredDescription
group_idstringYesID of the Analytics group to add the item to
on_behalf_of_content_ownerstringNoContent owner ID. For content partners only.
resource_idstringYesID of the resource (video ID, channel ID, or playlist ID)
resource_kindstringYesType of the resource

Remove an item (video, channel, or playlist) from a YouTube Analytics group.

NameTypeRequiredDescription
idstringYesID of the group item to remove
on_behalf_of_content_ownerstringNoContent owner ID on whose behalf the request is being made

Retrieve a list of items (videos, playlists, channels, or assets) that belong to a YouTube Analytics group.

NameTypeRequiredDescription
group_idstringYesID of the group whose items to retrieve
on_behalf_of_content_ownerstringNoContent owner ID on whose behalf the request is being made

Delete a YouTube Analytics group. This removes the group but does not delete the videos, channels, or playlists within it.

NameTypeRequiredDescription
group_idstringYesID of the Analytics group to delete
on_behalf_of_content_ownerstringNoContent owner ID on whose behalf the request is being made

Retrieve a list of YouTube Analytics groups for a channel or content owner. Specify either id or mine to filter results.

NameTypeRequiredDescription
idstringNoComma-separated list of group IDs to retrieve
minebooleanNoIf true, return only groups owned by the authenticated user. Required if id is not set.
on_behalf_of_content_ownerstringNoContent owner ID on whose behalf the request is being made
page_tokenstringNoToken for retrieving the next page of results

Update the title of an existing YouTube Analytics group.

NameTypeRequiredDescription
group_idstringYesID of the Analytics group to update
on_behalf_of_content_ownerstringNoContent owner ID. For content partners only.
titlestringYesNew title for the Analytics group

Query YouTube Analytics data to retrieve metrics like views, watch time, subscribers, revenue, etc. for channels or content owners.

NameTypeRequiredDescription
currencystringNoCurrency for monetary metrics (ISO 4217 code, e.g., USD)
dimensionsstringNoComma-separated list of dimensions to group results by (e.g., day,country,video)
end_datestringYesEnd date for the analytics report in YYYY-MM-DD format
filtersstringNoFilter expression to narrow results (e.g., country==US, video==VIDEO_ID)
idsstringYesChannel or content owner ID. Format: channel==CHANNEL_ID or contentOwner==CONTENT_OWNER_ID
include_historical_channel_databooleanNoInclude historical channel data recorded before the channel was linked to a content owner
max_resultsintegerNoMaximum number of rows to return in the response (maximum value: 200)
metricsstringYesComma-separated list of metrics to retrieve (e.g., views,estimatedMinutesWatched,likes,subscribersGained)
sortstringNoComma-separated list of columns to sort by. Prefix with - for descending order (e.g., -views)
start_datestringYesStart date for the analytics report in YYYY-MM-DD format
start_indexintegerNo1-based index of the first row to return (for pagination)

Retrieve a list of caption tracks for a YouTube video. The part parameter is fixed to ‘snippet’. Requires youtube.force-ssl scope.

NameTypeRequiredDescription
idstringNoComma-separated list of caption track IDs to filter results
video_idstringYesID of the video to list captions for

Retrieve information about one or more YouTube channels including subscriber count, video count, and channel metadata. You must provide exactly one filter: id, mine, for_handle, for_username, or managed_by_me. Requires a valid YouTube OAuth2 connection.

NameTypeRequiredDescription
for_handlestringNoYouTube channel handle to look up (e.g., @MrBeast). Use instead of id, mine, or for_username.
for_usernamestringNoYouTube username of the channel to look up (legacy). Use instead of id, mine, or for_handle.
idstringNoComma-separated list of YouTube channel IDs. Use instead of mine, for_handle, or for_username.
managed_by_mebooleanNoReturn channels managed by the authenticated user (content partners only). Use instead of id, mine, for_handle, or for_username.
max_resultsintegerNoMaximum number of results to return (0-50, default: 5)
minebooleanNoReturn the authenticated user’s channel. Use instead of id, for_handle, or for_username.
page_tokenstringNoToken for pagination
partstringYesComma-separated list of channel resource parts to include in the response

Post a new top-level comment on a YouTube video. Requires youtube.force-ssl scope.

NameTypeRequiredDescription
textstringYesText of the comment
video_idstringYesID of the video to comment on

Retrieve top-level comment threads for a YouTube video or channel. You must provide exactly one filter: video_id, all_threads_related_to_channel_id, or id. Each thread includes the top-level comment and optionally its replies. Requires a valid YouTube OAuth2 connection.

NameTypeRequiredDescription
all_threads_related_to_channel_idstringNoReturn all comment threads associated with a specific channel. Use instead of video_id or id.
idstringNoComma-separated list of comment thread IDs to retrieve. Use instead of video_id or all_threads_related_to_channel_id.
max_resultsintegerNoMaximum number of comment threads to return (1-100, default: 20)
orderstringNoSort order for comment threads
page_tokenstringNoToken for pagination
partstringYesComma-separated list of comment thread resource parts to include
search_termsstringNoLimit results to comments containing these search terms
video_idstringNoYouTube video ID to fetch comment threads for. Use instead of all_threads_related_to_channel_id or id.

Retrieve a list of replies to a specific YouTube comment thread. You must provide exactly one filter: parent_id or id. The part parameter is fixed to ‘snippet’. Requires youtube.readonly scope.

NameTypeRequiredDescription
idstringNoComma-separated list of comment IDs to retrieve. Use instead of parent_id.
max_resultsintegerNoMaximum number of replies to return (1-100, default: 20). Cannot be used with id filter.
page_tokenstringNoToken for pagination to retrieve the next page of replies. Cannot be used with id filter.
parent_idstringNoID of the comment thread (top-level comment) to list replies for. Use instead of id.
text_formatstringNoFormat of the comment text in the response

Permanently delete a YouTube playlist. This action cannot be undone. Requires youtube scope.

NameTypeRequiredDescription
playlist_idstringYesID of the playlist to delete

Create a new YouTube playlist for the authenticated user. Requires youtube scope.

NameTypeRequiredDescription
default_languagestringNoDefault language of the playlist
descriptionstringNoPlaylist description
privacy_statusstringNoPrivacy setting
tagsarray<string>NoTags for the playlist
titlestringYesPlaylist title

Remove a video from a YouTube playlist by its playlist item ID. Requires youtube scope.

NameTypeRequiredDescription
playlist_item_idstringYesID of the playlist item to remove (not the video ID)

Add a video to a YouTube playlist at an optional position. Requires youtube scope.

NameTypeRequiredDescription
notestringNoOptional note for this playlist item
playlist_idstringYesPlaylist to add the video to
positionintegerNoZero-based position in the playlist. Omit to add at end.
video_idstringYesYouTube video ID to add

Retrieve a list of videos in a YouTube playlist. Returns playlist items with video details, positions, and metadata. Requires a valid YouTube OAuth2 connection.

NameTypeRequiredDescription
max_resultsintegerNoMaximum number of playlist items to return (0-50, default: 5)
page_tokenstringNoToken for pagination to retrieve the next page
partstringYesComma-separated list of playlist item resource parts to include
playlist_idstringYesYouTube playlist ID to retrieve items from
video_idstringNoFilter results to items containing a specific video

Update an existing YouTube playlist’s title, description, privacy status, or default language. Requires youtube scope.

NameTypeRequiredDescription
default_languagestringNoLanguage of the playlist
descriptionstringNoNew playlist description
playlist_idstringYesID of the playlist to update
privacy_statusstringNoNew privacy setting
titlestringNoNew playlist title

Retrieve a list of YouTube playlists for a channel or the authenticated user. You must provide exactly one filter: channel_id, id, or mine. Requires a valid YouTube OAuth2 connection.

NameTypeRequiredDescription
channel_idstringNoReturn playlists for a specific channel. Use instead of id or mine.
idstringNoComma-separated list of playlist IDs to retrieve. Use instead of channel_id or mine.
max_resultsintegerNoMaximum number of playlists to return (0-50, default: 5)
minebooleanNoReturn playlists owned by the authenticated user. Use instead of channel_id or id.
page_tokenstringNoToken for pagination
partstringYesComma-separated list of playlist resource parts to include

Create a YouTube reporting job to schedule daily generation of a specific report type. Once created, YouTube will generate the report daily.

NameTypeRequiredDescription
namestringYesHuman-readable name for the reporting job
on_behalf_of_content_ownerstringNoContent owner ID on whose behalf the job is being created
report_type_idstringYesID of the report type to generate (e.g., channel_basic_a2, channel_demographics_a1)

Delete a scheduled YouTube Reporting API job. Stopping a job means new reports will no longer be generated.

NameTypeRequiredDescription
job_idstringYesID of the reporting job to delete
on_behalf_of_content_ownerstringNoContent owner ID on whose behalf the request is being made

List all YouTube Reporting API jobs scheduled for a channel or content owner.

NameTypeRequiredDescription
include_system_managedbooleanNoIf true, include system-managed reporting jobs in the response
on_behalf_of_content_ownerstringNoContent owner ID on whose behalf the request is being made
page_sizeintegerNoMaximum number of jobs to return per page
page_tokenstringNoToken for retrieving the next page of results

List all YouTube Reporting API report types available for a channel or content owner (e.g., channel_basic_a2, channel_demographics_a1).

NameTypeRequiredDescription
include_system_managedbooleanNoIf true, include system-managed report types in the response
on_behalf_of_content_ownerstringNoContent owner ID on whose behalf the request is being made
page_sizeintegerNoMaximum number of report types to return per page
page_tokenstringNoToken for retrieving the next page of results

List reports that have been generated for a YouTube reporting job. Each report is a downloadable CSV file.

NameTypeRequiredDescription
created_afterstringNoOnly return reports created after this timestamp (RFC3339 format, e.g., 2024-01-01T00:00:00Z)
job_idstringYesID of the reporting job whose reports to list
on_behalf_of_content_ownerstringNoContent owner ID on whose behalf the request is being made
page_sizeintegerNoMaximum number of reports to return per page
page_tokenstringNoToken for retrieving the next page of results
start_time_at_or_afterstringNoOnly return reports whose data start time is at or after this timestamp (RFC3339 format)
start_time_beforestringNoOnly return reports whose data start time is before this timestamp (RFC3339 format)

Search for videos, channels, and playlists on YouTube. Returns a list of resources matching the search query. The part parameter is fixed to ‘snippet’. Requires a valid YouTube OAuth2 connection.

NameTypeRequiredDescription
channel_idstringNoRestrict search results to a specific channel
max_resultsintegerNoMaximum number of results to return (0-50, default: 10)
orderstringNoSort order for search results
page_tokenstringNoToken for pagination to retrieve the next page of results
published_afterstringNoFilter results to resources published after this date (RFC 3339 format)
published_beforestringNoFilter results to resources published before this date (RFC 3339 format)
qstringNoSearch query keywords
safe_searchstringNoSafe search filter level
typestringNoRestrict results to a specific resource type
video_durationstringNoFilter videos by duration (only applies when type is ‘video’)

Unsubscribe the authenticated user from a YouTube channel using the subscription ID. Requires youtube scope.

NameTypeRequiredDescription
subscription_idstringYesID of the subscription to delete

Subscribe the authenticated user to a YouTube channel. Requires youtube scope.

NameTypeRequiredDescription
channel_idstringYesID of the YouTube channel to subscribe to

Retrieve a list of YouTube channel subscriptions for the authenticated user or a specific channel. You must provide exactly one filter: channel_id, id, mine, my_recent_subscribers, or my_subscribers. Requires a valid YouTube OAuth2 connection with youtube.readonly scope.

NameTypeRequiredDescription
channel_idstringNoReturn subscriptions for a specific channel. Use instead of id, mine, my_recent_subscribers, or my_subscribers.
for_channel_idstringNoFilter subscriptions to specific channels (comma-separated channel IDs)
idstringNoComma-separated list of subscription IDs to retrieve. Use instead of channel_id, mine, my_recent_subscribers, or my_subscribers.
max_resultsintegerNoMaximum number of subscriptions to return (0-50, default: 5)
minebooleanNoReturn subscriptions for the authenticated user. Use instead of channel_id, id, my_recent_subscribers, or my_subscribers.
my_recent_subscribersbooleanNoReturn the authenticated user’s recent subscribers. Use instead of channel_id, id, mine, or my_subscribers.
my_subscribersbooleanNoReturn the authenticated user’s subscribers. Use instead of channel_id, id, mine, or my_recent_subscribers.
orderstringNoSort order for subscriptions
page_tokenstringNoToken for pagination
partstringYesComma-separated list of subscription resource parts to include

Retrieve a list of YouTube video categories available in a given region or by ID. You must provide exactly one filter: id or region_code. The part parameter is fixed to ‘snippet’. Useful for setting the category when updating a video. Requires youtube.readonly scope.

NameTypeRequiredDescription
hlstringNoLanguage for the category names in the response (BCP-47)
idstringNoComma-separated list of category IDs to retrieve. Use instead of region_code.
region_codestringNoISO 3166-1 alpha-2 country code to retrieve categories available in that region. Use instead of id.

Permanently delete a YouTube video. This action cannot be undone. Requires youtube scope.

NameTypeRequiredDescription
video_idstringYesID of the video to delete

Retrieve the authenticated user’s rating (like, dislike, or none) for one or more YouTube videos. The part parameter is fixed to ‘id’. Requires youtube.readonly scope.

NameTypeRequiredDescription
idstringYesComma-separated list of YouTube video IDs to get ratings for

Retrieve detailed information about one or more YouTube videos including statistics, snippet, content details, and status. You must provide exactly one filter: id, chart, or my_rating. Requires a valid YouTube OAuth2 connection.

NameTypeRequiredDescription
chartstringNoRetrieve a chart of the most popular videos. Use instead of id or my_rating.
idstringNoComma-separated list of YouTube video IDs. Use instead of chart or my_rating.
max_resultsintegerNoMaximum number of results to return when using chart filter (1-50, default: 5)
my_ratingstringNoFilter videos by the authenticated user’s rating. Use instead of id or chart.
page_tokenstringNoToken for pagination
partstringYesComma-separated list of video resource parts to include in the response
region_codestringNoISO 3166-1 alpha-2 country code to filter trending videos by region
video_category_idstringNoFilter most popular videos by category ID

Like, dislike, or remove a rating from a YouTube video on behalf of the authenticated user. Requires youtube scope with youtube.force-ssl.

NameTypeRequiredDescription
ratingstringYesRating to apply to the video
video_idstringYesYouTube video ID to rate

Update metadata for an existing YouTube video. When updating snippet, both title and category_id are required together. Requires youtube scope.

NameTypeRequiredDescription
category_idstringNoYouTube video category ID. Required together with title when updating snippet.
default_languagestringNoLanguage of the video
descriptionstringNoNew video description
embeddablebooleanNoWhether the video can be embedded
licensestringNoVideo license
privacy_statusstringNoNew privacy setting
public_stats_viewablebooleanNoWhether stats are publicly visible
tagsarray<string>NoVideo tags
titlestringNoNew video title. Required together with category_id when updating snippet.
video_idstringYesID of the video to update