Youtube LiveStreams API

Operations for managing YouTube live video streams

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-livestreams-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: YouTube Analytics Analytics Groups LiveStreams 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: LiveStreams
  description: Operations for managing YouTube live video streams
paths:
  /liveStreams:
    get:
      operationId: youtube.liveStreams.list
      summary: Youtube List Live Streams
      description: Returns a list of video streams that match the API request parameters. You can retrieve streams for the authenticated user or retrieve specific streams by their IDs.
      tags:
      - LiveStreams
      parameters:
      - $ref: '#/components/parameters/part'
      - name: id
        in: query
        description: Comma-separated list of live stream 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 only streams owned by the authenticated user.
        schema:
          type: boolean
        example: true
      - $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 live stream resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveStreamListResponse'
              examples:
                YoutubeLivestreamsList200Example:
                  summary: Default youtube.liveStreams.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
                      cdn:
                        ingestionType: dash
                        ingestionInfo: {}
                        resolution: example_value
                        frameRate: example_value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: youtube.liveStreams.insert
      summary: Youtube Create a Live Stream
      description: Creates a video stream. The stream enables you to send your video to YouTube, which can then broadcast the video to your audience. After creating the stream you must bind it to a broadcast.
      tags:
      - LiveStreams
      parameters:
      - $ref: '#/components/parameters/part'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/key'
      requestBody:
        description: The live stream resource to create.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiveStream'
            examples:
              YoutubeLivestreamsInsertRequestExample:
                summary: Default youtube.liveStreams.insert request
                x-microcks-default: true
                value:
                  kind: youtube#video
                  etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                  id: abc123def456
                  snippet:
                    channelId: '500123'
                    title: Example Title
                    description: A sample description for this resource.
                    publishedAt: '2026-01-15T10:30:00Z'
                    isDefaultStream: true
                  cdn:
                    ingestionType: dash
                    ingestionInfo:
                      streamName: example_value
                      ingestionAddress: example_value
                      backupIngestionAddress: example_value
                      rtmpsIngestionAddress: example_value
                      backupRtmpsIngestionAddress: example_value
                    resolution: example_value
                    frameRate: example_value
                  status:
                    streamStatus: active
                    healthStatus:
                      status: bad
                      lastUpdateTimeSeconds: 10
                      configurationIssues: []
                  contentDetails:
                    boundBroadcastId: '500123'
                    isReusable: true
      responses:
        '200':
          description: Successful response containing the newly created live stream resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveStream'
              examples:
                YoutubeLivestreamsInsert200Example:
                  summary: Default youtube.liveStreams.insert 200 response
                  x-microcks-default: true
                  value:
                    kind: youtube#video
                    etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                    id: abc123def456
                    snippet:
                      channelId: '500123'
                      title: Example Title
                      description: A sample description for this resource.
                      publishedAt: '2026-01-15T10:30:00Z'
                      isDefaultStream: true
                    cdn:
                      ingestionType: dash
                      ingestionInfo:
                        streamName: example_value
                        ingestionAddress: example_value
                        backupIngestionAddress: example_value
                        rtmpsIngestionAddress: example_value
                        backupRtmpsIngestionAddress: example_value
                      resolution: example_value
                      frameRate: example_value
                    status:
                      streamStatus: active
                      healthStatus:
                        status: bad
                        lastUpdateTimeSeconds: 10
                        configurationIssues: []
                    contentDetails:
                      boundBroadcastId: '500123'
                      isReusable: true
        '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.liveStreams.update
      summary: Youtube Update a Live Stream
      description: Updates a video stream. If the properties that you want to change cannot be updated, you need to create a new stream with the proper settings.
      tags:
      - LiveStreams
      parameters:
      - $ref: '#/components/parameters/part'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/key'
      requestBody:
        description: The live stream resource with updated properties.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiveStream'
            examples:
              YoutubeLivestreamsUpdateRequestExample:
                summary: Default youtube.liveStreams.update request
                x-microcks-default: true
                value:
                  kind: youtube#video
                  etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                  id: abc123def456
                  snippet:
                    channelId: '500123'
                    title: Example Title
                    description: A sample description for this resource.
                    publishedAt: '2026-01-15T10:30:00Z'
                    isDefaultStream: true
                  cdn:
                    ingestionType: dash
                    ingestionInfo:
                      streamName: example_value
                      ingestionAddress: example_value
                      backupIngestionAddress: example_value
                      rtmpsIngestionAddress: example_value
                      backupRtmpsIngestionAddress: example_value
                    resolution: example_value
                    frameRate: example_value
                  status:
                    streamStatus: active
                    healthStatus:
                      status: bad
                      lastUpdateTimeSeconds: 10
                      configurationIssues: []
                  contentDetails:
                    boundBroadcastId: '500123'
                    isReusable: true
      responses:
        '200':
          description: Successful response containing the updated live stream resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveStream'
              examples:
                YoutubeLivestreamsUpdate200Example:
                  summary: Default youtube.liveStreams.update 200 response
                  x-microcks-default: true
                  value:
                    kind: youtube#video
                    etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                    id: abc123def456
                    snippet:
                      channelId: '500123'
                      title: Example Title
                      description: A sample description for this resource.
                      publishedAt: '2026-01-15T10:30:00Z'
                      isDefaultStream: true
                    cdn:
                      ingestionType: dash
                      ingestionInfo:
                        streamName: example_value
                        ingestionAddress: example_value
                        backupIngestionAddress: example_value
                        rtmpsIngestionAddress: example_value
                        backupRtmpsIngestionAddress: example_value
                      resolution: example_value
                      frameRate: example_value
                    status:
                      streamStatus: active
                      healthStatus:
                        status: bad
                        lastUpdateTimeSeconds: 10
                        configurationIssues: []
                    contentDetails:
                      boundBroadcastId: '500123'
                      isReusable: true
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: youtube.liveStreams.delete
      summary: Youtube Delete a Live Stream
      description: Deletes a video stream. The authenticated user must own the stream being deleted. Streams bound to active or scheduled broadcasts cannot be deleted.
      tags:
      - LiveStreams
      parameters:
      - name: id
        in: query
        required: true
        description: The ID of the live stream to delete.
        schema:
          type: string
        example: abc123def456
      - $ref: '#/components/parameters/key'
      responses:
        '204':
          description: The live stream was successfully deleted.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      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. The nextPageToken property in the API response identifies other pages that are 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:
    PageInfo:
      type: object
      description: Paging details for a list of live streaming resources.
      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
    LiveStreamListResponse:
      type: object
      description: A list of live stream resources matching the request criteria.
      properties:
        kind:
          type: string
          description: Identifies the API resource's type. Value is youtube#liveStreamListResponse.
          default: youtube#liveStreamListResponse
          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 live streams that match the request criteria.
          items:
            $ref: '#/components/schemas/LiveStream'
          example: []
    ErrorResponse:
      type: object
      description: A standard error response returned by the YouTube Live Streaming 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
    LiveStream:
      type: object
      description: A liveStream resource contains information about the video stream that you are transmitting to YouTube. The stream provides the content that will be broadcast to YouTube users.
      required:
      - kind
      - etag
      properties:
        kind:
          type: string
          description: Identifies the API resource's type. Value is youtube#liveStream.
          default: youtube#liveStream
          example: youtube#video
        etag:
          type: string
          description: The Etag of this resource.
          example: XI7nbFXulYBIpL0ayR_gDh3eu1k
        id:
          type: string
          description: The ID that YouTube assigns to uniquely identify the stream.
          example: abc123def456
        snippet:
          $ref: '#/components/schemas/LiveStreamSnippet'
        cdn:
          type: object
          description: The cdn object defines the live stream's content delivery network (CDN) settings.
          properties:
            ingestionType:
              type: string
              description: The method or protocol used to transmit the video stream.
              enum:
              - dash
              - rtmp
              - webrtc
            ingestionInfo:
              type: object
              description: The ingestionInfo object contains information that YouTube provides that you need to transmit your RTMP or HTTP stream to YouTube.
              properties:
                streamName:
                  type: string
                  description: The stream name that YouTube assigns to the video stream.
                ingestionAddress:
                  type: string
                  description: The primary ingestion URL that you should use to stream video to YouTube.
                backupIngestionAddress:
                  type: string
                  description: The backup ingestion URL that you should use to stream video to YouTube.
                rtmpsIngestionAddress:
                  type: string
                  description: The primary secured ingestion URL that you should use to stream video to YouTube.
                backupRtmpsIngestionAddress:
                  type: string
                  description: The backup secured ingestion URL that you should use to stream video to YouTube.
            resolution:
              type: string
              description: The resolution of the inbound video data.
            frameRate:
              type: string
              description: The frame rate of the inbound video data.
          example: example_value
        status:
          $ref: '#/components/schemas/LiveStreamStatus'
        contentDetails:
          $ref: '#/components/schemas/LiveStreamContentDetails'
    LiveStreamSnippet:
      type: object
      description: Basic details about a live stream including its title, description, and channel association.
      properties:
        channelId:
          type: string
          description: The ID of the channel to which this stream is affiliated.
          example: '500123'
        title:
          type: string
          description: The stream's title. The value must be between 1 and 128 characters long.
          example: Example Title
        description:
          type: string
          description: The stream's description. The value cannot be longer than 10000 characters.
          example: A sample description for this resource.
        publishedAt:
          type: string
          format: date-time
          description: The date and time that the stream was created.
          example: '2026-01-15T10:30:00Z'
        isDefaultStream:
          type: boolean
          description: Indicates whether this stream is the default stream.
          example: true
    LiveStreamContentDetails:
      type: object
      description: Detailed settings for a live stream including the stream key and ingestion settings.
      properties:
        boundBroadcastId:
          type: string
          description: The ID of the live broadcast to which this stream is bound.
          example: '500123'
        isReusable:
          type: boolean
          description: Indicates whether the stream is reusable, which means that it can be bound to multiple broadcasts.
          example: true
    LiveStreamStatus:
      type: object
      description: Status information about a live stream including its stream status and health status.
      properties:
        streamStatus:
          type: string
          description: The stream's current status.
          enum:
          - active
          - created
          - error
          - inactive
          - ready
          example: active
        healthStatus:
          type: object
          description: The health status of the stream.
          properties:
            status:
              type: string
              description: The status code of this stream.
              enum:
              - bad
              - good
              - noData
              - ok
              - revoked
            lastUpdateTimeSeconds:
              type: integer
              format: int64
              description: The last time this status was updated, as a Unix timestamp.
            configurationIssues:
              type: array
              description: The configurations issues on this stream.
              items:
                type: object
                properties:
                  type:
                    type: string
                    description: The kind of error happening.
                  severity:
                    type: string
                    description: How severe this issue is to the stream.
                    enum:
                    - error
                    - info
                    - warning
                  reason:
                    type: string
                    description: The short-form reason for this issue.
                  description:
                    type: string
                    description: The long-form description of the issue and how to resolve it.
          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'
    NotFound:
      description: The specified resource was not found.
      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