API Documentation

Public API for accessing Kurdish music lyrics dataset

This API provides free, public access to our Kurdish music lyrics dataset. No API key required.

Base URL

http://server:3000
GET

Search Lyrics

/api/search

Search for lyrics by track name, artist name, album name, or any field

Query Parameters

q
string (conditional)

Search for keyword present in ANY fields (track's title, artist name or album name)

track_name
string (conditional)

Search for keyword in track's title

artist_name
string

Search for keyword in track's artist name

album_name
string

Search for keyword in track's album name

Note: At least one parameter (q, track_name, artist_name, or album_name) is required

Example Request

http://server:3000/api/search?q=Kurdish

Response

[
  {
    "id": 3396226,
    "trackName": "I Want to Live",
    "artistName": "Borislav Slavov",
    "albumName": "Baldur's Gate 3 (Original Game Soundtrack)",
    "duration": 233,
    "instrumental": false,
    "plainLyrics": "I feel your breath upon my neck...",
    "syncedLyrics": "[00:17.12] I feel your breath upon my neck..."
  }
]
GET

Get Single Track

/api/get/{id}

Get a single track with lyrics by track ID

Path Parameters

id
number (required)

The numeric ID of the track

Example Request

http://server:3000/api/get/3396226

Response

{
  "id": 3396226,
  "trackName": "I Want to Live",
  "artistName": "Borislav Slavov",
  "albumName": "Baldur's Gate 3 (Original Game Soundtrack)",
  "duration": 233,
  "instrumental": false,
  "plainLyrics": "I feel your breath upon my neck...",
  "syncedLyrics": "[00:17.12] I feel your breath upon my neck..."
}

Error Codes

400

MissingSearchParameter / InvalidTrackId

At least one search parameter is required / Track ID must be a valid number

{
  "code": 400,
  "name": "MissingSearchParameter",
  "message": "..."
}
404

TrackNotFound / LyricsNotFound

Failed to find specified track / No lyrics found

{
  "code": 404,
  "name": "TrackNotFound",
  "message": "Failed to find specified track"
}
500

InternalServerError

An error occurred while processing your request

{
  "code": 500,
  "name": "InternalServerError",
  "message": "An error occurred while processing your request"
}