SoundCloud API endpoint
Returns a user/artist's own uploaded tracks, most recent first: title, artwork, playback/likes/comment/repost counts. Public data sourced from SoundCloud's own JSON API.
/soundcloud/user-tracksQuery parameters:
url (required) — a full soundcloud.com user/artist profile URL, e.g.
https://soundcloud.com/artist.limit (optional) — number of tracks to return. Defaults to 20,
clamped to a maximum of 50.Notable response behavior:
tracks is the user's own uploads only, most-recent-upload-first —
distinct from /soundcloud/search, which
matches tracks across all of SoundCloud by relevance to a query.url is resolved server-side first to get the profile's internal
id, then that id's uploads are fetched — two upstream calls per
request. It must be a user/artist profile URL; a URL that resolves to
a different entity type (e.g. a track) returns 400.404. A missing url returns 400
before any upstream request is made.| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| title | 20 | |
| permalink_url | 20 | soundcloud.com |
| artwork_url | 20 | i1.sndcdn.com |
| description | 20 | median 630 characters |
| genre | 20 | |
| tag_list | 20 | |
| duration_ms | 20 | 531,101 to 5,515,060, median 1,129,607 |
| playback_count | 20 | 77 to 4,038, median 1,758 |
| likes_count | 20 | 5 to 197, median 36 |
| comment_count | 20 | 0 to 9, median 0 |
| reposts_count | 20 | 0 to 13, median 1 |
| created_at | 20 | 2026-08-17 to 2026-10-12 |
| public | 20 | true in 20 of 20 |
| streamable | 20 | true in 20 of 20 |
| uploader | 20 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| url | string | Yes | Full soundcloud.com user/artist profile URL | https://soundcloud.com/lofi_girl | |
| limit | integer | No | Number of tracks to return (default 20, max 50) | 20 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/soundcloud/user-tracks?url=https%3A%2F%2Fsoundcloud.com%2Flofi_girl&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"profile_url": "https://soundcloud.com/lofi_girl",
"count": 20,
"tracks": [
{
"id": 2380857462,
"title": "sunken relics",
"permalink_url": "https://soundcloud.com/lofi_girl/sunken-relics",
"genre": "Lo-Fi",
"playback_count": 282,
"likes_count": 12,
"created_at": "2026-08-13T10:53:01Z",
"public": true,
"streamable": true,
"uploader": {
"id": 144868900,
"username": "Lofi Girl",
"permalink_url": "https://soundcloud.com/lofi_girl",
"verified": true
}
}
]
}
}Request schema
No body schema
Response schema
#/definitions/soundcloud.userTracksResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | soundcloud.UserTracksResponse | No | ||||
| data.count | integer | No | 20 | |||
| data.profile_url | string | No | ||||
| 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/user-tracks?url=https%3A%2F%2Fsoundcloud.com%2Flofi_girl&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"