SoundCloud hub

SoundCloud Track API

Resolve a public SoundCloud track share URL to title, description, genre, tags, artwork, duration, release metadata, and engagement metrics.

GET /v1/soundcloud/tracks

1 credit per successful request.

About this endpoint

`GET /v1/soundcloud/tracks` accepts a public track URL in the `url` query param. Send `x-api-key` and branch on `data.lookupStatus` before writing rows. On `found`, you get title, description, genre, tags, artwork, duration, optional release metadata (label, ISRC, album, credited artist, explicit flag — all nullable for independent uploads), a creator snapshot, and engagement metrics.

If you pass a profile URL to this route it returns `400` and points you at the profile endpoint. Credit pricing appears on this page from the OpenAPI registry; `meta.creditsCharged` is the billing source of truth. For paging a handle's uploads, use `GET /v1/soundcloud/profiles/{handle}/tracks`.

SoundCloud Track API FAQ

How do I look up a SoundCloud track by URL?

Call GET /v1/soundcloud/tracks with your Social Fetch API key (x-api-key) and a public track share URL in the url query param. Read data.lookupStatus before writing rows. See the API docs for parameters.

How much does the SoundCloud Track API 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 identifiers does this route accept?

A full public SoundCloud track URL in the url query param. Profile URLs belong on GET /v1/soundcloud/profiles/{handle} — passing a profile URL here returns 400.

Why are label, ISRC, and release date sometimes null?

Much of SoundCloud is independent uploads with no release metadata. Those fields are nullable keys on every track so bedroom-producer uploads and label releases parse against the same schema. Do not treat a null label as a parsing failure.

Does a completed lookup always mean the track was found?

No. HTTP 200 means the request finished. Check data.lookupStatus: found means you got track details; not_found means the URL did not resolve. Persist meta.requestId when you need to debug a miss.

Can I get stream or download URLs?

No. This route returns public metadata only. Streaming URLs, download links, and playback tokens are deliberately excluded.

SoundCloud official API vs Social Fetch?

SoundCloud's developer API has been closed to new applications for years. Existing credentials remain the path for uploads and private user data. Social Fetch is public read-only enrichment with a Social Fetch API key — no SoundCloud app, no creator OAuth.