Spotify vs SoundCloud APIs
I use both Spotify and SoundCloud (music streaming services) and both have APIs which I was interested to check out.
When I think of both the first things that come to mind are that Spotify has certain features only on its desktop version (like making folders for playlists, which can then show on mobile), and Spotify does not allow adding metadata like notes, which SoundCloud does.
SoundCloud started in Berlin in 2007 as a platform for musicians to easily share and collaborate on audio files. Spotify was founded in 2006 in Sweden to built to combat music piracy.
Which got me thinking about the differences, which include:
| SoundCloud | Spotify | |
|---|---|---|
| Who uploads the music | Anyone can upload their own tracks, remixes, or podcasts. It’s an open platform for creators. | Music usually comes through labels, distributors, or aggregators. It’s more curated and official. |
| Discovery | Known for underground, indie, and emerging artists. Many famous artists started there. | Focuses more on mainstream, polished releases. Their discovery tools (like playlists, algorithms) lean toward popular music. |
| Interaction | Listeners can comment directly on tracks (even at specific time stamps), like social media for audio. | No direct interaction with artists; it’s mainly for streaming. |
| Access | Free with ads, or subscription for ad-free and offline. | Subscription-based, though Spotify has a free ad-supported version. |
| Community vibe | Feels like a grassroots platform for discovery and creativity. | Feels like a polished streaming service for everyday listening. |
| Number of Songs | Over 100 million | over 375 million tracks from more than 40 million artists |
In summary, SoundCloud is more for creators and music discovery, while Spotify is more for mainstream listening convenience.
API Differences
Getting more in to the details of the APIs:
| SoundCloud API | Spotify API | |
|---|---|---|
| Main Purpose | To allow uploading, sharing, and streaming of user-generated audio content. | To let developers integrate Spotify’s catalog, playlists, and user data into apps. |
| Acess Model | OAuth 2.0 | OAuth 2.0 for authentication. |
| Data Available | Track metadata (title, artist, waveform, comments, likes). User data (profiles, followers, following, favorites). Playlist data. You can actually stream audio through the API (if licensing allows). Historically, SoundCloud allowed embedding and streaming directly from apps. | Track, album, and artist metadata (IDs, names, popularity, audio features like tempo, danceability, etc.). Public playlists and user-created playlists (with permission). User profile data (with permission). Playback control (start/stop/skip if the user is playing Spotify on a device). You can actually stream audio through the API (if licensing allows). Historically, SoundCloud allowed embedding and streaming directly from apps. |
| Limitations | More basic metadata | No direct audio streaming via the API — you can’t just pull an MP3. You only get metadata and playback controls (the actual stream plays via Spotify’s apps or SDKs). Strict on commercial use — Spotify controls how and where you can use it. |
| Use Case | Artists can upload tracks through the API — something Spotify doesn’t allow. Building music apps that play SoundCloud tracks, social music discovery apps, or upload tools for creators. | Building apps that show “Now Playing,” analyze playlists, recommend tracks, or create music discovery apps. |
Another thing to note is that Spotify locked down a lot of endpoints with data - likely because it could be stolen and it is IP. It does mean less data for any hobby projects though!
In another post I'll use the Spotify API in a project!