SoundCloud hub

SoundCloud Profile Tracks API

Page a public SoundCloud handle's track uploads — title, genre, duration, artwork, and engagement — with cursor pagination and the shared Social Fetch envelope.

GET /v1/soundcloud/profiles/{handle}/tracks

1 credit per successful request.

About this endpoint

`GET /v1/soundcloud/profiles/{handle}/tracks` returns a page of public track uploads for a SoundCloud handle, newest first. Pass the same handle shape as the profile route, send `x-api-key`, and read `data.lookupStatus` before you write rows. When more pages exist, pass `data.page.nextCursor` back as the `cursor` query param until `hasMore` is false. Treat the cursor as opaque — do not construct or parse it yourself.

Each page is its own completed request for billing. Credit pricing appears on this page from the OpenAPI registry; `meta.creditsCharged` is the source of truth. For the profile card alone, use `GET /v1/soundcloud/profiles/{handle}`. For one track by share URL, use `GET /v1/soundcloud/tracks?url=`.

SoundCloud Profile Tracks API FAQ

How do I list SoundCloud tracks for a profile?

Call GET /v1/soundcloud/profiles/{handle}/tracks with your Social Fetch API key (x-api-key). Pass the public SoundCloud username as the path segment. See the API docs for parameters and examples.

How does pagination work on profile tracks?

Each response includes data.page.nextCursor and data.page.hasMore. Pass nextCursor back as the cursor query param for the next page, and stop when hasMore is false. Treat the cursor as opaque.

How much does listing SoundCloud profile tracks cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth.

What fields are on each track in the list?

Typical public fields include title, description, genre, tags, artwork, duration, release metadata when present, a creator snapshot, and engagement metrics such as plays, likes, reposts, comments, and downloads. Exact coverage is on the API docs page.

Does HTTP 200 always mean tracks were found?

No. HTTP 200 means the request finished. Check data.lookupStatus: found means you got a page (which may be empty for a new account); not_found means the handle did not resolve. Persist meta.requestId when you need to debug a miss.

Can I download tracks or get stream URLs?

No. These routes return public metadata only. Streaming URLs, download links, and playback authorization tokens are excluded — Social Fetch does not proxy or expose audio.

Profile tracks vs single track lookup?

This route pages uploads for a handle. Use GET /v1/soundcloud/tracks?url= when you already have a public track share URL and need one track card.