-
Notifications
You must be signed in to change notification settings - Fork 46
Description
Undocumented API behaviour when fetching tracks
Issue found of: Circa 2016
Endpoint(s):
GET /users/{id}/tracksGET /tracks/{id}
Scope(s):
- None (application is not using authentication i.e., implicit flow)
Expected behaviour:
A list of tracks as described at https://developers.soundcloud.com/docs/api/reference#users.
Undocumented API behaviour when fetching tracks
Collections
Sending a Postman query using the API URL and the SoundCloud Client ID:
(NOTE: The v2 of the endpoint is required in this case, or a 403 will be returned)
This returns many tracks in the collection.
Using our own Client ID:
This returns significantly less tracks in the collection.
Individual Track
If we take the example of a specific track which is returned in the first collection, and not the second:
https://api.soundcloud.com/tracks/908781892?representation=&client_id=XXXX
We receive a 404 response, with the following JSON body
{
"errors": [
{
"error_message": "404 - Not Found"
}
]
}
A best guess would imply there is some sort of API block on this user or a subset of their tracks. However, a reason for this is never reflected to the consumers of the API. This is rumoured in StackOverflow threads such as these: https://stackoverflow.com/questions/36360202/soundcloud-api-urls-timing-out-and-then-returning-error-403-on-about-50-of-trac#
It would be great to understand exactly what can lead to this behaviour - whether due to settings known/controllable by the user, or settings that are applied but hidden from the user and they are not aware of e.g. imposed due to licensing restrictions (our best guess) or otherwise
Thanks!