API REFERENCE
Get Songs
On this page
/api/songsRetrieve songs from the database with optional filtering by ISRC (International Standard Recording Code) or artist account. This endpoint joins the songs table with song_artists and accounts tables to provide comprehensive song information.
Authentication
See the authentication guide for API key and account access requirements.
Request
curl --request GET \
--url 'https://api.recoupable.dev/api/songs' \
--header 'x-api-key: YOUR_API_KEY'Replace the YOUR_ placeholders with your values. Required query parameters are included; optional parameters are listed below.
Try it
Fill in the fields, send the request from your browser, and read the live response. The curl below updates as you type.
Kept in this browser tab only and cleared when it closes.
curl --request GET \
--url 'https://recoup-api.vercel.app/api/songs'Parameters
Query parameters
isrcstringInternational Standard Recording Code to filter by specific song
artist_account_idstringArtist account ID to filter songs by artist
Responses
200Songs retrieved successfully+
application/json
statusstring · enumStatus of the request
Values: "success", "error"
songsarray<Song>Array of song objects with artist information
Item properties for songs
isrcstringInternational Standard Recording Code (primary key)
namestringName of the song
albumstringName of the album the song belongs to
notesstringNotes for the song
updated_atstringISO timestamp of when the song data was last updated
format: date-time
artistsarray<SongArtist>Array of artist objects associated with this song
Item properties for artists
idstringUnique identifier for the artist account
format: uuid
namestringnullableName of the artist (can be null)
timestampintegernullableTimestamp associated with the artist account (can be null)
errorstringError message (only present if status is 'error')
400Bad request - invalid parameters+
application/json
statusstring · enumStatus of the request
Values: "error"
errorstringError message describing what went wrong
401Unauthorized - missing or invalid credentials+
application/json
statusstring · enumStatus of the request
Values: "error"
errorstringError message describing what went wrong
500Internal server error+
application/json
statusstring · enumStatus of the request
Values: "error"
errorstringError message describing what went wrong
Full specification
Download the OpenAPI file for complete schemas, constraints, and examples.
Download releases.jsonView operation source
{
"description": "Retrieve songs from the database with optional filtering by ISRC (International Standard Recording Code) or artist account. This endpoint joins the songs table with song_artists and accounts tables to provide comprehensive song information.",
"parameters": [
{
"name": "isrc",
"in": "query",
"description": "International Standard Recording Code to filter by specific song",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "artist_account_id",
"in": "query",
"description": "Artist account ID to filter songs by artist",
"required": false,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Songs retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SongsResponse"
}
}
}
},
"400": {
"description": "Bad request - invalid parameters",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SongsErrorResponse"
}
}
}
},
"401": {
"description": "Unauthorized - missing or invalid credentials",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SongsErrorResponse"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SongsErrorResponse"
}
}
}
}
}
}