YouTube Live Streaming API - Errors

This document identifies the different types of errors that YouTube Live Streaming API operations can return. You can also find a list of errors for any individual method in the reference documentation for that method.

fanFundingEvents

The following tables identify error messages that the API returns in response to calls related to fanFundingEvents resources.

fanFundingEvents.list

Error typeError detailDescription
forbidden (403)insufficientPermissionsYou do not have the necessary permissions to view the channel's Fan Funding events.
invalidValue (400)fanFundingNotEnabledForChannelIdThe channel does not have Fan Funding enabled.

liveBroadcasts

The following tables identify error messages that the API returns in response to calls related to liveBroadcasts resources.

liveBroadcasts.bind

Error typeError detailDescription
backendErrorinternalErrorAn internal error occurred during the bind.
forbidden (403)liveBroadcastBindingNotAllowedThe current status of the live broadcast does not allow it to be bound to a stream.
insufficientPermissionsinsufficientLivePermissionsThe request is not authorized to retrieve the specified live broadcast. For more information, see Implementing OAuth2 authentication.
insufficientPermissionsliveStreamingNotEnabledThe user that authorized the request is not enabled to stream live video on YouTube. The user can find more information at https://www.youtube.com/features.
notFound (404)liveBroadcastNotFoundThe broadcast specified by the id parameter does not exist.
notFound (404)liveStreamNotFoundThe stream specified by the streamId parameter does not exist.
rateLimitExceededuserRequestsExceedRateLimitThe user has sent too many requests in a given timeframe.
required (400)idRequiredThe required id parameter must identify the broadcast to bind.

liveBroadcasts.delete

Error typeError detailDescription
forbidden (403)liveBroadcastDeletionNotAllowedThe current status of the live broadcast does not allow it to be deleted.
insufficientPermissionsinsufficientLivePermissionsThe request is not authorized to delete the specified live broadcast. For more information, see Implementing OAuth2 authentication.
insufficientPermissionsliveStreamingNotEnabledThe user that authorized the request is not enabled to stream live video on YouTube. The user can find more information at https://www.youtube.com/features.
notFound (404)liveBroadcastNotFoundThe id property specified in the liveBroadcast resource did not identify a broadcast.

liveBroadcasts.insert

Error typeError detailDescription
insufficientPermissionsinsufficientLivePermissionsThe request is not authorized to create the live broadcast.
insufficientPermissionslivePermissionBlockedThe user that authorized the request is unable to stream live video on YouTube at this time. Details explaining why the user cannot stream live video may be available in the user's channel settings at https://www.youtube.com/features.
insufficientPermissionsliveStreamingNotEnabledThe user that authorized the request is not enabled to stream live video on YouTube. The user can find more information at https://www.youtube.com/features.
invalidValue (400)invalidAutoStartThe liveBroadcast resource contained an invalid value for the contentDetails.enableAutoStart property. Not all broadcasts support this setting.
invalidValue (400)invalidAutoStopThe liveBroadcast resource contained an invalid value for the contentDetails.enableAutoStop property. You cannot modify the enableAutoStop setting for a persistent broadcast.
invalidValue (400)invalidDescriptionThe liveBroadcast resource did not specify a valid value for the snippet.description property. The property's value can contain up to 5000 characters.
invalidValue (400)invalidEmbedSettingThe liveBroadcast resource contained an invalid value for the contentDetails.enable_embed property. You cannot embed this broadcast.
invalidValue (400)invalidLatencyPreferenceOptionsThe liveBroadcast resource contained an invalid value for the contentDetails.latencyPreference property. Not all settings are supported with this latency preference.
invalidValue (400)invalidPrivacyStatusThe liveBroadcast resource contained an invalid value for the status.privacy_status property.
invalidValue (400)invalidProjectionThe liveBroadcast resource contained an invalid value for the contentDetails.projection property. A default broadcast's projection cannot be set to 360.
invalidValue (400)invalidScheduledEndTimeThe liveBroadcast resource contained an invalid value for the snippet.scheduledEndTime property. The scheduled end time must follow the scheduled start time.
invalidValue (400)invalidScheduledStartTimeThe liveBroadcast resource contained an invalid value for the snippet.scheduledStartTime property. The scheduled start time must be in the future and close enough to the current date that a broadcast could be reliably scheduled at that time.
invalidValue (400)invalidTitleThe liveBroadcast resource did not specify a valid value for the snippet.title property. The property's value must be between 1 and 100 characters long.
limitExceededuserBroadcastsExceedLimitThe user has created too many live or scheduled broadcasts and must stop or delete some.
rateLimitExceededuserRequestsExceedRateLimitThe user has sent too many requests in a given timeframe.
required (400)privacyStatusRequiredThe liveBroadcast resource must specify a privacy status. See valid privacyStatus values.
required (400)scheduledEndTimeRequiredThe liveBroadcast resource must specify the snippet.scheduledEndTime property.
required (400)scheduledStartTimeRequiredThe liveBroadcast resource must specify the snippet.scheduledStartTime property.
required (400)titleRequiredThe liveBroadcast resource must specify the snippet.title property.

