cURL
curl --request GET \
--url https://api.recoupable.com/api/catalogs/songs \
--header 'x-api-key: <api-key>'import requests
url = "https://api.recoupable.com/api/catalogs/songs"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.recoupable.com/api/catalogs/songs', 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.recoupable.com/api/catalogs/songs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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.recoupable.com/api/catalogs/songs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.recoupable.com/api/catalogs/songs")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.recoupable.com/api/catalogs/songs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"songs": [
{
"catalog_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isrc": "<string>",
"name": "<string>",
"album": "<string>",
"lyrics": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"artists": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"timestamp": 123
}
]
}
],
"pagination": {
"total_count": 123,
"page": 123,
"limit": 123,
"total_pages": 123
},
"error": "<string>"
}{
"status": "error",
"error": "<string>"
}{
"status": "error",
"error": "<string>"
}Songs & Catalogs
Get Catalog Songs
Retrieve songs within a specific catalog with pagination support. This endpoint joins catalog_songs with songs, song_artists, and accounts to provide comprehensive song information for a given catalog.
GET
/
api
/
catalogs
/
songs
cURL
curl --request GET \
--url https://api.recoupable.com/api/catalogs/songs \
--header 'x-api-key: <api-key>'import requests
url = "https://api.recoupable.com/api/catalogs/songs"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.recoupable.com/api/catalogs/songs', 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.recoupable.com/api/catalogs/songs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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.recoupable.com/api/catalogs/songs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.recoupable.com/api/catalogs/songs")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.recoupable.com/api/catalogs/songs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"songs": [
{
"catalog_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"isrc": "<string>",
"name": "<string>",
"album": "<string>",
"lyrics": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"artists": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"timestamp": 123
}
]
}
],
"pagination": {
"total_count": 123,
"page": 123,
"limit": 123,
"total_pages": 123
},
"error": "<string>"
}{
"status": "error",
"error": "<string>"
}{
"status": "error",
"error": "<string>"
}This endpoint supports pagination. The Catalog Songs API also supports POST for adding songs and DELETE for removing songs. See the Add Catalog Songs and Remove Catalog Songs endpoints.
Authorizations
Your Recoup API key. Learn more.
Query Parameters
The unique identifier of the catalog to query songs for
Optional. Filters songs to only include those with matching artist name
Page number for pagination (default: 1)
Number of songs per page (default: 20, max: 100)
Required range:
x <= 100Response
Catalog songs retrieved successfully
Response containing catalog songs data with pagination
