Skip to main content

Implement your custom player

If you want to use your current player or you want to have a custom implementation, we have API routes that allows you to access our music by using the API Key you previously created

Making it easy

All our routes will have the same base url: https://api.soundpickr.com and will require to pass the API Key as a x-api-key header. If you need to run tests you can use Postman or a similar program

Example

curl -X GET \
'https://api.soundpickr.com/api/v1/playlists' \
-H 'x-api-key : YOUR_API_KEY_HERE'

Routes

Get all playlists

GET to /api/v1/playlists will get all playlists of the API Key owner. You can add filters as a GET parameter

Filter nameDescriptionExample
playlistKeyonly show a specific playlist6ee6cdac-9574-11ed-a1eb-0242ac120002
genresa comma separated list of genre IDs. See IDs list here1,2,3,4,5

And the response is:

{"playlists":
[
{
"id": 1,
"key": "6ee6cdac-9574-11ed-a1eb-0242ac120002",
"name":" First Playlist",
"global": 1,
"created_at": "2022-12-09T20:33:01.000000Z",
"updated_at": "2022-12-09T20:33:01.000000Z",
"songs": 7,
"genres": [
{
"id": 1,
"name": "Classical"
}
]
},
{
"id": 2,
"key": "87288752-9574-11ed-a1eb-0242ac120002",
"name": "Second Playlist",
"global": 0,
"created_at": "2022-12-09T20:33:01.000000Z",
"updated_at": "2022-12-09T20:33:01.000000Z",
"songs": 10,
"genres": []
}
]
}

Get data of a single playlist

GET to /api/v1/metaplayer/playlist/[playlist_key] will show all content of a single playlist. You can add filters as a GET parameter

Filter nameDescriptionExample
randomthe songs will be randomly ordered1
explicitavoid showing explicit songs1

And the response is:

{
"key": "c69af6af-b380-4cfb-a89b-c123c2e00dbf",
"global": 1,
"name": "First Playlist",
"created_at":"2022-12-09T20:33:01.000000Z",
"updated_at":"2022-12-09T20:33:01.000000Z",
"songs": [
{
"key": "edf786bf-d41f-47bd-a5e0-566cb4c4cedf",
"name": "First song",
"description": "First Song description",
"image_url": "[image url, links expires after 1 hour]",
"song_url": "[song url, it requires to append an 'api_key' parameter or pass 'x-api-key' as an header]",
"song_duration": 177,
"bpm": 120,
"explicit": 1,
"order": 0,
"artist": {
"key": "77308e64-cef0-472b-80f7-7fb88a0a3b20",
"name": "First song artist",
"image": "[artist image url]",
"url": "https://www.soundpickr.com/artist/first-song-artist"
}
},
{
"key": "f5g3d602-a644-4f57-a3c4-ehgbbf55e987",
"name": "Second song",
"description": "Second song description",
"image_url": "[image url, links expires after 1 hour]",
"song_url": "[song url, it requires to append an 'api_key' parameter or pass 'x-api-key' as an header]",
"song_duration": 112,
"bpm": 180,
"explicit": null,
"order": 1,
"artist": null
}
]
}

We created some code examples for you to implement our API in different frameworks / languages.

Use of music

Our partners & music clients have licensed their IP to be used within our network & via our API and Metaplayer. Downloading the files without permission is against our T&Cs