{"record":{"id":"c0b2d9d7c0f99b54","repo":"ytdl-org/youtube-dl","slug":"found-song-but-don-t-know-how-to-download-it","errorCode":null,"errorMessage":"Found song but don't know how to download it","messagePattern":"Found song but don't know how to download it","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/myspace.py","lineNumber":138,"sourceCode":"\n            def search_data(name):\n                return self._search_regex(\n                    r'''data-%s=([\\'\"])(?P<data>.*?)\\1''' % name,\n                    song_data, name, default='', group='data')\n            formats = formats_from_stream_urls(\n                search_data('stream-url'), search_data('hls-stream-url'),\n                search_data('http-stream-url'))\n            if not formats:\n                vevo_id = search_data('vevo-id')\n                youtube_id = search_data('youtube-id')\n                if vevo_id:\n                    self.to_screen('Vevo video detected: %s' % vevo_id)\n                    return self.url_result('vevo:%s' % vevo_id, ie='Vevo')\n                elif youtube_id:\n                    self.to_screen('Youtube video detected: %s' % youtube_id)\n                    return self.url_result(youtube_id, ie='Youtube')\n                else:\n                    raise ExtractorError(\n                        'Found song but don\\'t know how to download it')\n            self._sort_formats(formats)\n            return {\n                'id': video_id,\n                'title': self._og_search_title(webpage),\n                'uploader': search_data('artist-name'),\n                'uploader_id': search_data('artist-username'),\n                'thumbnail': self._og_search_thumbnail(webpage),\n                'duration': int_or_none(search_data('duration')),\n                'formats': formats,\n            }\n        else:\n            video = self._parse_json(self._search_regex(\n                r'context = ({.*?});', webpage, 'context'),\n                video_id)['video']\n            formats = formats_from_stream_urls(\n                video.get('streamUrl'), video.get('hlsStreamUrl'),\n                video.get('mp4StreamUrl'), int_or_none(video.get('width')),","sourceCodeStart":120,"sourceCodeEnd":156,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/myspace.py#L120-L156","documentation":"Raised by MySpaceIE when the page identifies a song (the media branch matched) but none of the stream URL fields ('stream-url', 'hls-stream-url', 'http-stream-url'), 'vevo-id', or 'youtube-id' are present in the page's data. The extractor knows there is media but has no route to it. It is not marked expected, so it reads as an extraction bug.","triggerScenarios":"A MySpace music page where search_data() returns nothing for every stream URL key and both vevo-id and youtube-id fallbacks are absent.","commonSituations":"MySpace page markup/API changes after the extractor's last update; tracks only playable via authenticated sessions; deleted or region-limited tracks whose page shell still renders.","solutions":["Update youtube-dl, preferably switch to yt-dlp, for current MySpace parsing.","Check the track page in a browser while logged in — session-only playback cannot be downloaded anonymously.","If the song mirrors on Vevo/YouTube, search and download from there directly."],"exampleFix":"pip install -U yt-dlp","handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"except ExtractorError as e:\n    if \"don't know how to download it\" in str(e):\n        try_alternative_source(track_name)  # e.g. search YouTube/Vevo mirrors\n    else:\n        raise","preventionTips":["Check the track page exposes a playable stream for anonymous visitors before batching.","Update yt-dlp regularly — MySpace markup drift breaks these field lookups.","Build fallbacks: many MySpace tracks mirror on YouTube/Vevo."],"tags":["extractor","api-change","audio","unexpected-error"],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}