Video — entry 037 of 37

YouTube

Verified Jul 2026

The YouTube Data API v3 lets developers search videos, channels, and playlists, read metadata and statistics, and — with OAuth — manage uploads, comments, and channel resources on Google's video platform. Access is quota-metered per project per day rather than priced per call; most read operations need only an API key, while write/user-context operations require OAuth2.

video-hostingstreamingoauthgoogle
AuthenticationOAuthRequires an OAuth flow; expect app registration.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score74out of 100
Authentication8/25OAuth flow required
Pricing17/20Freemium tier available
Docs20/20Machine-readable spec file bundled
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 74 on greatapis.com
<a href="https://greatapis.com/api/youtube/"><img src="https://greatapis.com/badge/youtube.svg" alt="Scored 74 on greatapis.com"></a>

Auth quickstart

  1. Register an app / run the OAuth flow to obtain a bearer token.
  2. Send it as an Authorization headerAuthorization: Bearer <token>
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://youtube.googleapis.com/
Auth
Oauth2Oauth2c
abuseReports1
POST/youtube/v3/abuseReports
Parameters
NameInRequiredType
partqueryyesarray
Request body

application/jsonAbuseReport

Responses
StatusDescriptionSchema
200Successful responseAbuseReport
activities1
GET/youtube/v3/activities
Parameters
NameInRequiredType
partqueryyesarray
channelIdquerynostring
homequerynoboolean
maxResultsquerynointeger
minequerynoboolean
pageTokenquerynostring
publishedAfterquerynostring
publishedBeforequerynostring
regionCodequerynostring
Responses
StatusDescriptionSchema
200Successful responseActivityListResponse
captions5
GET/youtube/v3/captions
Parameters
NameInRequiredType
partqueryyesarray
videoIdqueryyesstring
idquerynoarray
onBehalfOfquerynostring
onBehalfOfContentOwnerquerynostring
Responses
StatusDescriptionSchema
200Successful responseCaptionListResponse
POST/youtube/v3/captions
Parameters
NameInRequiredType
partqueryyesarray
onBehalfOfquerynostring
onBehalfOfContentOwnerquerynostring
syncquerynoboolean
Request body

application/octet-streamCaption

Responses
StatusDescriptionSchema
200Successful responseCaption
PUT/youtube/v3/captions
Parameters
NameInRequiredType
partqueryyesarray
onBehalfOfquerynostring
onBehalfOfContentOwnerquerynostring
syncquerynoboolean
Request body

application/octet-streamCaption

Responses
StatusDescriptionSchema
200Successful responseCaption
DELETE/youtube/v3/captions
Parameters
NameInRequiredType
idqueryyesstring
onBehalfOfquerynostring
onBehalfOfContentOwnerquerynostring
Responses
StatusDescriptionSchema
200Successful response
GET/youtube/v3/captions/{id}
Parameters
NameInRequiredType
idpathyesstring
onBehalfOfquerynostring
onBehalfOfContentOwnerquerynostring
tfmtquerynostring
tlangquerynostring
Responses
StatusDescriptionSchema
200Successful response
channelBanners1
POST/youtube/v3/channelBanners/insert
Parameters
NameInRequiredType
channelIdquerynostring
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
Request body

application/octet-streamChannelBannerResource

Responses
StatusDescriptionSchema
200Successful responseChannelBannerResource
channels2
GET/youtube/v3/channels
Parameters
NameInRequiredType
partqueryyesarray
categoryIdquerynostring
forUsernamequerynostring
hlquerynostring
idquerynoarray
managedByMequerynoboolean
maxResultsquerynointeger
minequerynoboolean
mySubscribersquerynoboolean
onBehalfOfContentOwnerquerynostring
pageTokenquerynostring
Responses
StatusDescriptionSchema
200Successful responseChannelListResponse
PUT/youtube/v3/channels
Parameters
NameInRequiredType
partqueryyesarray
onBehalfOfContentOwnerquerynostring
Request body

application/jsonChannel

Responses
StatusDescriptionSchema
200Successful responseChannel
channelSections4
GET/youtube/v3/channelSections
Parameters
NameInRequiredType
partqueryyesarray
channelIdquerynostring
hlquerynostring
idquerynoarray
minequerynoboolean
onBehalfOfContentOwnerquerynostring
Responses
StatusDescriptionSchema
200Successful responseChannelSectionListResponse
POST/youtube/v3/channelSections
Parameters
NameInRequiredType
partqueryyesarray
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
Request body

