General Information
The Karaoke API allows you to develop an interactive karaoke application using the Stingray Karaoke catalogue. This section details the different resources and endpoints you can access using the Karaoke API.
Glossary
For more information about the vocabulary used in the API, please refer to the Glossary.
Logs
It is important take into account user statuses, as follows:
- Free user
- Trial user
- Paying user
Stingray is required to report and pay royalties on all song plays.
Please refer to the /play-log
endpoint for more information.
note
As of this version, the different type of statuses will be determined by the provided username/password combos. In an upcoming update version of the API, it will be possible (and required) to distinguish the different type of accounts during the login request.
Playing Songs
Songs are returned with media links based on the available media formats. Since players may support the following features, many links are provided:
- With visual or black background.
- With or without lead vocals.
- Mime type (ex. video/mp4)
- With or without pre or post-rolls
note
All video links may not be available for all songs. For example, certain songs may only have been produced without lead vocals.
Buffering
Songs are protected using a signed URL link. Hence, after some time, which can range anything from 15 minutes to few hours, the URI becomes invalid for security reasons. If a link becomes expired, simply request the resource again, and an updated link will be provided.
This approach allows the device/player to buffer media files in advance after fetching the song links.
Lead vocals
When switching the playback of songs from a version without lead vocals to a version with lead vocals (or vice-versa), the playback position is maintained rather than restarting the video.
Query Parameters
In API calls, the following query parameters can be used to refine the results.
Filters
You can use filter query parameters such as genre
, gender
and language
. The filter values for these parameters can be found under the filters section or the /filters
endpoint documentation.
Sorting
You can use sorting parameters based on popularity
, titles
or names (a-z
), etc. Note you can only apply one sorting algorithm at a time.
Pagination
You can specify page size and number. Take note of the following guidelines:
- There is a maximum number of items (100) to be returned per request. Any items over the maximum number are ignored.
- Specify reasonable size values for performance and availability reasons.
Search Recommendations
It is recommended to follow these guidelines when using query parameters:
- Throttle the number of calls per client to a maximum of one per 100ms.
- Only send search requests with three characters or more.
- There is a maximum length for search text (40 characters). Any characters over the maximum number are ignored.
Thumbnails
Thumbnails are provided for the following resources:
- Songs : Album cover is provided
- Eras : With background, and transparent thumbnails are provided
- Genres : 2 categories are provided for this resource. First one is a generic art (again with background, and transparent). Second one is intended to be used as a filter of artist for a particular genre.
- Languages : With background, and transparent thumbnails are provided
Versioning
The Karaoke API is versioned with a new release every year. To ensure the stability of your app, you must specify a supported version in the URL.
Status and Error Codes
All API queries return HTTP status codes that contain information regarding the response. Note the following when handling errors:
note
Follow documentation when specifying path and query parameter values.
Code | Description |
---|---|
200 | The request was successful. |
4xx and 5xx Status Codes | |
400 Bad Request | The server cannot process the request. |
401 Invalid | The API key is missing or invalid. |
5xx Errors | An unexpected error occured. |