liveBroadcasts.list

Error typeError detailDescription
insufficientPermissionsinsufficientLivePermissionsThe request is not authorized to retrieve the live broadcast.
insufficientPermissionsliveStreamingNotEnabledThe user that authorized the request is not enabled to stream live video on YouTube. The user can find more information at https://www.youtube.com/features.

liveBroadcasts.transition

Error typeError detailDescription
backendErrorerrorExecutingTransitionAn error occurred while changing the broadcast's status.
forbidden (403)errorStreamInactiveThe requested transition is not allowed when the stream that is bound to the broadcast is inactive.
forbidden (403)invalidTransitionThe live broadcast can't transition from its current status to the requested status.
forbidden (403)redundantTransitionThe live broadcast is already in the requested status or processing to the requested status.
insufficientPermissionsinsufficientLivePermissionsThe request is not authorized to transition the live broadcast.
insufficientPermissionslivePermissionBlockedThe user that authorized the request is unable to stream live video on YouTube at this time. Details explaining why the user cannot stream live video may be available in the user's channel settings at https://www.youtube.com/features.
insufficientPermissionsliveStreamingNotEnabledThe user that authorized the request is not enabled to stream live video on YouTube. The user can find more information at https://www.youtube.com/features.
notFound (404)liveBroadcastNotFoundThe broadcast specified by the id parameter does not exist.
rateLimitExceeded (403)userRequestsExceedRateLimitThe user has sent too many requests in a given timeframe.
required (400)idRequiredThe required id parameter must identify the broadcast whose status you want to transition.
required (400)statusRequiredThe API request must specify a value for the status parameter.

liveBroadcasts.update

