Soundcloud results in 403 error #11598

Rafa652 opened this Issue Jan 4, 2017 · 6 comments


None yet

4 participants

Rafa652 commented Jan 4, 2017 edited

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.01.02. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

  • I've verified and I assure that I'm running youtube-dl 2017.01.02

Before submitting an issue make sure you have:

  • At least skimmed through README and most notably FAQ and BUGS sections
  • Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

  • Bug report (encountered problems with youtube-dl)
  • Site support request (request for adding support for a new site)
  • Feature request (request for a new functionality)
  • Question
  • Other

Verbose output:

$ youtube-dl -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.01.02
[debug] Python version 2.7.9 - Linux-4.5.2-armada375-armv7l-with-Debian-8
[debug] exe versions: ffmpeg 2.8.9, ffprobe 2.8.9
[debug] Proxy map: {}
[soundcloud] efkv/hair: Resolving id
[soundcloud] efkv/hair: Downloading info JSON
ERROR: Unable to download JSON metadata: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "/home/rafa/bin/youtube-dl/youtube_dl/extractor/", line 406, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/home/rafa/bin/youtube-dl/youtube_dl/", line 2001, in urlopen
    return, timeout=self._socket_timeout)
  File "/usr/lib/python2.7/", line 437, in open
    response = meth(req, response)
  File "/usr/lib/python2.7/", line 550, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/", line 475, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.7/", line 409, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/", line 558, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
SwadicalRag commented Jan 4, 2017 edited

I'm having the same issue, +1

*EDIT: * replacing my local binary with an installation from pip seems to have fixed this


yan12125 commented Jan 4, 2017

@Rafa652 Could you paste the output of:

curl -v ""
Rafa652 commented Jan 4, 2017

Sure thing. This is what I got:

* Hostname was NOT found in DNS cache
*   Trying
* Connected to ( port 80 (#0)
> GET /resolve.json?url= HTTP/1.1
> User-Agent: curl/7.38.0
> Host:
> Accept: */*
< HTTP/1.1 403 Forbidden
< Content-Type: */*
< Date: Wed, 04 Jan 2017 22:55:46 GMT
* Server ECS (lhr/47F2) is not blacklisted
< Server: ECS (lhr/47F2)
< Content-Length: 345
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<html xmlns="" xml:lang="en" lang="en">
                <title>403 - Forbidden</title>
                <h1>403 - Forbidden</h1>
* Connection #0 to host left intact
yan12125 commented Jan 5, 2017

Seems soundcloud no longer uses resolve.json

@yan12125 yan12125 added the bug label Jan 5, 2017
Berndwl commented Jan 9, 2017

Does this happen on your home network or on a vps / etc?
Soundcloud seems to blacklist ISPs linked to VPS providers ( atleast this happened to me with an OVH vps

resolve.json is still a valid call to the soundcloud api

Rafa652 commented Jan 12, 2017

@Berndwl I hadn't even thought of trying that. It looks like that's the problem. I was trying it on servers hosted by OVH and Linode, but just now when I used it on my machine it worked just fine.
I suppose there's not much that can be done about it. Thanks though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment