Overview
With SoundCloud API you can build applications that will give more power to control your content
SoundCloud is a music API from soundcloud.com. Requests are authenticated with OAuth. It is served over HTTPS. Its OpenAPI description documents 59 endpoints.
At a glance
- Authentication
- OAuth
- HTTPS
- Yes
- CORS
- Unknown
- Category
- Music
- Base URL
https://api.soundcloud.com- Version
- 1.0.0
- Endpoints
- 59
- OpenAPI
- Specification ↗
- Spec updated
- 2021-06-21
Make a first request
Replace the placeholders; the documentation says exactly where credentials go.
curl -X GET "https://api.soundcloud.com/connect" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("https://api.soundcloud.com/connect", {
method: "GET",
headers: {
"Accept": "application/json",
"Authorization": "Bearer YOUR_TOKEN",
},
});
const data = await response.json();
console.log(data);import requests
response = requests.request(
"GET",
"https://api.soundcloud.com/connect",
headers={
"Accept": "application/json",
"Authorization": "Bearer YOUR_TOKEN",
},
timeout=30,
)
print(response.json())Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /connect | The OAuth2 authorization endpoint. Your app redirects a user to this endpoint, allowing them to delegate access to their account. |
| POST | /likes/playlists/{playlist_id} | Likes a playlist. |
| DELETE | /likes/playlists/{playlist_id} | Unlikes a playlist. |
| POST | /likes/tracks/{track_id} | Likes a track. |
| DELETE | /likes/tracks/{track_id} | Unlikes a track. |
| GET | /me | Returns the authenticated user’s information. |
| GET | /me/activities | Returns the authenticated user's activities. |
| GET | /me/activities/all/own | Recent the authenticated user's activities. |
| GET | /me/activities/tracks | Returns the authenticated user's recent track related activities. |
| GET | /me/connections | Returns a list of the authenticated user's connected social accounts. |
| GET | /me/connections/{connection_id} | Returns the authenticated user's connected social account. |
| GET | /me/favorites/idsdeprecated | Returns user’s favorites ids. (use /me/likes/tracks instead to fetch the authenticated user's likes) |
| GET | /me/followers | Returns a list of users who are following the authenticated user. |
| GET | /me/followers/{follower_id}deprecated | Returns a user who is following the authenticated user. (use /users/{user_id} instead, to fetch the user details) |
| GET | /me/followings | Returns a list of users who are followed by the authenticated user. |
| GET | /me/followings/tracks | Returns a list of recent tracks from users followed by the authenticated user. |
| GET | /me/followings/{user_id}deprecated | Returns a user who is followed by the authenticated user. (use /users/{user_id} instead, to fetch the user details) |
| PUT | /me/followings/{user_id} | Follows a user. |
| DELETE | /me/followings/{user_id} | Deletes a user who is followed by the authenticated user. |
| GET | /me/likes/tracks | Returns a list of favorited or liked tracks of the authenticated user. |
| GET | /me/playlists | Returns user’s playlists (sets). |
| GET | /me/playlists/{playlist_id}deprecated | Returns playlist. (use /playlists/{playlist_id} instead, to fetch the playlist details) |
| GET | /me/tracks | Returns a list of user's tracks. |
| GET | /me/tracks/{track_id}deprecated | Returns a specified track. (use /tracks/{track_id} instead, to fetch the track details) |
| POST | /oauth2/token | This endpoint accepts POST requests and is used to provision access tokens once a user has authorized your application. |
| GET | /playlists | Performs a playlist search based on a query |
| POST | /playlists | Creates a playlist. |
| GET | /playlists/{playlist_id} | Returns a playlist. |
| PUT | /playlists/{playlist_id} | Updates a playlist. |
| DELETE | /playlists/{playlist_id} | Deletes a playlist. |
| GET | /playlists/{playlist_id}/reposters | Returns a collection of playlist's reposters. |
| GET | /playlists/{playlist_id}/tracks | Returns tracks under a playlist. |
| POST | /reposts/playlists/{playlist_id} | Reposts a playlist as the authenticated user |
| DELETE | /reposts/playlists/{playlist_id} | Removes a repost on a playlist as the authenticated user |
| POST | /reposts/tracks/{track_id} | Reposts a track as the authenticated user |
| DELETE | /reposts/tracks/{track_id} | Removes a repost on a track as the authenticated user |
| GET | /resolve | Resolves soundcloud.com URLs to Resource URLs to use with the API. |
| GET | /tracks | Performs a track search based on a query |
| POST | /tracks | Uploads a new track. |
| GET | /tracks/{track_id} | Returns a track. |
| PUT | /tracks/{track_id} | Updates a track's information. |
| DELETE | /tracks/{track_id} | Deletes a track. |
| GET | /tracks/{track_id}/comments | Returns the comments posted on the track(track_id). |
| POST | /tracks/{track_id}/comments | Returns the newly created comment on success |
| GET | /tracks/{track_id}/favoriters | Returns a list of users who have favorited or liked the track. |
| GET | /tracks/{track_id}/related | Returns all related tracks of track on SoundCloud. |
| GET | /tracks/{track_id}/reposters | Returns a collection of track's reposters. |
| GET | /tracks/{track_id}/streams | Returns a track's streamable URLs |
| GET | /users | Performs a user search based on a query |
| GET | /users/{user_id} | Returns a user. |
| GET | /users/{user_id}/comments | Returns a list of user's comments. |
| GET | /users/{user_id}/favoritesdeprecated | Returns a list of user's favorited or liked tracks. (use /users/:userId/likes/tracks instead, to fetch a user's likes) |
| GET | /users/{user_id}/followers | Returns a list of user’s followers. |
| GET | /users/{user_id}/followings | Returns a list of user’s followings. |
| GET | /users/{user_id}/followings/{following_id}deprecated | Returns a user's following. (use /users/{user_id} instead, to fetch the user details) |
| GET | /users/{user_id}/likes/tracks | Returns a list of user's liked tracks. |
| GET | /users/{user_id}/playlists | Returns a list of user's playlists. |
| GET | /users/{user_id}/tracks | Returns a list of user's tracks. |
| GET | /users/{user_id}/web-profiles | Returns list of user's links added to their profile (website, facebook, instagram). |
Questions
Does the SoundCloud API need an API key?
Yes. The SoundCloud API uses OAuth authentication; the documentation explains how to get credentials.
Does the SoundCloud API support HTTPS?
Yes, the SoundCloud API is served over HTTPS.
How many endpoints does the SoundCloud API have?
Its OpenAPI description lists 59 endpoints in version 1.0.0. All of them are shown on this page.
What are alternatives to the SoundCloud API?
Other Music APIs include Spotify, Bandcamp, iTunes, Songlink / Odesli, LastFm.
Similar music APIs
Compare alternatives →Spotify
MusicView Spotify music catalog, manage users' libraries, get recommendations and more
Bandcamp
MusicAPI of Music store Bandcamp
iTunes
MusicApple Podcasts Directory
Songlink / Odesli
MusicGet all the services on which a song is available
LastFm
MusicThe world's largest online music service. Listen online, find out more about your favourite artists, and get music recommendations, only at Last.fm
Mixcloud
MusicAll the documentation, examples and tips you need to develop on the Mixcloud API
Listed from public-apis (MIT), public-apis database (MIT), APIs.guru (CC0).