Error typeError detailDescription
forbidden (403)closedCaptionsTypeModificationNotAllowedThe contentDetails.closedCaptionsType value can only be modified when the broadcast is in the created or ready status.
forbidden (403)enableAutoStartModificationNotAllowedThe contentDetails.enableAutoStart value can only be modified when the stream is inactive and the broadcast is in the created or ready status.
forbidden (403)enableClosedCaptionsModificationNotAllowedThe contentDetails.enableClosedCaptions value can only be modified when the broadcast's status is created or ready.
forbidden (403)enableDvrModificationNotAllowedThe contentDetails.enableDvr value can be modified only when the broadcast's status is created or ready.
forbidden (403)enableMonitorStreamModificationNotAllowedThe contentDetails.monitorStream.enableMonitorStream value can be modified only when the broadcast's status is created or ready.
forbidden (403)recordFromStartModificationNotAllowedThe contentDetails.recordFromStart value can be modified only when the broadcast's status is created or ready.
insufficientPermissionsinsufficientLivePermissionsThe request is not authorized to update the specified live broadcast. For more information, see Implementing OAuth2 authentication.
insufficientPermissionsliveStreamingNotEnabledThe user that authorized the request is not enabled to stream live video on YouTube. The user can find more information at https://www.youtube.com/features.
invalidValue (400)invalidAutoStartThe liveBroadcast resource contained an invalid value for the contentDetails.enableAutoStart property. You cannot modify the enableAutoStart setting for a persistent broadcast.
invalidValue (400)invalidAutoStopThe liveBroadcast resource contained an invalid value for the contentDetails.enableAutoStop property. You cannot modify the enableAutoStop setting for a persistent broadcast.
invalidValue (400)invalidDescriptionThe liveBroadcast resource did not specify a valid value for the snippet.description property. snippet.description can contain up to 5000 characters.
invalidValue (400)invalidEmbedSettingThe liveBroadcast resource contained an invalid value for the contentDetails.enable_embed property. You cannot embed this broadcast.
invalidValue (400)invalidEnableClosedCaptionsIn the liveBroadcast resource, the value of the contentDetails.enableClosedCaptions property is incompatible with the value of the contentDetails.closedCaptionType setting. Modify the resource to only include one of the two properties, and then resubmit the request.
invalidValue (400)invalidLatencyPreferenceOptionsThe liveBroadcast resource contained an invalid value for the contentDetails.latencyPreference property. Not all settings are supported with this latency preference.
invalidValue (400)invalidPrivacyStatusThe liveBroadcast resource did not specify a valid privacy status. See valid privacyStatus values.
invalidValue (400)invalidProjectionThe liveBroadcast resource contained an invalid value for the contentDetails.projection property. A persistent broadcast's projection cannot be set to 360.
invalidValue (400)invalidScheduledEndTimeThe liveBroadcast resource contained an invalid value for the snippet.scheduledEndTime property. The scheduled end time must follow the scheduled start time.
invalidValue (400)invalidScheduledStartTimeThe liveBroadcast resource contained an invalid value for the snippet.scheduledStartTime property. The scheduled start time must be in the future.
invalidValue (400)invalidTitleThe liveBroadcast resource did not specify a valid value for the snippet.title property. snippet.title must be between 1 and 100 characters long.
notFound (404)liveBroadcastNotFoundThe id property specified in the liveBroadcast resource did not identify a broadcast.
required (400)broadcastStreamDelayMsRequiredThe liveBroadcast resource did not specify the contentDetails.monitorStream.broadcastStreamDelayMs property.
required (400)enableMonitorStreamRequiredThe liveBroadcast resource did not specify the contentDetails.monitorStream.enableMonitorStream property.
required (400)idRequiredThe liveBroadcast resource must include and specify a value for the id property.
required (400)privacyStatusRequiredThe liveBroadcast resource did not specify a privacy status. See for valid privacyStatus values.
required (400)scheduledEndTimeRequiredThe liveBroadcast resource did not specify the snippet.scheduledEndTime property.
required (400)scheduledStartTimeRequiredThe liveBroadcast resource did not specify the snippet.scheduledStartTime property.
required (400)titleRequiredThe liveBroadcast resource did not specify the snippet.title property.

liveBroadcasts.cuepoint

Error typeError detailDescription
insufficientPermissions (403)insufficientLivePermissionsThe request is not authorized to insert a cuepoint in the live broadcast.
insufficientPermissions (403)liveStreamingNotEnabledThe user that authorized the request is not enabled to stream live video on YouTube. The user can find more information at https://support.google.com/youtube/answer/2474026 and https://www.youtube.com/features.
rateLimitExceeded (403)userRequestsExceedRateLimitThe user has sent too many requests in a given timeframe.
required (400)idRequiredThe required id parameter must identify the broadcast in which you want to insert a cuepoint.
required (400)cueTypeRequiredThe required cueType field must be specified in the API request body.
notFound (404)liveBroadcastNotFoundThe broadcast specified by the id parameter does not exist.
invalidValue (400)conflictingTimeFieldsOnly one of insertionOffsetTimeMs and walltimeMs may be specified. Setting both values causes an error. If you do not set either value, YouTube will use the default insertionOffsetTimeMs time (0), which means that the cuepoint will be inserted as soon as possible.
invalidValue (400)invalidInsertionOffsetTimeMsThe cuepoint resource specified an invalid value for the insertionOffsetTimeMs property. The value must be 0 or a positive integer.
invalidValue (400)invalidWalltimeMsThe cuepoint resource specified an invalid value for the walltimeMs property. The value must be an integer that represents an epoch timestamp.
backendError (5xx)serviceUnavailableThe service is unavailable. Try your request again after a few minutes.

liveChatBans

The following tables identify error messages that the API returns in response to calls related to liveChatBans resources.

liveChatBans.delete

