diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeParsingHelper.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeParsingHelper.java index bd7b5c26b..0818df9f5 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeParsingHelper.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeParsingHelper.java @@ -830,9 +830,15 @@ public final class YoutubeParsingHelper { final String canonicalBaseUrl = browseEndpoint.getString("canonicalBaseUrl"); final String browseId = browseEndpoint.getString("browseId"); - // All channel ids are prefixed with UC - if (browseId != null && browseId.startsWith("UC")) { - return "https://www.youtube.com/channel/" + browseId; + if (browseId != null) { + if (browseId.startsWith("UC")) { + // All channel IDs are prefixed with UC + return "https://www.youtube.com/channel/" + browseId; + } else if (browseId.startsWith("VL")) { + // All playlist IDs are prefixed with VL, which needs to be removed from the + // playlist ID + return "https://www.youtube.com/playlist?list=" + browseId.substring(2); + } } if (!isNullOrEmpty(canonicalBaseUrl)) {