[GH-ISSUE #834] Unable to access playlists #515

Closed
opened 2026-02-27 23:01:13 +03:00 by kerem · 2 comments
Owner

Originally created by @The-Lazybone on GitHub (Nov 21, 2025).
Original GitHub issue: https://github.com/sigma67/ytmusicapi/issues/834

  • I confirm that I have read the FAQ

Describe the bug

ytmusicapi fails to parse playlist data for collaborative and public playlists, causing the script to crash when calling get_playlist() with the error: "Unable to find 'text' using path ['facepile', 'avatarStackViewModel', 'text', 'content']".

ytmusicapi version

1.11.1

Python version

3.13.9

To Reproduce

Steps to reproduce the behavior:

  1. Create or access a collaborative playlist on YouTube Music
  2. Use ytmusicapi to get playlist information: ytmusic.get_playlist(playlist_id)
  3. See error

Full Error Messages

Error 1: Collaborative Playlist Parsing Error

"Unable to find 'text' using path ['facepile', 'avatarStackViewModel', 'text', 'content'] on {'avatars': [{'avatarViewModel': {'image': {'sources': [{'url': 'https://yt3.ggpht.com/ytc/AIdro_lneGa8Jtbf2cV_wmjay-qz1V392NJkhUze54KPkE4tUDA=s48-c-k-c0x00000000-no-cc-rj-rp'}], 'processor': {'borderImageProcessor': {'circular': True}}}, 'avatarImageSize': 'AVATAR_SIZE_XS'}}, {'avatarViewModel': {'image': {'sources': [{'url': 'https://yt3.ggpht.com/ytc/AIdro_kq6YXb49jimZm2YludLYcB7k8cNgTm_4PC3ukkjBS36lsG88gBf4yVReewSB8_5Sc-1A=s176-c-k-c0x00ffffff-no-rj'}], 'processor': {'borderImageProcessor': {'circular': True}}}, 'avatarImageSize': 'AVATAR_SIZE_XS'}}], 'decoratedText': {'content': ' ', 'attachmentRuns': [{'startIndex': 0, 'length': 1, 'element': {'type': {'imageType': {'image': {'sources': [{'clientResource': {'imageName': 'MORE_HORIZ', 'imageColor': 4294967295}, 'width': 24, 'height': 24}]}}}, 'properties': {'layoutProperties': {'height': {'value': 24, 'unit': 'DIMENSION_UNIT_POINT'}, 'width': {'value': 24, 'unit': 'DIMENSION_UNIT_POINT'}}}}, 'alignment': 'ALIGNMENT_VERTICAL_CENTER'}]}, 'rendererContext': {'accessibilityContext': {'label': 'by Lazybone The and 1 other'}, 'commandContext': {'onTap': {'innertubeCommand': {'clickTrackingParams': 'CAgQneEIIhMI4dKG2e2CkQMV9rZWAR2GayZJygEEQaXRzw==', 'showEngagementPanelEndpoint': {'identifier': {'tag': 'PAplaylist_collaborate'}, 'globalConfiguration': {'initialState': {'engagementPanelSectionListRenderer': {'header': {'engagementPanelTitleHeaderRenderer': {'title': {'runs': [{'text': 'Collaborate'}]}, 'visibilityButton': {'buttonRenderer': {'style': 'STYLE_DEFAULT', 'isDisabled': False, 'icon': {'iconType': 'CLOSE'}, 'trackingParams': 'CAoQ8FsiEwjh0obZ7YKRAxX2tlYBHYZrJkk=', 'accessibilityData': {'accessibilityData': {'label': 'Close'}}, 'command': {'clickTrackingParams': 'CAoQ8FsiEwjh0obZ7YKRAxX2tlYBHYZrJknKAQRBpdHP', 'changeEngagementPanelVisibilityAction': {'targetId': 'PAplaylist_collaborate', 'visibility': 'ENGAGEMENT_PANEL_VISIBILITY_HIDDEN'}}}}, 'trackingParams': 'CAkQ040EIhMI4dKG2e2CkQMV9rZWAR2GayZJ'}}, 'content': {'contentLoadingRenderer': {'useSpinner': True}}, 'veType': 211189, 'targetId': 'PAplaylist_collaborate', 'identifier': {'tag': 'PAplaylist_collaborate'}}}, 'params': '0ggkCiJQTHBnM3B0aFhwM0Mtdl9TQ0tHUk1JWG1JSkg5c3ZUQUFz'}, 'engagementPanelPresentationConfigs': {'engagementPanelPopupPresentationConfig': {'popupType': 'PANEL_POPUP_DIALOG'}}}}}}}}, exception: 'text'

Error 2: General Playlist Access Error

"Unable to find 'contents' using path ['contents', 'twoColumnBrowseResultsRenderer', 'tabs', 0, 'tabRenderer', 'content', 'sectionListRenderer', 'contents', 0] on {'responseContext': {'serviceTrackingParams': [{'service': 'GFEEDBACK', 'params': [{'key': 'has_unlimited_entitlement', 'value': 'False'}, {'key': 'browse_id', 'value': 'VLPLpg3pthXp3C9-GA942mYCjhpU-AIxFH9a'}, {'key': 'browse_id_prefix', 'value': ''}, {'key': 'logged_in', 'value': '1'}]}, {'service': 'CSI', 'params': [{'key': 'c', 'value': 'WEB_REMIX'}, {'key': 'cver', 'value': '1.20251121.01.00'}, {'key': 'yt_li', 'value': '1'}, {'key': 'GetBrowsePlaylistDetailPage_rid', 'value': '0xa88f9be7faca29a6'}]}, {'service': 'ECATCHER', 'params': [{'key': 'client.version', 'value': '1.20000101'}, {'key': 'client.name', 'value': 'WEB_REMIX'}]}]}, 'trackingParams': 'CAAQhGciEwjE1Z6u74KRAxXXtlYBHWWbDhY=', 'microformat': {'microformatDataRenderer': {'noindex': True}}}, exception: 'contents'

Additional context

The issue appears to be related to how YouTube Music structures collaborative playlist data. The response includes a facepile section with avatar information, but the text field under facepile -> avatarStackViewModel -> text -> content is missing, causing the parsing to fail.

This suggests that YouTube Music has updated their API structure for collaborative playlists, and the ytmusicapi library needs to be updated to handle this new structure or provide fallback parsing for when the expected field is not present.

Error occurs with:

  • Collaborative playlists
  • Public playlists with multiple contributors
Originally created by @The-Lazybone on GitHub (Nov 21, 2025). Original GitHub issue: https://github.com/sigma67/ytmusicapi/issues/834 - [x] I confirm that I have read the [FAQ](https://ytmusicapi.readthedocs.io/en/stable/faq.html#why-is-ytmusicapi-returning-more-results-than-requested-with-the-limit-parameter) ## Describe the bug ytmusicapi fails to parse playlist data for collaborative and public playlists, causing the script to crash when calling `get_playlist()` with the error: `"Unable to find 'text' using path ['facepile', 'avatarStackViewModel', 'text', 'content']"`. ## ytmusicapi version 1.11.1 ## Python version 3.13.9 ## To Reproduce Steps to reproduce the behavior: 1. Create or access a collaborative playlist on YouTube Music 2. Use ytmusicapi to get playlist information: `ytmusic.get_playlist(playlist_id)` 3. See error ## Full Error Messages **Error 1: Collaborative Playlist Parsing Error** ``` "Unable to find 'text' using path ['facepile', 'avatarStackViewModel', 'text', 'content'] on {'avatars': [{'avatarViewModel': {'image': {'sources': [{'url': 'https://yt3.ggpht.com/ytc/AIdro_lneGa8Jtbf2cV_wmjay-qz1V392NJkhUze54KPkE4tUDA=s48-c-k-c0x00000000-no-cc-rj-rp'}], 'processor': {'borderImageProcessor': {'circular': True}}}, 'avatarImageSize': 'AVATAR_SIZE_XS'}}, {'avatarViewModel': {'image': {'sources': [{'url': 'https://yt3.ggpht.com/ytc/AIdro_kq6YXb49jimZm2YludLYcB7k8cNgTm_4PC3ukkjBS36lsG88gBf4yVReewSB8_5Sc-1A=s176-c-k-c0x00ffffff-no-rj'}], 'processor': {'borderImageProcessor': {'circular': True}}}, 'avatarImageSize': 'AVATAR_SIZE_XS'}}], 'decoratedText': {'content': ' ', 'attachmentRuns': [{'startIndex': 0, 'length': 1, 'element': {'type': {'imageType': {'image': {'sources': [{'clientResource': {'imageName': 'MORE_HORIZ', 'imageColor': 4294967295}, 'width': 24, 'height': 24}]}}}, 'properties': {'layoutProperties': {'height': {'value': 24, 'unit': 'DIMENSION_UNIT_POINT'}, 'width': {'value': 24, 'unit': 'DIMENSION_UNIT_POINT'}}}}, 'alignment': 'ALIGNMENT_VERTICAL_CENTER'}]}, 'rendererContext': {'accessibilityContext': {'label': 'by Lazybone The and 1 other'}, 'commandContext': {'onTap': {'innertubeCommand': {'clickTrackingParams': 'CAgQneEIIhMI4dKG2e2CkQMV9rZWAR2GayZJygEEQaXRzw==', 'showEngagementPanelEndpoint': {'identifier': {'tag': 'PAplaylist_collaborate'}, 'globalConfiguration': {'initialState': {'engagementPanelSectionListRenderer': {'header': {'engagementPanelTitleHeaderRenderer': {'title': {'runs': [{'text': 'Collaborate'}]}, 'visibilityButton': {'buttonRenderer': {'style': 'STYLE_DEFAULT', 'isDisabled': False, 'icon': {'iconType': 'CLOSE'}, 'trackingParams': 'CAoQ8FsiEwjh0obZ7YKRAxX2tlYBHYZrJkk=', 'accessibilityData': {'accessibilityData': {'label': 'Close'}}, 'command': {'clickTrackingParams': 'CAoQ8FsiEwjh0obZ7YKRAxX2tlYBHYZrJknKAQRBpdHP', 'changeEngagementPanelVisibilityAction': {'targetId': 'PAplaylist_collaborate', 'visibility': 'ENGAGEMENT_PANEL_VISIBILITY_HIDDEN'}}}}, 'trackingParams': 'CAkQ040EIhMI4dKG2e2CkQMV9rZWAR2GayZJ'}}, 'content': {'contentLoadingRenderer': {'useSpinner': True}}, 'veType': 211189, 'targetId': 'PAplaylist_collaborate', 'identifier': {'tag': 'PAplaylist_collaborate'}}}, 'params': '0ggkCiJQTHBnM3B0aFhwM0Mtdl9TQ0tHUk1JWG1JSkg5c3ZUQUFz'}, 'engagementPanelPresentationConfigs': {'engagementPanelPopupPresentationConfig': {'popupType': 'PANEL_POPUP_DIALOG'}}}}}}}}, exception: 'text' ``` **Error 2: General Playlist Access Error** ``` "Unable to find 'contents' using path ['contents', 'twoColumnBrowseResultsRenderer', 'tabs', 0, 'tabRenderer', 'content', 'sectionListRenderer', 'contents', 0] on {'responseContext': {'serviceTrackingParams': [{'service': 'GFEEDBACK', 'params': [{'key': 'has_unlimited_entitlement', 'value': 'False'}, {'key': 'browse_id', 'value': 'VLPLpg3pthXp3C9-GA942mYCjhpU-AIxFH9a'}, {'key': 'browse_id_prefix', 'value': ''}, {'key': 'logged_in', 'value': '1'}]}, {'service': 'CSI', 'params': [{'key': 'c', 'value': 'WEB_REMIX'}, {'key': 'cver', 'value': '1.20251121.01.00'}, {'key': 'yt_li', 'value': '1'}, {'key': 'GetBrowsePlaylistDetailPage_rid', 'value': '0xa88f9be7faca29a6'}]}, {'service': 'ECATCHER', 'params': [{'key': 'client.version', 'value': '1.20000101'}, {'key': 'client.name', 'value': 'WEB_REMIX'}]}]}, 'trackingParams': 'CAAQhGciEwjE1Z6u74KRAxXXtlYBHWWbDhY=', 'microformat': {'microformatDataRenderer': {'noindex': True}}}, exception: 'contents' ``` ## Additional context The issue appears to be related to how YouTube Music structures collaborative playlist data. The response includes a `facepile` section with avatar information, but the `text` field under `facepile -> avatarStackViewModel -> text -> content` is missing, causing the parsing to fail. This suggests that YouTube Music has updated their API structure for collaborative playlists, and the ytmusicapi library needs to be updated to handle this new structure or provide fallback parsing for when the expected field is not present. **Error occurs with:** - Collaborative playlists - Public playlists with multiple contributors
kerem closed this issue 2026-02-27 23:01:13 +03:00
Author
Owner

@czifumasa commented on GitHub (Nov 21, 2025):

Looks like duplicate of already fixed problem, that has not been released yet: https://github.com/sigma67/ytmusicapi/issues/820

@sigma67 When can we expect a new release?

<!-- gh-comment-id:3562734376 --> @czifumasa commented on GitHub (Nov 21, 2025): Looks like duplicate of already fixed problem, that has not been released yet: https://github.com/sigma67/ytmusicapi/issues/820 @sigma67 When can we expect a new release?
Author
Owner

@sigma67 commented on GitHub (Nov 24, 2025):

1.11.2 created, thanks for the ping

<!-- gh-comment-id:3572729702 --> @sigma67 commented on GitHub (Nov 24, 2025): 1.11.2 created, thanks for the ping
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ytmusicapi#515
No description provided.