I have an MP3 player that I want to put music from spotify on. What is the best free way to do this? I've tried Sidify but you can only get 3 mins of each song and it converts into M4A format. Thanks, Ceri
There is no legal way to do this.
There used to be lots of ways. The Spotify internal API uses a websocket to deliver an ogg vorbis stream to the client. Their APIs used to allow you to intercept the raw, uncompressed, interleaved PCM data at CD quality right before it played. It was possible to use this along with libmp3lame to produce good quality mp3s.
But this leak was thoroughly plugged. So much so that I cannot even find the old documentation to show you the methods that were once available. Around 2015 they deprecated a very fun SDK called libspotify (which still worked until about 2018), and the derivative CocoaLibSpotify. For a long time, the ability to intercept the raw PCM data lived on in their mobile SDKs (because it was so cumbersome to abuse).
But, to be clear, doing what you are asking was always against the terms and conditions of all these products. I don't think anyone's going to take the legal risk of providing you with a satisfactory solution on this very public forum, even if they have one.
XSpotify can do that, it's also open source. If you have a Spotify Premium account, it can download your music in 320 Kbps (160 Kbps in Free account).
I've tried it recently. It extracted the music but the file was corrupt so it did not play for me. And the output format is OGG because that's what Spotify uses.
Another option is a commercial program called Sidify.
I used it many times and it works really well but you need to purchase Pro version to record Spotify music.