SoundCloud
GET /v1/soundcloud/track

SoundCloud Track API

SoundCloud track — plays/likes/license, nested artist{}, streamUrl when streamable (1 credit).

1 credit per request
TL;DR
SoundCloud track — plays/likes/license, nested artist{}, streamUrl when streamable (1 credit). The SoundCloud Track API (SoundCloud) is a single authenticated GET request to /v1/soundcloud/track that responds with clean JSON and costs 1 credit. 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 Track API?

Pass a SoundCloud track URL and get clean JSON: title, artist{id,handle,name,url,avatar,followers,verified} (chain id/handle into /soundcloud/artist), plays/likes/reposts/comments/downloads, license, genre/tags, publishedAt, streamable/downloadable (SoundCloud permission flags), and when the public api-v2 allows it — streamUrl (progressive MP3), hlsUrl, downloadUrl, plus mediaUrlsExpireAt for signed CDN links. waveformUrl is the waveform JSON endpoint, not audio. Flat 1 credit. Accepts cache / cacheMaxAge.

What you get

  • Track fields as clean structured JSON
  • IDs, URLs, and titles where the platform exposes them
  • Engagement or popularity signals when available
  • Stable IDs for joining with other endpoints

Try it

Open in Playground

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

Sign in to run live
curl "https://api.captapi.com/v1/soundcloud/track?url=https%3A%2F%2Fsoundcloud.com%2Fnasa%2Fepisode-179-life-support" \
  -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",
    "id": "2375655854",
    "url": "https://soundcloud.com/nasa/episode-179-life-support",
    "title": "Episode 179: Life Support Systems: From Space Station to Orion",
    "description": "Astronauts aboard the International Space Station depend on life support systems that provide clean air, drinkable water, and a safe, livable environment. These systems are what make long-duration spaceflight not only possible, but comfortable. Today, some of these space station technologies have been adapted for Artemis – specifically, aboard the Orion crew capsule.",
    "genre": "Science",
    "artist": {
      "id": "112904040",
      "handle": "nasa",
      "name": "NASA",
      "url": "https://soundcloud.com/nasa",
      "avatar": "https://i1.sndcdn.com/avatars-JUvAAPvAA86fmbVE-SH0i6g-large.jpg",
      "followers": 158759,
      "verified": true
    },
    "durationMs": 874406,
    "plays": 5,
    "likes": 1,
    "reposts": 1,
    "downloads": 0,
    "comments": 1,
    "publishedAt": "2026-08-05T18:24:11Z",
    "license": "all-rights-reserved",
    "downloadable": true,
    "streamable": true,
    "streamUrl": "https://cf-media.sndcdn.com/MLL2GDHPueMc.128.mp3?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiKjovL2NmLW1lZGlhLnNuZGNkbi5jb20vTUxMMkdESFB1ZU1jLjEyOC5tcDMqIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzg1OTU3Nzg2fX19XX0_&Signature=cDzjtDOmAvn41PNIb-9dZXQqVIjgHARvK8PmwgfhXmVSEbdg~gbLsrO82AqhNl7RuMv2eq3q8wqNJc3cF0SPuKa9dXGAgWgiS3Y~ZP-3C9sj0rS5I0gddBCWF8WVmhAAT7m7a87wqSO-mj3XTacfaheJUBYJHQ6o6tmJLbNbh6fEdsj2zW58wYijWCjCzRHi~Y0ujYsQYVvZmiXymnOk3mk-3jh7ifyF70nSD5Hlm6vkyqRAcYujX0~8TqBsYHN9E55Nk3L2rHy1eypM5z9HttWPIq8hC5ahCM9adro8kEobAvjPpvdAbSB7mXXGYoK4KXnhDt24Ca9Bkjn484Z6sg__&Key-Pair-Id=APKAI6TU7MMXM5DG6EPQ",
    "hlsUrl": "https://playback.media-streaming.soundcloud.cloud/MLL2GDHPueMc/aac_160k/a6f11843-eb03-4d7e-9f3a-897e58367925/playlist.m3u8?expires=1785964866&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9wbGF5YmFjay5tZWRpYS1zdHJlYW1pbmcuc291bmRjbG91ZC5jbG91ZC9NTEwyR0RIUHVlTWMvYWFjXzE2MGsvYTZmMTE4NDMtZWIwMy00ZDdlLTlmM2EtODk3ZTU4MzY3OTI1L3BsYXlsaXN0Lm0zdTg~ZXhwaXJlcz0xNzg1OTY0ODY2IiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzg1OTU3Nzg2fX19XX0_&Signature=i6dAnRPDDEm5WfkvqguSogWUxP2n8U4q6Vwlclblq5hYBR4ZxWPtbIggHHTWbYXVokqgWoDeRxOqw811Bysb3HYs~3b8CZh2elLsSbloWWWxONdROYQf9xTUYmBR1SbIlsQj7z1VvNM~5KsEfIECVzCY-gF8I6F4p5P06sqQv9cDZ3-Wdq~WdAWkKsVzispfStxoG8glXS4~iceC8AHTCW8wrLOa0MZJ9mItuAw5QVQmw47X1V3OVVC1V1nuMi-owF5BN5yLrA7rCQtk8R0ucpfZILSn2gTyaNtZsi4uKdRFfa1X-Y6~hdjxdDO6ixtN~6iYDCk7hJgcjHBRHiLoQg__&Key-Pair-Id=K34606QXLEIRF3",
    "mediaUrlsExpireAt": "2026-08-05T21:21:06Z",
    "waveformUrl": "https://wave.sndcdn.com/MLL2GDHPueMc_m.json",
    "artwork": "https://i1.sndcdn.com/artworks-P4yXCelBLW8JxnUB-SPPJRA-large.jpg",
    "tags": [
      "nasa",
      "podcast"
    ]
  }
}

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, cached, creditsUsed, and a data object with the following fields:

