{"record":{"id":"cfeb4742141cda69","repo":"ytdl-org/youtube-dl","slug":"s-no-songs-found-try-using-proxy","errorCode":null,"errorMessage":"%s: No songs found, try using proxy","messagePattern":"(.+?): No songs found, try using proxy","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/myspace.py","lineNumber":200,"sourceCode":"        'playlist_count': 14,\n        'skip': 'this album is only available in some countries',\n    }, {\n        'url': 'https://myspace.com/killsorrow/music/album/the-demo-18596029',\n        'info_dict': {\n            'title': 'The Demo',\n            'id': '18596029',\n        },\n        'playlist_count': 5,\n    }]\n\n    def _real_extract(self, url):\n        mobj = re.match(self._VALID_URL, url)\n        playlist_id = mobj.group('id')\n        display_id = mobj.group('title') + playlist_id\n        webpage = self._download_webpage(url, display_id)\n        tracks_paths = re.findall(r'\"music:song\" content=\"(.*?)\"', webpage)\n        if not tracks_paths:\n            raise ExtractorError(\n                '%s: No songs found, try using proxy' % display_id,\n                expected=True)\n        entries = [\n            self.url_result(t_path, ie=MySpaceIE.ie_key())\n            for t_path in tracks_paths]\n        return {\n            '_type': 'playlist',\n            'id': playlist_id,\n            'display_id': display_id,\n            'title': self._og_search_title(webpage),\n            'entries': entries,\n        }\n","sourceCodeStart":182,"sourceCodeEnd":213,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/myspace.py#L182-L213","documentation":"Raised by MySpacePlaylistIE when the playlist page HTML contains zero \"music:song\" content entries. Because MySpace serves region-dependent pages, the message explicitly suggests a proxy. It is expected=True, so it fails that playlist cleanly.","triggerScenarios":"Downloading a MySpace playlist whose webpage has no matches for the regex '\"music:song\" content=\"(.*?)\"'.","commonSituations":"Requests routed through IPs (often non-US or datacenter) for which MySpace returns an empty/alternate page; deleted playlists; extractor markup drift on older versions.","solutions":["Retry with a proxy: --proxy <us-proxy-url> as the message suggests.","Verify the playlist URL still lists tracks in a browser (it may simply be deleted or made private).","Update youtube-dl / use yt-dlp in case the page markup changed."],"exampleFix":"# before\nyoutube-dl https://myspace.com/<artist>/mixtape/...\n\n# after\nyoutube-dl --proxy http://us-proxy:8080 https://myspace.com/<artist>/mixtape/...","handlingStrategy":"retry","validationCode":"import requests\nhtml = requests.get(playlist_url, proxies=us_proxy).text\nif '\"music:song\" content=' not in html:\n    print('no tracks visible — playlist deleted or region-served')  # skip extractor","typeGuard":null,"tryCatchPattern":"except ExtractorError as e:\n    if e.expected and 'No songs found' in str(e):\n        retry(url, proxy=get_us_proxy())  # message itself suggests proxy\n    else:\n        raise","preventionTips":["Route MySpace requests through a US residential-style proxy by default.","Verify playlists in a browser before archiving; deleted ones render empty shells.","Distinguish empty-because-deleted from empty-because-region: only the latter benefits from a proxy."],"tags":["geo-restriction","playlist","proxy","extractor","expected-error"],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}