Youtube Channels API

Operations related to YouTube channel resources

Documentation

📖
Documentation
https://developers.google.com/youtube/v3/docs/activities/list
📖
GettingStarted
https://developers.google.com/youtube/v3/getting-started
📖
Authentication
https://developers.google.com/youtube/v3/guides/authentication
📖
Documentation
https://developers.google.com/youtube/v3/docs/channels/list
📖
Documentation
https://developers.google.com/youtube/v3/docs/comments/list
📖
Documentation
https://developers.google.com/youtube/v3/docs/commentThreads/list
📖
Documentation
https://developers.google.com/youtube/v3/docs/playlists/list
📖
Documentation
https://developers.google.com/youtube/v3/docs/playlistItems/list
📖
Documentation
https://developers.google.com/youtube/v3/docs/search/list
📖
Documentation
https://developers.google.com/youtube/v3/docs/subscriptions/list
📖
Documentation
https://developers.google.com/youtube/v3/docs/videos/list
📖
Documentation
https://developers.google.com/youtube/v3/docs/captions
📖
Documentation
https://developers.google.com/youtube/v3/docs/videoCategories
📖
Documentation
https://developers.google.com/youtube/v3/docs/i18nLanguages
📖
Documentation
https://developers.google.com/youtube/v3/docs/i18nRegions
📖
Documentation
https://developers.google.com/youtube/analytics
📖
GettingStarted
https://developers.google.com/youtube/reporting/guides/authorization
📖
APIReference
https://developers.google.com/youtube/analytics/reference
📖
Authentication
https://developers.google.com/youtube/reporting/guides/authorization
📖
Documentation
https://developers.google.com/youtube/reporting
📖
APIReference
https://developers.google.com/youtube/reporting/v1/reference/rest
📖
Documentation
https://developers.google.com/youtube/reporting/v1/reports
📖
GettingStarted
https://developers.google.com/youtube/v3/live/getting-started
📖
Documentation
https://developers.google.com/youtube/v3/live/docs
📖
APIReference
https://developers.google.com/youtube/v3/live/docs

Specifications

Code Examples

Schemas & Data

Other Resources

OpenAPI Specification

youtube-channels-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: YouTube Analytics Analytics Groups Channels API
  description: 'The YouTube Analytics API enables you to retrieve YouTube Analytics data for channels and content owners.

    Use this API to generate custom analytics reports, track video performance metrics, monitor audience engagement,

    and gain insights into viewer demographics and behavior patterns.


    ## Key Features

    - Retrieve channel and video performance metrics

    - Access audience demographics and geographic data

    - Monitor engagement metrics like likes, comments, and shares

    - Track revenue and ad performance data (for monetized content)

    - Generate custom date-range reports


    ## Authentication

    All API requests require OAuth 2.0 authentication with appropriate scopes.

    '
  version: 2.0.0
  contact:
    name: Google Developers
    url: https://developers.google.com/youtube/analytics
    email: youtube-api-support@google.com
  license:
    name: Creative Commons Attribution 3.0
    url: http://creativecommons.org/licenses/by/3.0/
    identifier: CC-BY-3.0
  termsOfService: https://developers.google.com/terms/
  x-logo:
    url: https://www.youtube.com/img/desktop/yt_1200.png
servers:
- url: https://youtubeanalytics.googleapis.com/v2
  description: YouTube Analytics API Production Server
security:
- OAuth2:
  - https://www.googleapis.com/auth/yt-analytics.readonly
tags:
- name: Channels
  description: Operations related to YouTube channel resources
