Youtube LiveChatMessages API

Operations for managing messages in YouTube live chat

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-livechatmessages-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: YouTube Analytics Analytics Groups LiveChatMessages 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: LiveChatMessages
  description: Operations for managing messages in YouTube live chat
paths:
  /liveChatMessages:
    get:
      operationId: youtube.liveChatMessages.list
      summary: Youtube List Live Chat Messages
      description: Lists live chat messages for a specific live broadcast. This method does not support filtering by user. The list is ordered chronologically, starting with the earliest message.
      tags:
      - LiveChatMessages
      parameters:
      - $ref: '#/components/parameters/part'
      - name: liveChatId
        in: query
        required: true
        description: The liveChatId parameter specifies the ID of the live chat whose messages will be returned. The live chat ID associated with a broadcast is returned in the liveBroadcast resource's snippet.liveChatId property.
        schema:
          type: string
        example: '500123'
      - $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 chat message resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveChatMessageListResponse'
              examples:
                YoutubeLivechatmessagesList200Example:
                  summary: Default youtube.liveChatMessages.list 200 response
                  x-microcks-default: true
                  value:
                    kind: youtube#video
                    etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                    nextPageToken: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9
                    pollingIntervalMillis: 10
                    offlineAt: '2026-01-15T10:30:00Z'
                    pageInfo:
                      totalResults: 42
                      resultsPerPage: 10
                    items:
                    - kind: youtube#video
                      etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                      id: abc123def456
                      snippet:
                        liveChatId: '500123'
                        type: chatEndedEvent
                        displayMessage: example_value
                        authorChannelId: '500123'
                        publishedAt: '2026-01-15T10:30:00Z'
                        hasDisplayContent: true
                        textMessageDetails: {}
                      authorDetails:
                        channelId: '500123'
                        channelUrl: https://www.example.com
                        displayName: example_value
                        profileImageUrl: https://www.example.com
                        isVerified: true
                        isChatOwner: true
                        isChatSponsor: true
                        isChatModerator: true
        '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.liveChatMessages.insert
      summary: Youtube Send a Live Chat Message
      description: Adds a message to a live chat. The authenticated user must be authorized to participate in the chat. Some chat types may have restrictions on who can send messages.
      tags:
      - LiveChatMessages
      parameters:
      - $ref: '#/components/parameters/part'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/key'
      requestBody:
        description: The live chat message resource to send.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiveChatMessage'
            examples:
              YoutubeLivechatmessagesInsertRequestExample:
                summary: Default youtube.liveChatMessages.insert request
                x-microcks-default: true
                value:
                  kind: youtube#video
                  etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                  id: abc123def456
                  snippet:
                    liveChatId: '500123'
                    type: chatEndedEvent
                    displayMessage: example_value
                    authorChannelId: '500123'
                    publishedAt: '2026-01-15T10:30:00Z'
                    hasDisplayContent: true
                    textMessageDetails:
                      messageText: example_value
                  authorDetails:
                    channelId: '500123'
                    channelUrl: https://www.example.com
                    displayName: example_value
                    profileImageUrl: https://www.example.com
                    isVerified: true
                    isChatOwner: true
                    isChatSponsor: true
                    isChatModerator: true
      responses:
        '200':
          description: Successful response containing the newly sent live chat message resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveChatMessage'
              examples:
                YoutubeLivechatmessagesInsert200Example:
                  summary: Default youtube.liveChatMessages.insert 200 response
                  x-microcks-default: true
                  value:
                    kind: youtube#video
                    etag: XI7nbFXulYBIpL0ayR_gDh3eu1k
                    id: abc123def456
                    snippet:
                      liveChatId: '500123'
                      type: chatEndedEvent
                      displayMessage: example_value
                      authorChannelId: '500123'
                      publishedAt: '2026-01-15T10:30:00Z'
                      hasDisplayContent: true
                      textMessageDetails:
                        messageText: example_value
                    authorDetails:
                      channelId: '500123'
                      channelUrl: https://www.example.com
                      displayName: example_value
                      profileImageUrl: https://www.example.com
                      isVerified: true
                      isChatOwner: true
                      isChatSponsor: true
                      isChatModerator: 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.liveChatMessages.delete
      summary: Youtube Delete a Live Chat Message
      description: Deletes a chat message. The authenticated user must be the author of the message or a moderator of the live chat to delete the message.
      tags:
      - LiveChatMessages
      parameters:
      - name: id
        in: query
        required: true
        description: The ID of the live chat message to delete.
        schema:
          type: string
        example: abc123def456
      - $ref: '#/components/parameters/key'
      responses:
        '204':
          description: The live chat message 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:
  schemas:
    LiveChatMessageListResponse:
      type: object
      description: A list of live chat message resources for a given broadcast.
      properties:
        kind:
          type: string
          description: Identifies the API resource's type. Value is youtube#liveChatMessageListResponse.
          default: youtube#liveChatMessageListResponse
          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
        pollingIntervalMillis:
          type: integer
          description: The amount of time the client should wait before polling again, in milliseconds.
          example: 10
        offlineAt:
          type: string
          format: date-time
          description: The date and time when the underlying stream went offline.
          example: '2026-01-15T10:30:00Z'
        pageInfo:
          $ref: '#/components/schemas/PageInfo'
        items:
          type: array
          description: A list of chat messages that match the request criteria.
          items:
            $ref: '#/components/schemas/LiveChatMessage'
          example: []
    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
    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
    LiveChatMessage:
      type: object
      description: A liveChatMessage resource represents a chat message in a YouTube live broadcast.
      required:
      - kind
      - etag
      properties:
        kind:
          type: string
          description: Identifies the API resource's type. Value is youtube#liveChatMessage.
          default: youtube#liveChatMessage
          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 message.
          example: abc123def456
        snippet:
          type: object
          description: The snippet object contains basic details about the message.
          properties:
            liveChatId:
              type: string
              description: The ID of the live chat to which this message belongs.
            type:
              type: string
              description: The type of message.
              enum:
              - chatEndedEvent
              - fanFundingEvent
              - giftMembershipReceivedEvent
              - memberMilestoneChatEvent
              - membershipGiftingEvent
              - messageDeletedEvent
              - newSponsorEvent
              - pollClosedEvent
              - pollEditedEvent
              - pollOpenedEvent
              - pollVotedEvent
              - sponsorOnlyModeEndedEvent
              - sponsorOnlyModeStartedEvent
              - superChatEvent
              - superStickerEvent
              - textMessageEvent
              - tombstone
              - userBannedEvent
            displayMessage:
              type: string
              description: Contains a string that can be displayed to the user. The string is not necessarily the message text itself.
            authorChannelId:
              type: string
              description: The ID of the user that authored this message.
            publishedAt:
              type: string
              format: date-time
              description: The date and time when the message was orignally published.
            hasDisplayContent:
              type: boolean
              description: Whether the message has display content that should be displayed to users.
            textMessageDetails:
              type: object
              description: Details about the text message. This object is only present if the type is textMessageEvent.
              properties:
                messageText:
                  type: string
                  description: The user's message.
          example: example_value
        authorDetails:
          type: object
          description: The authorDetails object contains basic details about the user that posted this message.
          properties:
            channelId:
              type: string
              description: The YouTube channel ID of the message author.
            channelUrl:
              type: string
              description: The channel URL of the message author.
            displayName:
              type: string
              description: The channel's display name.
            profileImageUrl:
              type: string
              description: The channel's avatar URL.
            isVerified:
              type: boolean
              description: Indicates whether YouTube has verified the authenticity of the channel owner's identity.
            isChatOwner:
              type: boolean
              description: Indicates whether the user is the owner of the live chat.
            isChatSponsor:
              type: boolean
              description: Indicates whether the user is a sponsor of the live chat.
            isChatModerator:
              type: boolean
              description: Indicates whether the user is a moderator of the live chat.
          example: example_value
  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
  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