application/jsonChannelSection

Responses
StatusDescriptionSchema
200Successful responseChannelSection
PUT/youtube/v3/channelSections
Parameters
NameInRequiredType
partqueryyesarray
onBehalfOfContentOwnerquerynostring
Request body

application/jsonChannelSection

Responses
StatusDescriptionSchema
200Successful responseChannelSection
DELETE/youtube/v3/channelSections
Parameters
NameInRequiredType
idqueryyesstring
onBehalfOfContentOwnerquerynostring
Responses
StatusDescriptionSchema
200Successful response
comments6
GET/youtube/v3/comments
Parameters
NameInRequiredType
partqueryyesarray
idquerynoarray
maxResultsquerynointeger
pageTokenquerynostring
parentIdquerynostring
textFormatquerynostring
Responses
StatusDescriptionSchema
200Successful responseCommentListResponse
POST/youtube/v3/comments
Parameters
NameInRequiredType
partqueryyesarray
Request body

application/jsonComment

Responses
StatusDescriptionSchema
200Successful responseComment
PUT/youtube/v3/comments
Parameters
NameInRequiredType
partqueryyesarray
Request body

application/jsonComment

Responses
StatusDescriptionSchema
200Successful responseComment
DELETE/youtube/v3/comments
Parameters
NameInRequiredType
idqueryyesstring
Responses
StatusDescriptionSchema
200Successful response
POST/youtube/v3/comments/markAsSpam
Parameters
NameInRequiredType
idqueryyesarray
Responses
StatusDescriptionSchema
200Successful response
POST/youtube/v3/comments/setModerationStatus
Parameters
NameInRequiredType
idqueryyesarray
moderationStatusqueryyesstring
banAuthorquerynoboolean
Responses
StatusDescriptionSchema
200Successful response
commentThreads2
GET/youtube/v3/commentThreads
Parameters
NameInRequiredType
partqueryyesarray
allThreadsRelatedToChannelIdquerynostring
channelIdquerynostring
idquerynoarray
maxResultsquerynointeger
moderationStatusquerynostring
orderquerynostring
pageTokenquerynostring
searchTermsquerynostring
textFormatquerynostring
videoIdquerynostring
Responses
StatusDescriptionSchema
200Successful responseCommentThreadListResponse
POST/youtube/v3/commentThreads
Parameters
NameInRequiredType
partqueryyesarray
Request body

application/jsonCommentThread

Responses
StatusDescriptionSchema
200Successful responseCommentThread
i18nLanguages1
GET/youtube/v3/i18nLanguages
Parameters
NameInRequiredType
partqueryyesarray
hlquerynostring
Responses
StatusDescriptionSchema
200Successful responseI18nLanguageListResponse
i18nRegions1
GET/youtube/v3/i18nRegions
Parameters
NameInRequiredType
partqueryyesarray
hlquerynostring
Responses
StatusDescriptionSchema
200Successful responseI18nRegionListResponse
liveBroadcasts7
GET/youtube/v3/liveBroadcasts
Parameters
NameInRequiredType
partqueryyesarray
broadcastStatusquerynostring
broadcastTypequerynostring
idquerynoarray
maxResultsquerynointeger
minequerynoboolean
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
pageTokenquerynostring
Responses
StatusDescriptionSchema
200Successful responseLiveBroadcastListResponse
POST/youtube/v3/liveBroadcasts
Parameters
NameInRequiredType
partqueryyesarray
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
Request body

application/jsonLiveBroadcast

Responses
StatusDescriptionSchema
200Successful responseLiveBroadcast
PUT/youtube/v3/liveBroadcasts
Parameters
NameInRequiredType
partqueryyesarray
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
Request body

application/jsonLiveBroadcast

Responses
StatusDescriptionSchema
200Successful responseLiveBroadcast
DELETE/youtube/v3/liveBroadcasts
Parameters
NameInRequiredType
idqueryyesstring
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
Responses
StatusDescriptionSchema
200Successful response
POST/youtube/v3/liveBroadcasts/bind
Parameters
NameInRequiredType
idqueryyesstring
partqueryyesarray
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
streamIdquerynostring
Responses
StatusDescriptionSchema
200Successful responseLiveBroadcast
POST/youtube/v3/liveBroadcasts/cuepoint
Parameters
NameInRequiredType
idquerynostring
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
partquerynoarray
Request body

application/jsonCuepoint

