Soundcloud Local - SETUP
in the main page, click on the green code button then download zip. then unzip the folder anywhere you want to keep the program.
- download and install node from the node website
https://nodejs.org/en/download/package-manager- to test node is setup correctly run the following command in a terminal
node --version npm --version- you should see a version number for node and for npm
- if it does not work your installation was unsuccessful or node and/or npm have not been added to your path
- run the script to install the node dependances
- WINDOWS: run
setup_dependancies.bat - MACOS: run
setup_dependancies.sh
- WINDOWS: run
- create a copy of
sc_config_template.jsin theSoundcloud-Localfolder and rename it tosc_config.js - open
sc_config.jsin your preferred text editor - open chrome
- visit soundcloud.com (login if you aren't already)
- open chrome's
devtoolsby pressingF12or right-click in chrome and clickinspect - go to the
networktab in devtools - go to the feed page
- enable Filter in network tab by clicking the funnel icon (between the stop and magnifying glass icons) an extra row with a small filter icon and input box with Filter written in it should appear
- in the filter input box, enter the following
stream? - now there should only be one network request in the list. click on that request, it will show the details of the request in a sub-window to the right
- click on the
Headerstab in the request details sub-window - Scroll all the way down, you should see a sub-section called
Request Headers - under
Request Headers, findAuthorization, its value should look likeOAuth 2-123456-123456789-abcdefghijklmn - copy the value of
AuthorizationWITHOUT THEOAuthPART2-123456-123456789-abcdefghijklmn - in
sc_config.jsthat you opened earlier, paste theAuthorizationvalue without OAuth or any spaces intooauth_token - back in the network tab, click on the
Payloadtab in the request details sub-window - find
client_idand copy the value - in
sc_config.js, paste theclient_idvalue without any spaces intoclient_id - back in the network tab, find
user_urnit should look likesoundcloud:users:123456789 - copy the numbers of
user_urnWITHOUT THEsoundcloud:users:123456789 - in
sc_config.js, paste theuser_urnnumbers without any spaces intouser_id - go to your profile page
- back in the filter input box, replace
stream?with the followingtracks? - you might have multiple results, click on one that has a symbol next to it that looks like
{;}, another way to check you selected the right one is in selected requests' subwindow on the right, under theGeneralsection, the second entryRequest Methodshould beGET(if you seeOPTIONSthen select a different request) - Scroll all the way down, you should see a sub-section called
Request Headers - under
Request Headers, findx-datadome-clientid, its value should look likeAKJSDHalkjdnsaKLJASBDKLJBJaslkjbdLKJBJDSlkjbsakljbjdaLKJBJ - copy the value of
x-datadome-clientid - in
sc_config.js, paste thex-datadome-clientidvalue without any spaces intodatadome_clientid - back in the network tab, find
User-Agent, its value should look likeMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 - copy the value of
User-Agent - in
sc_config.js, paste theUser-Agentvalue without any spaces intouser_agent - your
sc_config.jsshould now look likeconst oauth_token = "2-123456-123456789-abcdefghijklmn"; const client_id = "JKSHDFKljhfkjlshfalhfalhfalkdfhs"; const user_id = "123456789"; const datadome_clientid = "AKJSDHalkjdnsaKLJASBDKLJBJaslkjbdLKJBJDSlkjbsakljbjdaLKJBJ"; const user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36" if (typeof module !== "undefined" && module.exports) { module.exports = { oauth_token, client_id, user_id, datadome_clientid, user_agent }; } - save and close
sc_config.jsand chrome