GET
/playlist/generateGenerates a playlist mix based on genre keywords and optional audio feature targets. Pass energy (0.0-1.0) and tempo (BPM) to bias the selection toward tracks that match those characteristics. Results are deduplicated by artist so you get a varied mix.
Rate limit
30 req/min
Caching
Cached in the internal database for 30 minutes per genre/energy/tempo/limit combination.
Authentication
Send a
User-Agent header containing a contact email. See authentication.Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| genres | string | required | Comma-separated genre keywords to seed the mix. e.g. electronic,house or deep house,techno. |
| energy | integer | optional | Target energy level from 0.0 (mellow) to 1.0 (intense). Filters within ±0.2 of the value. |
| tempo | integer | optional | Target BPM. Filters tracks within ±20 BPM of this value. |
| limit | integer | optional | Number of tracks to return. Between 1 and 50. Defaults to 20. |
Request
curl 'https://api.synkradio.co.uk/playlist/generate?genres=value' \
-H 'User-Agent: [email protected]'Try it
GETTry it
Sends a real requesthttps://api.synkradio.co.uk/playlist/generateResponse
200 application/json
{
"playlist": "electronic,house Mix",
"params": {
"genres": "electronic,house",
"energy": 0.7,
"tempo": null
},
"trackCount": 2,
"tracks": [
{
"id": 389034231,
"name": "Glue",
"artist": "Bicep",
"artistId": 4860761,
"album": "Glue",
"durationMs": 269000,
"explicit": false,
"isrc": "GB5KW1700100",
"cover": "https://api.synkradio.co.uk/cover?artist=Bicep&title=Glue"
},
{
"id": 921278,
"name": "Losing It",
"artist": "Fisher",
"artistId": 3872148,
"album": "Losing It",
"durationMs": 392000,
"explicit": false,
"isrc": "QMFMF1800050",
"cover": "https://api.synkradio.co.uk/cover?artist=Fisher&title=Losing+It"
}
]
}Response schema
| Field | Type | Example | Description |
|---|---|---|---|
| playlist | string | "electronic,house Mix" | |
| params | object | 3 fields | |
| trackCount | number | 2 | Number of tracks on the release. |
| tracks | array<object> | 2 items | Tracklist for the release. |