Responses
StatusDescriptionSchema
200Successful responseCuepoint
POST/youtube/v3/liveBroadcasts/transition
Parameters
NameInRequiredType
broadcastStatusqueryyesstring
idqueryyesstring
partqueryyesarray
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
Responses
StatusDescriptionSchema
200Successful responseLiveBroadcast
liveChatBans2
POST/youtube/v3/liveChat/bans
Parameters
NameInRequiredType
partqueryyesarray
Request body

application/jsonLiveChatBan

Responses
StatusDescriptionSchema
200Successful responseLiveChatBan
DELETE/youtube/v3/liveChat/bans
Parameters
NameInRequiredType
idqueryyesstring
Responses
StatusDescriptionSchema
200Successful response
liveChatMessages3
GET/youtube/v3/liveChat/messages
Parameters
NameInRequiredType
liveChatIdqueryyesstring
partqueryyesarray
hlquerynostring
maxResultsquerynointeger
pageTokenquerynostring
profileImageSizequerynointeger
Responses
StatusDescriptionSchema
200Successful responseLiveChatMessageListResponse
POST/youtube/v3/liveChat/messages
Parameters
NameInRequiredType
partqueryyesarray
Request body

application/jsonLiveChatMessage

Responses
StatusDescriptionSchema
200Successful responseLiveChatMessage
DELETE/youtube/v3/liveChat/messages
Parameters
NameInRequiredType
idqueryyesstring
Responses
StatusDescriptionSchema
200Successful response
liveChatModerators3
GET/youtube/v3/liveChat/moderators
Parameters
NameInRequiredType
liveChatIdqueryyesstring
partqueryyesarray
maxResultsquerynointeger
pageTokenquerynostring
Responses
StatusDescriptionSchema
200Successful responseLiveChatModeratorListResponse
POST/youtube/v3/liveChat/moderators
Parameters
NameInRequiredType
partqueryyesarray
Request body

application/jsonLiveChatModerator

Responses
StatusDescriptionSchema
200Successful responseLiveChatModerator
DELETE/youtube/v3/liveChat/moderators
Parameters
NameInRequiredType
idqueryyesstring
Responses
StatusDescriptionSchema
200Successful response
liveStreams4
GET/youtube/v3/liveStreams
Parameters
NameInRequiredType
partqueryyesarray
idquerynoarray
maxResultsquerynointeger
minequerynoboolean
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
pageTokenquerynostring
Responses
StatusDescriptionSchema
200Successful responseLiveStreamListResponse
POST/youtube/v3/liveStreams
Parameters
NameInRequiredType
partqueryyesarray
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
Request body

application/jsonLiveStream

Responses
StatusDescriptionSchema
200Successful responseLiveStream
PUT/youtube/v3/liveStreams
Parameters
NameInRequiredType
partqueryyesarray
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
Request body

application/jsonLiveStream

Responses
StatusDescriptionSchema
200Successful responseLiveStream
DELETE/youtube/v3/liveStreams
Parameters
NameInRequiredType
idqueryyesstring
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
Responses
StatusDescriptionSchema
200Successful response
members1
GET/youtube/v3/members
Parameters
NameInRequiredType
partqueryyesarray
filterByMemberChannelIdquerynostring
hasAccessToLevelquerynostring
maxResultsquerynointeger
modequerynostring
pageTokenquerynostring
Responses
StatusDescriptionSchema
200Successful responseMemberListResponse
membershipsLevels1
GET/youtube/v3/membershipsLevels
Parameters
NameInRequiredType
partqueryyesarray
Responses
StatusDescriptionSchema
200Successful responseMembershipsLevelListResponse
playlistItems4
GET/youtube/v3/playlistItems
Parameters
NameInRequiredType
partqueryyesarray
idquerynoarray
maxResultsquerynointeger
onBehalfOfContentOwnerquerynostring
pageTokenquerynostring
playlistIdquerynostring
videoIdquerynostring
Responses
StatusDescriptionSchema
200Successful responsePlaylistItemListResponse
POST/youtube/v3/playlistItems
Parameters
NameInRequiredType
partqueryyesarray
onBehalfOfContentOwnerquerynostring
Request body

application/jsonPlaylistItem

Responses
StatusDescriptionSchema
200Successful responsePlaylistItem
PUT/youtube/v3/playlistItems
Parameters
NameInRequiredType
partqueryyesarray
onBehalfOfContentOwnerquerynostring
Request body

application/jsonPlaylistItem

