Skip to main content

Documentation Index

Fetch the complete documentation index at: https://rocks.docs.rive.wtf/llms.txt

Use this file to discover all available pages before exploring further.

Every API key is tied to one IP. To apply for a key, DM southctrl on Discord.
Use the endpoint path below, replace the required params, and send Authorization: Bearer YOUR_API_KEY.

Quick Start

1

Choose a search query

Use a track or artist name.
2

Call the search route

Send the request with your Bearer token.
3

Use the results

Read track, artist, and related metadata from the response.
Useful for music discovery features and search tools.

Search Tracks

Search for tracks on SoundCloud.

Endpoint

GET /api/soundcloud/search

Query Parameters

q
string
required
Search query.
limit
integer
default:"10"
Number of results (max 50).

Example Request

curl -X GET "https://rocks.rive.wtf/api/soundcloud/search?q=drake&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response

{
  "collection": [
    {
      "id": 257461521,
      "kind": "track",
      "title": "Headlines (Explicit Version)",
      "description": null,
      "genre": "Rap",
      "duration": 236779,
      "full_duration": 236774,
      "permalink": "drake-headlines",
      "permalink_url": "https://soundcloud.com/octobersveryown/drake-headlines",
      "artwork_url": "https://i1.sndcdn.com/artworks-D3aqnCniSx2R-0-large.jpg",
      "waveform_url": "https://wave.sndcdn.com/hdWu2BU2Y7z0_m.json",
      "created_at": "2016-04-05T17:16:33Z",
      "last_modified": "2025-11-10T08:18:52Z",
      "playback_count": 25111277,
      "likes_count": 363392,
      "comment_count": 1877,
      "reposts_count": 5550,
      "download_count": 0,
      "streamable": true,
      "downloadable": false,
      "public": true,
      "monetization_model": "AD_SUPPORTED",
      "policy": "MONETIZE",
      "license": "all-rights-reserved",
      "tag_list": "",
      "release_date": "2011-01-01T00:00:00Z",
      "display_date": "2011-01-01T00:00:00Z",
      "user": {
        "id": 1078461,
        "kind": "user",
        "permalink": "octobersveryown",
        "username": "octobersveryown",
        "uri": "https://api.soundcloud.com/users/soundcloud%3Ausers%3A1078461",
        "permalink_url": "https://soundcloud.com/octobersveryown",
        "avatar_url": "https://i1.sndcdn.com/avatars-000111004820-tzrvo1-large.jpg",
        "verified": true,
        "first_name": "October's",
        "last_name": "Very Own",
        "full_name": "October's Very Own",
        "city": "Toronto",
        "country_code": "CA",
        "followers_count": 4355819,
        "followings_count": 10,
        "track_count": 527,
        "playlist_count": 34
      },
      "publisher_metadata": {
        "id": 257461521,
        "urn": "soundcloud:tracks:257461521",
        "artist": "Drake",
        "album_title": "Headlines",
        "contains_music": true,
        "isrc": "USCM51100290",
        "explicit": true,
        "p_line": "℗ 2011 Cash Money Records Inc.",
        "c_line": "© 2011 Cash Money Records Inc.",
        "release_title": "Headlines (Explicit Version)",
        "upc_or_ean": "00602527816067"
      }
    }
  ],
  "total_results": 859036,
  "next_href": "https://api-v2.soundcloud.com/search/tracks?query_urn=soundcloud%3Asearch%3A5691d31cebca410a9d7445e6045b7afe&limit=10&offset=10&q=drake",
  "query_urn": "soundcloud:search:5691d31cebca410a9d7445e6045b7afe"
}

Response Fields

collection
array
Array of track objects matching the search query
total_results
number
Total number of results available
next_href
string
URL for the next page of results (pagination)
query_urn
string
Unique identifier for this search query
Duration values are in milliseconds. Divide by 1000 to get seconds, or by 60000 to get minutes.
Use the next_href URL to fetch additional results for pagination. API supports up to 50 results per request.

Use Cases

Music Discovery

Build music discovery and search tools

Playlist Curators

Find tracks for playlist curation

Discord Music Bots

Add SoundCloud search to music bots

Analytics Tools

Track artist performance and engagement

Additional Notes

Track Duration

Duration is returned in milliseconds. Here’s a quick conversion reference:
  • Seconds: duration / 1000
  • Minutes: duration / 60000
  • MM:SS format: Math.floor(duration / 60000):${String(Math.floor((duration % 60000) / 1000)).padStart(2, '0')}

Artwork URLs

Artwork URLs come in different sizes. You can modify the URL to get different resolutions:
  • Large: -large.jpg (default)
  • Medium: -t500x500.jpg
  • Small: -t300x300.jpg
  • Tiny: -tiny.jpg

Pagination

Use the next_href field to implement pagination and fetch more results beyond the initial limit.