SoundCloud Artist Tracks API
Artist track list — opaque cursor, native-window when the api-v2 page ends (2 credits; empty is 0).
GET request to /v1/soundcloud/artist-tracks that responds with clean JSON and costs 2 credits. Pass cache=true for a free 24h cache hit; default is always fresh. Start with 100 free credits — no credit card.What is the SoundCloud Artist Tracks API?
Pass a SoundCloud artist URL or username and get that artist's tracks as clean JSON. Each track row matches /soundcloud/track (title, plays/likes/reposts/comments/downloads, license, genre/tags[], artwork, streamable/downloadable, isrc/releaseDate when exposed) — without repeating artist{} on every row. The envelope names the yield: requested, listingHits (rows SoundCloud sent this page), hydrateFailures (received rows that did not become a track), totalReturned, nextCursor, hasMore, and truncatedReason=platform-page | catalog-end | native-window | apify-window. SoundCloud linked_partitioning can return listingHits < requested with hasMore still true — that is a platform page, not a drop. nextCursor is emitted only when the next native page has rows — a token is never issued and then refused. The public api-v2 window usually ends before the artist's full catalogue: that stop is native-window (hasMore false), not a 400. catalog-end is only when SoundCloud itself omits next_href on a native page. apify-window is first-page Apify fallthrough (no cursor). Empty pages (native-window or apify-window with 0 rows) bill 0 credits. Top-level artistId + artist{id,handle,name,url,avatar,followers,verified} join to /soundcloud/artist; artistUrl is the profile URL. nextCursor is an opaque token (not a SoundCloud api-v2 URL). Flat 2 credits when tracks return (limit default 20, max 100).
What you get
- Bulk list of artist tracks with metadata
- Dates, URLs, and engagement fields when available
- Configurable result limit
- Ideal for monitoring and content pipelines
Try it
Fill in the parameters below and copy a ready-to-run request, or open the live Playground to run it against your account (no API key paste).
Parameters
curl "https://api.captapi.com/v1/soundcloud/artist-tracks?url=https%3A%2F%2Fsoundcloud.com%2Fflume" \
-H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."Edit the parameters and the code updates instantly. Switch languages and hit copy.
Example response
{
"success": true,
"data": {
"platform": "soundcloud",
"artistId": "2976616",
"artistUrl": "https://soundcloud.com/flume",
"artist": {
"id": "2976616",
"handle": "flume",
"name": "Flume",
"url": "https://soundcloud.com/flume",
"avatar": "https://i1.sndcdn.com/avatars-sAZPcKyZpXJ0J0u5-JHfNSg-large.jpg",
"followers": 2227831,
"verified": true
},
"requested": 2,
"totalReturned": 2,
"listingHits": 2,
"hydrateFailures": 0,
"nextCursor": "eyJ1IjoiMjk3NjYxNiIsIm8iOiIyMDI1LTA4LTIyVDAwOjAwOjAwLjAwMFosdHJhY2tzLDAwMDAwMDAwMDAyMTE5ODYyMjMyIn0",
"hasMore": true,
"tracks": [
{
"platform": "soundcloud",
"id": "2119863225",
"url": "https://soundcloud.com/flume/all-of-the-worlds",
"title": "All Of The Worlds",
"genre": "Electronic",
"durationMs": 125780,
"plays": 33195,
"likes": 979,
"reposts": 61,
"downloads": 0,
"comments": 24,
"publishedAt": "2025-06-26T13:01:21Z",
"releaseDate": "2025-08-22T00:00:00Z",
"license": "all-rights-reserved",
"isrc": "US38Y2548239",
"downloadable": false,
"streamable": true,
"waveformUrl": "https://wave.sndcdn.com/0AX3G8zwAkiV_m.json",
"artwork": "https://i1.sndcdn.com/artworks-bvBQ1BhZQSM2-0-large.jpg",
"tags": []
},
{
"platform": "soundcloud",
"id": "2119862232",
"url": "https://soundcloud.com/flume/feel-ur-love",
"title": "Feel Ur Love",
"genre": "Electronic",
"durationMs": 251638,
"plays": 23538,
"likes": 596,
"reposts": 17,
"downloads": 0,
"comments": 6,
"publishedAt": "2025-06-26T13:00:44Z",
"releaseDate": "2025-08-22T00:00:00Z",
"license": "all-rights-reserved",
"isrc": "US38Y2548242",
"downloadable": false,
"streamable": true,
"waveformUrl": "https://wave.sndcdn.com/YLJYjhEwU6KR_m.json",
"artwork": "https://i1.sndcdn.com/artworks-wu5UUJhLSWSO-0-large.jpg",
"tags": []
}
]
}
}Billing metadata is returned in response headers: X-Captapi-Credits (credits charged), X-Captapi-Cache (hit or miss), and X-Captapi-Source. Failed requests (4xx/5xx) are never charged. See the full list of error codes in the error reference.
Response structure
A successful call returns success and a data object with the following fields:
Top-level fields
platformAlways "soundcloud" on this endpoint.artistIdSoundCloud numeric artist id — join key for /soundcloud/artist.artistUrlArtist profile URL (also on top-level artist.url).requestedThe limit you sent (default 20, max 100).totalReturnedNumber of items returned in this response.listingHitsRows SoundCloud sent in this linked-partition page (may be below requested even when hasMore is true).hydrateFailuresRows SoundCloud sent that did not become a track. 0 means we mapped every listing hit.nextCursorOpaque pagination token, emitted only when the next native page has rows. Pass as cursor on the next call. Not a SoundCloud URL — do not edit.hasMoreWhether more results are available beyond this page. When true, pass nextCursor to fetch the next page.
Artist
The artist object contains:
idId of this artist item.handleAccount handle.nameName of this artist item.urlCanonical URL of the item.avatarAvatar / profile picture URL. Canonical across profile endpoints.followersFollower count.verifiedWhether the account is verified on this platform.
Tracks
Each item in tracks contains:
platformAlways "soundcloud" on this endpoint.idId of this tracks item.urlCanonical URL of the item.titleTitle of this tracks item.genreMusic genre.durationMsFull track length in milliseconds (SoundCloud full_duration — not the 30s preview clip).playsPlayback count for the track.likesLike count (number).repostsRepost count.downloadsDownloads. Example: 0.commentsComment count as a number, including 0. Every measured artist-tracks row (350+) ships this key; omit-if-null remains only as a safety net if SoundCloud sends a null count.publishedAtPublish date (ISO 8601) when the platform exposes an absolute timestamp.releaseDateRelease date as ISO-8601 when SoundCloud exposes it; omitted otherwise.licenseLicense identifier.isrcISRC when SoundCloud's publisher_metadata exposes it; omitted otherwise.downloadableDownloadable. Example: false.streamableStreamable. Example: true.waveformUrlWaveform url URL.artworkArtwork URL.tagsTrack tags from SoundCloud's tag_list. Always an array — [] when the track has none.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | SoundCloud artist profile URL or username. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. |
| limit | integer | No | Max items to return (default 20, max 100). Flat 2 credits per call. |
| cursor | string | No | Opaque pagination cursor from the previous nextCursor. Leave empty for the first page. Do not edit or invent values. |
| cache | boolean | No | Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. |
Authentication: send your key as Authorization: Bearer capt_live_.... A typical call costs 2 credits. Pass cache=true for a free 24h cache hit; default is always fresh.
soundcloud_artist_tracks via @captapi/mcp. Set it up →How it works
- 1. Sign up — get 100 free credits, no card required.
- 2. Create a key from your dashboard.
- 3. Send one request to
/v1/soundcloud/artist-tracksand parse the JSON response.
Use cases
Content Pipelines
Ingest an artist's track catalog with the same fields as /soundcloud/track.
Monitoring
Detect new uploads via track id + publishedAt across opaque cursor pages.
Artist join
Use top-level artistId / artist.handle once — not repeated on every track row.
Analytics
Aggregate plays/likes across the artist's recent tracks without artist{} bloat.
Frequently asked questions
What does the SoundCloud Artist Tracks API do?+
The SoundCloud Artist Tracks API lets you list items in bulk with metadata from a public SoundCloud sound or track using one GET request to /v1/soundcloud/artist-tracks. It returns clean JSON — no OAuth or infrastructure setup required.
How many credits does the SoundCloud Artist Tracks API cost?+
Each successful call costs 2 credits. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.
Do I need a SoundCloud API key or OAuth?+
No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.
Why did I get 17 tracks when I asked for 20?+
SoundCloud's linked_partitioning can return a short page and still set hasMore. Read requested / listingHits / hydrateFailures / truncatedReason. listingHits=17, hydrateFailures=0, truncatedReason=platform-page means SoundCloud served 17 and we mapped all of them — pass nextCursor for the next page.
Why did paging stop with native-window instead of catalog-end?+
The public api-v2 window usually ends before the artist's full catalogue. We peek the next page before emitting nextCursor, so hasMore:false + truncatedReason=native-window means stop — we will not hand you a token and then 400 it. catalog-end is only when SoundCloud itself omits next_href. Empty pages bill 0 credits.
Why is comments on every row?+
Live artist-tracks rows always include comments as a number (including 0). tags is always an array; [] means the track has no tags.
Is the SoundCloud Artist Tracks API suitable for production use?+
Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.
More SoundCloud APIs
Ready to use the SoundCloud Artist Tracks API?
Sign up, grab your key, and make your first call in 60 seconds.