Responses
StatusDescriptionSchema
200Successful responsePlaylistItem
DELETE/youtube/v3/playlistItems
Parameters
NameInRequiredType
idqueryyesstring
onBehalfOfContentOwnerquerynostring
Responses
StatusDescriptionSchema
200Successful response
playlists4
GET/youtube/v3/playlists
Parameters
NameInRequiredType
partqueryyesarray
channelIdquerynostring
hlquerynostring
idquerynoarray
maxResultsquerynointeger
minequerynoboolean
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
pageTokenquerynostring
Responses
StatusDescriptionSchema
200Successful responsePlaylistListResponse
POST/youtube/v3/playlists
Parameters
NameInRequiredType
partqueryyesarray
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
Request body

application/jsonPlaylist

Responses
StatusDescriptionSchema
200Successful responsePlaylist
PUT/youtube/v3/playlists
Parameters
NameInRequiredType
partqueryyesarray
onBehalfOfContentOwnerquerynostring
Request body

application/jsonPlaylist

Responses
StatusDescriptionSchema
200Successful responsePlaylist
DELETE/youtube/v3/playlists
Parameters
NameInRequiredType
idqueryyesstring
onBehalfOfContentOwnerquerynostring
Responses
StatusDescriptionSchema
200Successful response
search1
GET/youtube/v3/search
Parameters
NameInRequiredType
partqueryyesarray
channelIdquerynostring
channelTypequerynostring
eventTypequerynostring
forContentOwnerquerynoboolean
forDeveloperquerynoboolean
forMinequerynoboolean
locationquerynostring
locationRadiusquerynostring
maxResultsquerynointeger
onBehalfOfContentOwnerquerynostring
orderquerynostring
pageTokenquerynostring
publishedAfterquerynostring
publishedBeforequerynostring
qquerynostring
regionCodequerynostring
relatedToVideoIdquerynostring
relevanceLanguagequerynostring
safeSearchquerynostring
topicIdquerynostring
typequerynoarray
videoCaptionquerynostring
videoCategoryIdquerynostring
videoDefinitionquerynostring
videoDimensionquerynostring
videoDurationquerynostring
videoEmbeddablequerynostring
videoLicensequerynostring
videoSyndicatedquerynostring
videoTypequerynostring
Responses
StatusDescriptionSchema
200Successful responseSearchListResponse
subscriptions3
GET/youtube/v3/subscriptions
Parameters
NameInRequiredType
partqueryyesarray
channelIdquerynostring
forChannelIdquerynostring
idquerynoarray
maxResultsquerynointeger
minequerynoboolean
myRecentSubscribersquerynoboolean
mySubscribersquerynoboolean
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
orderquerynostring
pageTokenquerynostring
Responses
StatusDescriptionSchema
200Successful responseSubscriptionListResponse
POST/youtube/v3/subscriptions
Parameters
NameInRequiredType
partqueryyesarray
Request body

application/jsonSubscription

Responses
StatusDescriptionSchema
200Successful responseSubscription
DELETE/youtube/v3/subscriptions
Parameters
NameInRequiredType
idqueryyesstring
Responses
StatusDescriptionSchema
200Successful response
superChatEvents1
GET/youtube/v3/superChatEvents
Parameters
NameInRequiredType
partqueryyesarray
hlquerynostring
maxResultsquerynointeger
pageTokenquerynostring
Responses
StatusDescriptionSchema
200Successful responseSuperChatEventListResponse
tests1
POST/youtube/v3/tests
Parameters
NameInRequiredType
partqueryyesarray
externalChannelIdquerynostring
Request body

application/jsonTestItem

Responses
StatusDescriptionSchema
200Successful responseTestItem
thirdPartyLinks4
GET/youtube/v3/thirdPartyLinks
Parameters
NameInRequiredType
partqueryyesarray
externalChannelIdquerynostring
linkingTokenquerynostring
typequerynostring
Responses
StatusDescriptionSchema
200Successful responseThirdPartyLinkListResponse
POST/youtube/v3/thirdPartyLinks
Parameters
NameInRequiredType
partqueryyesarray
externalChannelIdquerynostring
Request body

application/jsonThirdPartyLink

Responses
StatusDescriptionSchema
200Successful responseThirdPartyLink
PUT/youtube/v3/thirdPartyLinks
Parameters
NameInRequiredType
partqueryyesarray
externalChannelIdquerynostring
Request body

application/jsonThirdPartyLink

Responses
StatusDescriptionSchema
200Successful responseThirdPartyLink
DELETE/youtube/v3/thirdPartyLinks
Parameters
NameInRequiredType
linkingTokenqueryyesstring
typequeryyesstring
externalChannelIdquerynostring
partquerynoarray
Responses
StatusDescriptionSchema
200Successful response
thumbnails1
POST/youtube/v3/thumbnails/set
Parameters
NameInRequiredType
videoIdqueryyesstring
onBehalfOfContentOwnerquerynostring
Responses
StatusDescriptionSchema
200Successful responseThumbnailSetResponse
videoAbuseReportReasons1
GET/youtube/v3/videoAbuseReportReasons
Parameters
NameInRequiredType
partqueryyesarray
hlquerynostring
Responses
StatusDescriptionSchema
200Successful responseVideoAbuseReportReasonListResponse
videoCategories1
GET/youtube/v3/videoCategories
Parameters
NameInRequiredType
partqueryyesarray
hlquerynostring
idquerynoarray
regionCodequerynostring
Responses
StatusDescriptionSchema
200Successful responseVideoCategoryListResponse
videos7
GET/youtube/v3/videos
Parameters
NameInRequiredType
partqueryyesarray
chartquerynostring
hlquerynostring
idquerynoarray
localequerynostring
maxHeightquerynointeger
maxResultsquerynointeger
maxWidthquerynointeger
myRatingquerynostring
onBehalfOfContentOwnerquerynostring
pageTokenquerynostring
regionCodequerynostring
videoCategoryIdquerynostring
Responses
StatusDescriptionSchema
200Successful responseVideoListResponse
POST/youtube/v3/videos
Parameters
NameInRequiredType
partqueryyesarray
autoLevelsquerynoboolean
notifySubscribersquerynoboolean
onBehalfOfContentOwnerquerynostring
onBehalfOfContentOwnerChannelquerynostring
stabilizequerynoboolean
Request body

application/octet-streamVideo

Responses
StatusDescriptionSchema
200Successful responseVideo
PUT/youtube/v3/videos
Parameters
NameInRequiredType
partqueryyesarray
onBehalfOfContentOwnerquerynostring
Request body

application/jsonVideo

Responses
StatusDescriptionSchema
200Successful responseVideo
DELETE/youtube/v3/videos
Parameters
NameInRequiredType
idqueryyesstring
onBehalfOfContentOwnerquerynostring
Responses
StatusDescriptionSchema
200Successful response
GET/youtube/v3/videos/getRating
Parameters
NameInRequiredType
idqueryyesarray
onBehalfOfContentOwnerquerynostring
Responses
StatusDescriptionSchema
200Successful responseVideoGetRatingResponse
POST/youtube/v3/videos/rate
Parameters
NameInRequiredType
idqueryyesstring
ratingqueryyesstring
Responses
StatusDescriptionSchema
200Successful response
POST/youtube/v3/videos/reportAbuse
Parameters
NameInRequiredType
onBehalfOfContentOwnerquerynostring
Request body

application/jsonVideoAbuseReport

Responses
StatusDescriptionSchema
200Successful response
watermarks2
POST/youtube/v3/watermarks/set
Parameters
NameInRequiredType
channelIdqueryyesstring
onBehalfOfContentOwnerquerynostring
Request body

application/octet-streamInvideoBranding

Responses
StatusDescriptionSchema
200Successful response
POST/youtube/v3/watermarks/unset
Parameters
NameInRequiredType
channelIdqueryyesstring
onBehalfOfContentOwnerquerynostring
Responses
StatusDescriptionSchema
200Successful response
youtube1
PUT/youtube/v3/commentThreads
Parameters
NameInRequiredType
partquerynoarray
Request body

application/jsonCommentThread

Responses
StatusDescriptionSchema
200Successful responseCommentThread

Try it

Developer reference

Base URLhttps://youtube.googleapis.com
Rate limit

10,000 quota units/day by default, shared across most endpoints (list/read calls cost 1 unit each); search.list and videos.insert each have their own separate 100-calls/day bucket at 1 unit per call; write operations cost far more, from 50 units for a typical insert/update/delete up to 450 for captions.update — confirmed against Google's live quota-cost documentation.

Key endpoints
  • GET/youtube/v3/search
  • GET/youtube/v3/videos
  • GET/youtube/v3/channels
  • GET/youtube/v3/playlists
  • GET/youtube/v3/playlistItems