Youtube LiveChatMessages API

Operations for managing messages in YouTube live chat

Operations 3

GET /liveChatMessages Youtube List Live Chat Messages #
POST /liveChatMessages Youtube Send a Live Chat Message #
DELETE /liveChatMessages Youtube Delete a Live Chat Message #

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

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/youtube-livechatmessages-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

youtube-livechatmessages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: YouTube Live Streaming Live Chat Messages API
  description: The YouTube Live Streaming API lets you create, update, and manage live video broadcasts and live video streams on YouTube. The API provides resources for liveBroadcasts, liveStreams, liveChatMessages, liveChatModerators, liveChatBans, and superChatEvents. Broadcasts are scheduled events that viewers can watch live, while streams are the actual video feed bound to a broadcast.
  version: v3
  contact:
    name: YouTube API Support
    url: https://developers.google.com/youtube/v3/live/support
  termsOfService: https://developers.google.com/youtube/terms/api-services-terms-of-service
servers:
- url: https://www.googleapis.com/youtube/v3
  description: YouTube Live Streaming API base server (shared with YouTube Data API v3)
security:
- oauth2:
  - https://www.googleapis.com/auth/youtube
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:
  responses:
    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'
    Unauthorized:
      description: The request was not authenticated or the credentials are invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  parameters:
    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
    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
    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
    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
  schemas:
    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
    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
    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
  securitySchemes:
    oauth2:
      type: oauth2
      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/youtube.force-ssl: See, edit, and permanently delete your YouTube videos, ratings, comments and captions
    apiKey:
      type: apiKey
      in: query
      name: key