youtube-dl: [SoundCloud] HTTP Error 403: Forbidden

[soundcloud] None: Downloading webpage ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by <HTTPError 403: ‘Forbidden’>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output. Unclosed tags: <u> (x1)

$ youtube-dl --verbose https://on.soundcloud.com/T3eq3dhesd3RYeXp7
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://on.soundcloud.com/T3eq3dhesd3RYeXp7']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python 3.10.6 (CPython x86_64 64bit) - Linux-5.15.0-76-generic-x86_64-with-glibc2.35 - OpenSSL 3.0.2 15 Mar 2022 - glibc 2.35
[debug] exe versions: ffmpeg 4.4.2, ffprobe 4.4.2, rtmpdump 2.4
[debug] Proxy map: {}
[generic] T3eq3dhesd3RYeXp7: Requesting header
WARNING: Could not send HEAD request to https://on.soundcloud.com/T3eq3dhesd3RYeXp7: HTTP Error 403: Forbidden
[generic] T3eq3dhesd3RYeXp7: Downloading webpage
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by <HTTPError 403: 'Forbidden'>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
File "/home/sound/.local/lib/python3.10/site-packages/youtube_dl/extractor/common.py", line 635, in _request_webpage
return self._downloader.urlopen(url_or_request)
File "/home/sound/.local/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 2356, in urlopen
return self._opener.open(req, timeout=self._socket_timeout)
File "/usr/lib/python3.10/urllib/request.py", line 525, in open
response = meth(req, response)
File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
response = self.parent.error(
File "/usr/lib/python3.10/urllib/request.py", line 557, in error
result = self._call_chain(*args)
File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
result = func(*args)
File "/usr/lib/python3.10/urllib/request.py", line 749, in http_error_302
return self.parent.open(new, timeout=req.timeout)
File "/usr/lib/python3.10/urllib/request.py", line 525, in open
response = meth(req, response)
File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
response = self.parent.error(
File "/usr/lib/python3.10/urllib/request.py", line 563, in error
return self._call_chain(*args)
File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
result = func(*args)
File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 16 (8 by maintainers)

Most upvoted comments

Solution I found, replace my youtube-dl bin by yt-dlp bin

yt-dlp may send some extra headers (Sec-Fetch-Mode: navigate, eg). One could add such headers manually in yt-dl if that makes a difference.