Top-level fields

  • platformAlways "soundcloud" on this endpoint.
  • idStable platform ID for the item.
  • urlCanonical URL of the item.
  • titleTitle of the item.
  • descriptionDescription text.
  • genreMusic genre.
  • durationMsLength in milliseconds.
  • playsPlayback count for the track.
  • likesLike count for the track.
  • repostsRepost count for the track.
  • downloadsHow many times the track was downloaded on SoundCloud (their counter).
  • commentsComment count for the track.
  • publishedAtTrack created/publish time as ISO-8601.
  • licenseTrack license string from SoundCloud (e.g. all-rights-reserved) — reuse-policy signal.
  • downloadableSoundCloud permission flag — the uploader allows downloads. Does not guarantee downloadUrl (public api-v2 often requires OAuth).
  • streamableSoundCloud permission flag — the track may be streamed. When true we usually mint streamUrl / hlsUrl.
  • streamUrlSigned progressive MP3 CDN URL when we can mint one from api-v2 transcodings. Expires — see mediaUrlsExpireAt.
  • hlsUrlSigned HLS playlist URL when available. Expires — see mediaUrlsExpireAt.
  • mediaUrlsExpireAtISO expiry for signed streamUrl / hlsUrl CDN links.
  • waveformUrlURL of SoundCloud's waveform JSON (peaks), not an audio file.
  • artworkArtwork URL.
  • tagsTags attached to the item.

Artist

The artist object contains:

  • idStable platform ID for the item.
  • handleAccount handle.
  • nameName of the item or account. On profile endpoints: deprecated alias of displayName (one release).
  • urlCanonical URL of the item.
  • avatarAvatar / profile picture URL. Canonical across profile endpoints.
  • followersFollower count.
  • verifiedWhether the account is verified on this platform.

Parameters

NameTypeRequiredDescription
urlstringYesSoundCloud track URL. 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.
cachebooleanNoSet true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. Envelope includes cached + cachedAt on hits.
cacheMaxAgestringNoMax age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL (SC cache_max_age). Envelope: cached + cachedAt.

Authentication: send your key as Authorization: Bearer capt_live_.... A typical call costs 1 credit. Pass cache=true for a free 24h cache hit; default is always fresh.

Using an AI agent? This endpoint is the MCP tool soundcloud_track via @captapi/mcp. Set it up →

How it works

  1. 1. Sign up — get 100 free credits, no card required.
  2. 2. Create a key from your dashboard.
  3. 3. Send one request to /v1/soundcloud/track and parse the JSON response.

Use cases

Engagement + license

Read plays/likes/reposts/comments/downloads and license for reuse research at 1 credit.

Playback URLs

Use streamUrl / hlsUrl (with mediaUrlsExpireAt) when streamable; downloadable is a permission flag.

Artist join

Chain artist.id or artist.handle into /soundcloud/artist without a second resolve scrape.

Frequently asked questions

What does the SoundCloud Track API do?+

The SoundCloud Track API lets you fetch full metadata and key stats from a public SoundCloud sound or track using one GET request to /v1/soundcloud/track. It returns clean JSON — no OAuth or infrastructure setup required.

How many credits does the SoundCloud Track API cost?+

Each successful call costs 1 credit. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. 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.

What do streamable / downloadable mean if streamUrl is missing?+

They are SoundCloud permission flags on the track. When the public api-v2 lets us mint a progressive MP3 we return streamUrl (and often hlsUrl) with mediaUrlsExpireAt. downloadUrl is only present when SoundCloud exposes a public download without OAuth — downloadable:true alone does not guarantee a URL.

How do I join to soundcloud/artist?+

Use artist.id or artist.handle (permalink slug). artist.name/username-style display names can differ in casing from the URL slug.

Is the SoundCloud Track 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. Hits include cached + cachedAt. 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 Track API?

Sign up, grab your key, and make your first call in 60 seconds.