Error typeError detailDescription
forbidden (403)forbiddenThe specified ban cannot be removed. This error can occur if the request is authorized by one moderator who is attempting to remove a ban on another moderator.
forbidden (403)insufficientPermissionsYou do not have the necessary permissions to remove the specified ban.
invalidValue (400)invalidLiveChatBanIdThe id parameter specifies an invalid value.
notFound (404)liveChatBanNotFoundThe specified ban cannot be found.

liveChatBans.insert

Error typeError detailDescription
forbidden (403)insufficientPermissionsYou do not have the necessary permissions to ban a user from the specified live chat.
forbidden (403)liveChatBanInsertionNotAllowedThe specified ban cannot be created. This error can occur if the request attempts to ban the chat owner or another moderator.
invalidValue (400)invalidChannelIdThe specified channel ID cannot be found.
invalidValue (400)invalidLiveChatIdThe snippet.liveChatId value specified in the request is invalid. Check the associated liveBroadcast resource to ensure that you have the correct value.
notFound (404)liveChatNotFoundThe specified live chat cannot be found. Check the associated liveBroadcast resource to ensure that you are setting the snippet.liveChatId property to the correct value.
notFound (404)liveChatUserNotFoundThe live chat user you are trying to ban cannot be found.
required (400)bannedUserChannelIdRequiredThe liveChatBan resource submitted in the request body must specify a value for the snippet.bannedUserDetails.channelId property.
required (400)liveChatIdRequiredThe liveChatBan resource submitted in the request body must specify a value for the snippet.liveChatId property.

liveChatMessages

The following tables identify error messages that the API returns in response to calls related to liveChatMessages resources.

liveChatMessages.delete

Error typeError detailDescription
forbidden (403)forbiddenYou do not have the permissions required to delete the specified message.
forbidden (403)modificationNotAllowedThe specified liveChatMessage resource cannot be deleted. The id parameter might identify a message created by a moderator or another user whose messages cannot be deleted.
notFound (404)liveChatMessageNotFoundThe message that you are trying to delete cannot be found. Check the value of the id parameter to ensure it is correct.

liveChatMessages.insert

Error typeError detailDescription
forbidden (403)forbiddenYou do not have the permissions required to create the specified message.
forbidden (403)liveChatDisabledThe specified live chat has been disabled by the owner, which means messages cannot be added to the chat.
forbidden (403)liveChatEndedThe specified live chat is no longer live.
invalidValue (400)messageTextInvalidThe message text (snippet.textMessageDetails.messageText) is not valid.
notFound (404)liveChatNotFoundThe live chat identified in the API request does not exist. This error occurs if the chat has been deleted by the owner.
rateLimitExceededrateLimitExceededThe user has posted too many chat messages in a given timeframe.
required (400)liveChatIdRequiredThe liveChatMessage resource must include and specify a value for the snippet.liveChatId property.
required (400)messageTextRequiredThe liveChatMessage resource must include and specify a value for the snippet.textMessageDetails.messageText property.
required (400)typeRequiredThe liveChatMessage resource must include and specify a value for the snippet.type property. Set the parameter value to text

liveChatMessages.list

Error typeError detailDescription
forbidden (403)forbiddenYou do not have the permissions required to retrieve messages for the specified live chat.
forbidden (403)liveChatDisabledLive chat is not enabled for the specified broadcast.
forbidden (403)liveChatEndedThe specified live chat is no longer live.
notFound (404)liveChatNotFoundThe live chat that you are trying to retrieve cannot be found. Check the value of the request's liveChatId parameter to ensure that it is correct.
rateLimitExceededrateLimitExceededThe request was sent too quickly after the previous request. This error occurs when API requests to retrieve messages are being sent more frequently than YouTube's refresh rates, which unnecessarily wastes bandwidth.

liveCuepoints

The following tables identify error messages that the API returns in response to calls related to liveCuepoints resources.

liveCuepoints.insert

Error typeError detailDescription
invalidValue (400)conflictingTimeFieldsOnly one of offsetTimeMs and walltime may be specified.

liveStreams

The following tables identify error messages that the API returns in response to calls related to liveStreams resources.

liveStreams.delete

