Docs incorrect or hard to follow?

Tweet me

so I can make things better! 😊

Soundcloud Wrapper

Tracks

API for interacting with the tracks API endpoint.

Posting tracks not yet supported.

Example

Tweak example to fit your tech stack and use case.
tracks-controller.ts
import SoundCloud from "soundcloud-wrapper"
 
const sc = new SoundCloud(
  process.env.CLIENT_ID,
  process.env.CLIENT_SECRET,
  process.env.REDIRECT_URI
  process.env.PKCE_CODE_VERIFIER
)
 
// get auth token stored in db
// check the auth flow guide if you need to generate a token
const token = await Token.find({userId: 123456789})
const trackId = 987654321
 
const track = await sc.tracks.getTrack(token, trackId)
return res.status(200).json(track)

getTrack

Returns data about the provided track.

tracks-controller.ts
// method: GET
const tracks = await sc.tracks.getTrack(token, trackId)
PropTypeDefault
token
string
-
trackId
number
-

getTrackStreams

Returns streams of the provided track.

tracks-controller.ts
// method: GET
const tracks = await sc.tracks.getTrackStreams(token, trackId)
PropTypeDefault
token
string
-
trackId
number
-

getTrackComments

Returns comments on the provided track.

tracks-controller.ts
// method: GET
const tracks = await sc.tracks.getTrackComments(token, trackId)
PropTypeDefault
token
string
-
trackId
number
-

getTrackLikers

Returns users who have liked the provided track.

tracks-controller.ts
// method: GET
const tracks = await sc.tracks.getTrackLikers(token, trackId)
PropTypeDefault
token
string
-
trackId
number
-

getTrackReposters

Returns users who have reposted the provided track.

tracks-controller.ts
// method: GET
const tracks = await sc.tracks.getTrackReposters(token, trackId)
PropTypeDefault
token
string
-
trackId
number
-

getRelatedTracks

Returns tracks related to the provided track.

tracks-controller.ts
// method: GET
const tracks = await sc.tracks.getRelatedTracks(token, trackId)
PropTypeDefault
token
string
-
trackId
number
-

addComment

Posts a comment to the provided track.

tracks-controller.ts
// method: POST
const tracks = await sc.tracks.addComment(token, commentData)
PropTypeDefault
token
string
-
commentData
object
-
commentData.comment
object
-
commentData.comment.body
string
-
commentData.comment.timestamp
number
-

updateTrack

Updates the details of the provided track.

tracks-controller.ts
// method: PUT
const tracks = await sc.tracks.updateTrack(token, trackId, trackData)
PropTypeDefault
token
string
-
trackData
object
-
trackData.track
object
-
trackData.track.title
string
-
trackData.track.permalink
string
-
trackData.track.sharing
string
-
trackData.track.embeddable_by
string
-
trackData.track.purchase_url
string
-
trackData.track.description
string
-
trackData.track.genre
string
-
trackData.track.tag_list
string
-
trackData.track.label_name
string
-
trackData.track.release
string
-
trackData.track.release_date
string
-
trackData.track.streamable
boolean
-
trackData.track.downloadable
boolean
-
trackData.track.license
string
-
trackData.track.commentable
boolean
-
trackData.track.isrc
string
-

deleteTrack

Deletes a the provided track from authenticated users profile.

tracks-controller.ts
// method: DELETE
const tracks = await sc.tracks.deleteTrack(token, trackId)
PropTypeDefault
token
string
-
trackId
number
-

More Info

For more info on endpoints see the official Soundcloud API docs.

On this page