Sending http requests to the /tracks/{id}
endpoint from any of our AWS boxes, both inside of different VPCs or from EC2 Classic return 403
status codes, however the same http requests sent from local machines return 200
requested data. This happens both using python's requests library and curl.
edit:
Tested using Google Compute Engine and Digital Ocean and both display same bad behaviour.
using ?ids
url parameter I am able curl /tracks?ids=[bad_id]
i.e.
doesn't work: curl https://api.soundcloud.com/tracks/182343690?client_id=XXX
works: curl https://api.soundcloud.com/tracks/?client_id=XXX&ids=182343690
note: Neither work inside requests
The following does however work
import subprocess
subprocess.Popen("curl https://api.soundcloud.com/tracks/?client_id=XXX&ids=182343690", shell=True, stdout=subprocess.PIPE).stdout.read()