paths:
  /channels:
    get:
      operationId: youtube.channels.list
      summary: Youtube List Channels
      description: Returns a collection of zero or more channel resources that match the request criteria. Use the part parameter to specify the channel resource properties to include.
      tags:
      - Channels
      parameters:
      - $ref: '#/components/parameters/part'
      - name: id
        in: query
        description: Comma-separated list of YouTube channel IDs for the resources being retrieved.
        schema:
          type: string
        example: abc123def456
      - name: mine
        in: query
        description: Set this parameter to true to instruct the API to return channels owned by the authenticated user.
        schema:
          type: boolean
        example: true
      - name: forUsername
        in: query
        description: A YouTube username identifying a channel. The API returns the channel associated with that username.
        schema:
          type: string
        example: example_value
      - $ref: '#/components/parameters/maxResults'
      - $ref: '#/components/parameters/pageToken'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/key'
      responses:
        '200':
          description: Successful response containing a list of channel resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChannelListResponse'
              examples:
                YoutubeChannelsList200Example:
                  summary: Default youtube.channels.list 200 response
                  x-microcks-default: true
                  value:
                    kind: youtube#video
                    etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                    nextPageToken: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9
                    prevPageToken: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9
                    pageInfo:
                      totalResults: 42
                      resultsPerPage: 10
                    items:
                    - kind: youtube#video
                      etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                      id: abc123def456
                      contentDetails:
                        relatedPlaylists: {}
                      brandingSettings:
                        channel: {}
                        image: {}
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: youtube.channels.update
      summary: Youtube Update Channel Metadata
      description: Updates a channel's metadata. The authenticated user must own the channel being updated. Use the part parameter to specify the channel properties to update.
      tags:
      - Channels
      parameters:
      - $ref: '#/components/parameters/part'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/key'
      requestBody:
        description: The channel resource with updated properties.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Channel'
            examples:
              YoutubeChannelsUpdateRequestExample:
                summary: Default youtube.channels.update request
                x-microcks-default: true
                value:
                  kind: youtube#video
                  etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                  id: abc123def456
                  snippet:
                    title: Example Title
                    description: A sample description for this resource.
                    customUrl: https://www.example.com
                    publishedAt: '2026-01-15T10:30:00Z'
                    thumbnails: example_value
                    country: 42
                    localized:
                      title: Example Title
                      description: A sample description for this resource.
                  statistics:
                    viewCount: 42
                    subscriberCount: 42
                    hiddenSubscriberCount: 42
                    videoCount: 42
                  contentDetails:
                    relatedPlaylists:
                      uploads: example_value
                      likes: example_value
                  brandingSettings:
                    channel:
                      title: Example Title
                      description: A sample description for this resource.
                      keywords: example_value
                      defaultLanguage: en
                    image:
                      bannerExternalUrl: https://www.example.com
      responses:
        '200':
          description: Successful response containing the updated channel resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Channel'
              examples:
                YoutubeChannelsUpdate200Example:
                  summary: Default youtube.channels.update 200 response
                  x-microcks-default: true
                  value:
                    kind: youtube#video
                    etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                    id: abc123def456
                    snippet:
                      title: Example Title
                      description: A sample description for this resource.
                      customUrl: https://www.example.com
                      publishedAt: '2026-01-15T10:30:00Z'
                      thumbnails: example_value
                      country: 42
                      localized:
                        title: Example Title
                        description: A sample description for this resource.
                    statistics:
                      viewCount: 42
                      subscriberCount: 42
                      hiddenSubscriberCount: 42
                      videoCount: 42
                    contentDetails:
                      relatedPlaylists:
                        uploads: example_value
                        likes: example_value
                    brandingSettings:
                      channel:
                        title: Example Title
                        description: A sample description for this resource.
                        keywords: example_value
                        defaultLanguage: en
                      image:
                        bannerExternalUrl: https://www.example.com
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  parameters:
    fields:
      name: fields
      in: query
      description: Selector specifying which fields to include in a partial response. Use this parameter to reduce bandwidth usage by selecting only the fields you need.
      schema:
        type: string
    key:
      name: key
      in: query
      description: API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
      schema:
        type: string
    pageToken:
      name: pageToken
      in: query
      description: Identifies a specific page in the result set that should be returned. In an API response, the nextPageToken and prevPageToken properties identify other pages available.
      schema:
        type: string
    part:
      name: part
      in: query
      required: true
      description: Specifies a comma-separated list of one or more resource properties that the API response will include. The part parameter value must include the id property.
      schema:
        type: string
    maxResults:
      name: maxResults
      in: query
      description: The maximum number of items that should be returned in the result set. Acceptable values are 0 to 50, inclusive.
      schema:
        type: integer
        minimum: 0
        maximum: 50
        default: 5
  schemas:
    Channel:
      type: object
      description: A channel resource represents a YouTube channel.
      required:
      - kind
      - etag
      properties:
        kind:
          type: string
          description: Identifies the API resource's type. Value is youtube#channel.
          default: youtube#channel
          example: youtube#video
        etag:
          type: string
          description: The Etag of this resource.
          example: XI7nbFXulYBIpL0ayR_gDh3eu1k
        id:
          type: string
          description: The ID that YouTube uses to uniquely identify the channel.
          example: abc123def456
        snippet:
          $ref: '#/components/schemas/ChannelSnippet'
        statistics:
          $ref: '#/components/schemas/ChannelStatistics'
        contentDetails:
          type: object
          description: The contentDetails object encapsulates information about the channel's content.
          properties:
            relatedPlaylists:
              type: object
              description: A map that identifies playlists associated with the channel.
              properties:
                uploads:
                  type: string
                  description: The ID of the playlist that contains the channel's uploaded videos.
                likes:
                  type: string
                  description: The ID of the playlist that contains the videos that the channel has liked.
          example: example_value
        brandingSettings:
          type: object
          description: The brandingSettings object encapsulates information about the branding of the channel.
          properties:
            channel:
              type: object
              description: Branding settings for the channel page.
              properties:
                title:
                  type: string
                  description: The channel title.
                description:
                  type: string
                  description: The channel description.
                keywords:
                  type: string
                  description: Keywords associated with the channel.
                defaultLanguage:
                  type: string
                  description: The content tab that users should display by default on the channel page.
            image:
              type: object
              description: Branding images associated with the channel page.
              properties:
                bannerExternalUrl:
                  type: string
                  description: The URL for the banner image shown on the channel page on the YouTube website.
          example: example_value
    PageInfo:
      type: object
      description: Paging details for a list operation, including information about the total number of resources and the number per page.
      properties:
        totalResults:
          type: integer
          description: The total number of results in the result set.
          example: 42
        resultsPerPage:
          type: integer
          description: The number of results included in the API response.
          example: 10
    ChannelStatistics:
      type: object
      description: Statistics about a YouTube channel.
      properties:
        viewCount:
          type: string
          description: The number of times the channel has been viewed.
          example: 42
        subscriberCount:
          type: string
          description: The number of subscribers that the channel has.
          example: 42
        hiddenSubscriberCount:
          type: boolean
          description: Indicates whether the channel's subscriber count is publicly visible.
          example: 42
        videoCount:
          type: string
          description: The number of public videos uploaded to the channel.
          example: 42
    ErrorResponse:
      type: object
      description: A standard error response returned by the YouTube Data API.
      properties:
        error:
          type: object
          description: The error details.
          properties:
            code:
              type: integer
              description: The HTTP status code of the error.
            message:
              type: string
              description: A human-readable description of the error.
            errors:
              type: array
              description: A list of individual errors.
              items:
                type: object
                properties:
                  message:
                    type: string
                    description: A human-readable description of the error.
                  domain:
                    type: string
                    description: The domain in which the error occurred.
                  reason:
                    type: string
                    description: The reason for the error.
          example: example_value
    ChannelListResponse:
      type: object
      description: A list of channel resources matching the request criteria.
      properties:
        kind:
          type: string
          description: Identifies the API resource's type. Value is youtube#channelListResponse.
          default: youtube#channelListResponse
          example: youtube#video
        etag:
          type: string
          description: The Etag of this resource.
          example: XI7nbFXulYBIpL0ayR_gDh3eu1k
        nextPageToken:
          type: string
          description: The token for the next page of results.
          example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9
        prevPageToken:
          type: string
          description: The token for the previous page of results.
          example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9
        pageInfo:
          $ref: '#/components/schemas/PageInfo'
        items:
          type: array
          description: A list of channels that match the request criteria.
          items:
            $ref: '#/components/schemas/Channel'
          example: []
    ChannelSnippet:
      type: object
      description: Basic details about a channel, including its title, description, and thumbnails.
      properties:
        title:
          type: string
          description: The channel title.
          example: Example Title
        description:
          type: string
          description: The channel description.
          example: A sample description for this resource.
        customUrl:
          type: string
          description: The channel's custom URL.
          example: https://www.example.com
        publishedAt:
          type: string
          format: date-time
          description: The date and time that the channel was created.
          example: '2026-01-15T10:30:00Z'
        thumbnails:
          type: object
          description: A map of thumbnail images associated with the channel.
          additionalProperties:
            type: object
            properties:
              url:
                type: string
                description: The URL of the thumbnail image.
              width:
                type: integer
                description: The thumbnail width in pixels.
              height:
                type: integer
                description: The thumbnail height in pixels.
          example: example_value
        country:
          type: string
          description: The country with which the channel is associated.
          example: 42
        localized:
          type: object
          description: The snippet.localized object contains a localized title and description for the channel.
          properties:
            title:
              type: string
              description: The localized channel title.
            description:
              type: string
              description: The localized channel description.
          example: example_value
  responses:
    Unauthorized:
      description: The request was not authenticated or the credentials are invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: The request was invalid or malformed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: The request was authenticated but the caller does not have permission to perform the requested operation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    OAuth2:
      type: oauth2
      description: OAuth 2.0 authentication for YouTube Analytics API
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/youtube: Manage your YouTube account
            https://www.googleapis.com/auth/youtube.readonly: View your YouTube account
            https://www.googleapis.com/auth/yt-analytics.readonly: View YouTube Analytics reports
            https://www.googleapis.com/auth/yt-analytics-monetary.readonly: View YouTube Analytics monetary reports
externalDocs:
  description: YouTube Analytics API Documentation
  url: https://developers.google.com/youtube/analytics