Error typeError detailDescription
forbidden (403)liveStreamDeletionNotAllowedThe specified live stream cannot be deleted because it is bound to a broadcast that has still not completed.
insufficientPermissionsinsufficientLivePermissionsThe request is not authorized to delete the specified live stream. For more information, see Implementing OAuth 2.0 authentication.
insufficientPermissionsliveStreamingNotEnabledThe user that authorized the request is not enabled to stream live video on YouTube. For more information, see Feature eligibility.
notFound (404)liveStreamNotFoundThe specified live stream doesn't exist.

liveStreams.insert

Error typeError detailDescription
insufficientPermissionsinsufficientLivePermissionsThe request is not authorized to create the specified live stream.
insufficientPermissionslivePermissionBlockedThe user that authorized the request is unable to stream live video on YouTube at this time. Details explaining why the user cannot stream live video may be available in the user's channel settings at https://www.youtube.com/features.
insufficientPermissionsliveStreamingNotEnabledThe user that authorized the request is not enabled to stream live video on YouTube. The user can find more information at https://www.youtube.com/features.
invalidValue (400)invalidDescriptionThe snippet.description property's value in the liveStream resource can have up to 10000 characters.
invalidValue (400)invalidFormatThe cdn.format property's value in the liveStream resource is invalid.
invalidValue (400)invalidFrameRateThe cdn.frameRate property's value in the liveStream resource is invalid.
invalidValue (400)invalidIngestionTypeThe cdn.ingestionType property's value in the liveStream resource is invalid.
invalidValue (400)invalidResolutionThe cdn.resolution property's value in the liveStream resource is invalid.
invalidValue (400)invalidTitleThe snippet.title property's value in the liveStream resource must be between 1 and 128 characters long.
rateLimitExceededuserRequestsExceedRateLimitThe user has sent too many requests in a given timeframe.
required (400)cdnRequiredThe liveStream resource must contain the cdn object.
required (400)frameRateRequiredThe API returns this error if you specify a value for the cdn.resolution property but not for the cdn.frameRate property.
required (400)ingestionTypeRequiredThe liveStream resource must specify a value for the cdn.ingestionType property>.
required (400)resolutionRequiredThe API returns this error if you specify a value for the cdn.frameRate property but not for the cdn.resolution property.
required (400)titleRequiredThe liveStream resource must specify a value for the snippet.title property.

liveStreams.list

Error typeError detailDescription
insufficientPermissionsinsufficientLivePermissionsThe request is not authorized to retrieve the specified live stream.
insufficientPermissionsliveStreamingNotEnabledThe user that authorized the request is not enabled to stream live video on YouTube. The user can find more information at https://www.youtube.com/features.

liveStreams.update

Error typeError detailDescription
forbidden (403)liveStreamModificationNotAllowedThe specified live stream cannot be modified in its current state. For more information, see Life of a Broadcast.
forbidden (403)liveStreamModificationNotAllowedThe API does not allow you to change the value of the cdn.format, cdn.frameRate, cdn.ingestionType, or cdn.resolution fields after the stream is created.
forbidden (403)liveStreamModificationNotAllowedThe API does not allow you to change a reusable stream to be non-reusable, or vice versa. For more information, see Understanding Broadcasts and Streams.
insufficientPermissionsinsufficientLivePermissionsThe request is not authorized to update the specified live stream. For more information, see Implementing OAuth2 authentication.
insufficientPermissionsliveStreamingNotEnabledThe user that authorized the request is not enabled to stream live video on YouTube. The user can find more information at https://www.youtube.com/features.
invalidValue (400)invalidDescriptionThe snippet.description property's value in the liveStream resource can have up to 10000 characters.
invalidValue (400)invalidTitleThe snippet.title property's value in the liveStream resource must be between 1 and 128 characters long.
notFound (404)liveStreamNotFoundThe specified live stream doesn't exist.
required (400)idRequiredThe liveStream resource must specify a value for the id property.
required (400)ingestionTypeRequiredThe liveStream resource must specify a value for the cdn.ingestionType property.
required (400)titleRequiredThe liveStream resource must specify a value for the snippet.title property.

sponsors

The following tables identify error messages that the API returns in response to calls related to sponsors resources.

sponsors.list

Error typeError detailDescription
forbidden (403)insufficientPermissionsYou do not have the necessary permissions to view the channel's sponsors.
invalidValue (400)invalidValueInRequestThe request contains an invalid value.
invalidValue (400)sponsorshipNotEnabledForChannelIdThe channel does not have sponsorships enabled.