Get songs
curl --request GET \
--url https://api.rocksky.app/xrpc/app.rocksky.song.getSongsimport requests
url = "https://api.rocksky.app/xrpc/app.rocksky.song.getSongs"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.rocksky.app/xrpc/app.rocksky.song.getSongs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.rocksky.app/xrpc/app.rocksky.song.getSongs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.rocksky.app/xrpc/app.rocksky.song.getSongs"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.rocksky.app/xrpc/app.rocksky.song.getSongs")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rocksky.app/xrpc/app.rocksky.song.getSongs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"tracks": [
{
"id": "<string>",
"title": "<string>",
"artist": "<string>",
"albumArtist": "<string>",
"albumArt": "<string>",
"uri": "<string>",
"album": "<string>",
"duration": 123,
"trackNumber": 123,
"discNumber": 123,
"playCount": 1,
"likesCount": 1,
"liked": true,
"uniqueListeners": 1,
"albumUri": "<string>",
"artistUri": "<string>",
"sha256": "<string>",
"mbid": "<string>",
"isrc": "<string>",
"tags": [
"<string>"
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "<string>",
"mbId": "<string>",
"youtubeLink": "<string>",
"spotifyLink": "<string>",
"appleMusicLink": "<string>",
"tidalLink": "<string>",
"lyrics": "<string>",
"composer": "<string>",
"genre": "<string>",
"label": "<string>",
"copyrightMessage": "<string>",
"key": "<string>",
"acoustidFingerprint": "<string>",
"xataVersion": 123,
"bpm": 123
}
]
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}app.rocksky.song
Get songs
GET
/
app.rocksky.song.getSongs
Get songs
curl --request GET \
--url https://api.rocksky.app/xrpc/app.rocksky.song.getSongsimport requests
url = "https://api.rocksky.app/xrpc/app.rocksky.song.getSongs"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.rocksky.app/xrpc/app.rocksky.song.getSongs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.rocksky.app/xrpc/app.rocksky.song.getSongs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.rocksky.app/xrpc/app.rocksky.song.getSongs"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.rocksky.app/xrpc/app.rocksky.song.getSongs")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rocksky.app/xrpc/app.rocksky.song.getSongs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"tracks": [
{
"id": "<string>",
"title": "<string>",
"artist": "<string>",
"albumArtist": "<string>",
"albumArt": "<string>",
"uri": "<string>",
"album": "<string>",
"duration": 123,
"trackNumber": 123,
"discNumber": 123,
"playCount": 1,
"likesCount": 1,
"liked": true,
"uniqueListeners": 1,
"albumUri": "<string>",
"artistUri": "<string>",
"sha256": "<string>",
"mbid": "<string>",
"isrc": "<string>",
"tags": [
"<string>"
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "<string>",
"mbId": "<string>",
"youtubeLink": "<string>",
"spotifyLink": "<string>",
"appleMusicLink": "<string>",
"tidalLink": "<string>",
"lyrics": "<string>",
"composer": "<string>",
"genre": "<string>",
"label": "<string>",
"copyrightMessage": "<string>",
"key": "<string>",
"acoustidFingerprint": "<string>",
"xataVersion": 123,
"bpm": 123
}
]
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Query Parameters
The maximum number of songs to return
Required range:
x >= 1The offset for pagination
Required range:
x >= 0The genre to filter artists by
Filter songs by MusicBrainz ID
Filter songs by International Standard Recording Code (ISRC)
Filter songs by Spotify track ID (resolved internally to the Spotify track URL)
RSQL filter expression, e.g. artist=="Daft Punk";duration=gt=200000. Supports ==, !=, <, <=, >, >=, =in=, =out=, and ;/and, ,/or combinators, * wildcards in string values. Filterable fields: title, artist, album, albumArtist, genre, composer, label, duration, trackNumber, discNumber, mbId, isrc, sha256, uri, albumUri, artistUri, createdAt
Maximum string length:
2048Response
Success
Show child attributes
Show child attributes