SoundCloud API endpoint
Returns one playlist or album's metadata plus its full track list: owner, likes/reposts counts, and every track's title, artwork, and playback/likes counts. Public data sourced from SoundCloud's own JSON API.
/soundcloud/playlistQuery parameters:
url (required) — a full soundcloud.com playlist/album URL (a
playlist's permalink_url, e.g.
https://soundcloud.com/artist/sets/set-name).Notable response behavior:
tracks is the playlist's complete track list as SoundCloud itself
returns it, in playlist order — large playlists can return hundreds of
tracks in one response.is_album distinguishes a formal album/EP release from a regular
user-curated playlist.url is resolved server-side against SoundCloud's own resolve
endpoint — it must be a playlist/album URL. A URL that resolves to a
different entity type (e.g. a single track) returns 400.404. A missing url returns 400 before
any upstream request is made.| Field | Filled in, of 416 checked | Values in the sample |
|---|---|---|
| id | 416 | |
| title | 5 | |
| permalink_url | 5 | soundcloud.com |
| artwork_url | 4 | i1.sndcdn.com |
| description | 3 | |
| tag_list | 3 | |
| duration_ms | 5 | 101,009 to 188,990, median 125,852 |
| playback_count | 416 | 0 |
| likes_count | 416 | 0 |
| comment_count | 416 | 0 |
| reposts_count | 416 | 0 |
| created_at | 5 | 2015-08-29 to 2022-09-18 |
| public | 416 | true in 5 of 416 |
| streamable | 416 | true in 5 of 416 |
| uploader | 416 | |
| genre | 2 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| url | string | Yes | Full soundcloud.com playlist/album URL (a playlist's permalink_url) | https://soundcloud.com/lofi_chill/sets/lofi-chill | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/soundcloud/playlist?url=https%3A%2F%2Fsoundcloud.com%2Flofi_chill%2Fsets%2Flofi-chill" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": 123456789,
"title": "Lofi Chill",
"permalink_url": "https://soundcloud.com/lofi_chill/sets/lofi-chill",
"track_count": 416,
"likes_count": 1024,
"public": true,
"owner": {
"id": 987654321,
"username": "lofi_chill",
"permalink_url": "https://soundcloud.com/lofi_chill",
"followers_count": 50000
},
"tracks": [
{
"id": 1004445667,
"title": "My Love",
"permalink_url": "https://soundcloud.com/david_sanya/my-love",
"playback_count": 12000,
"uploader": {
"id": 171315858,
"username": "David Sanya",
"permalink_url": "https://soundcloud.com/david_sanya"
}
}
]
}
}Request schema
No body schema
Response schema
#/definitions/soundcloud.playlistResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | soundcloud.Playlist | No | ||||
| data.artwork_url | string | No | ||||
| data.created_at | string | No | ||||
| data.description | string | No | ||||
| data.genre | string | No | ||||
| data.id | integer | No | ||||
| data.is_album | boolean | No | ||||
| data.likes_count | integer | No | 1024 | |||
| data.owner | soundcloud.Uploader | No | Uploader record, 9 fields: avatar_url, city, followers_count, id, permalink, permalink_url, track_count, username, verified. Described under SoundCloud track API. | |||
| data.permalink_url | string | No | ||||
| data.public | boolean | No | true | |||
| data.reposts_count | integer | No | ||||
| data.tag_list | string | No | ||||
| data.title | string | No | ||||
| data.track_count | integer | No | 416 | |||
| data.tracks | array | No | Track record, 25 fields: artwork_url, comment_count, created_at, description, duration_ms, genre, id, likes_count, permalink_url, playback_count, public, reposts_count and 4 more. Described under SoundCloud track API. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/soundcloud/playlist?url=https%3A%2F%2Fsoundcloud.com%2Flofi_chill%2Fsets%2Flofi-chill" \
-H "x-api-key: $CRAWLORA_API_KEY"