List filters
Return the live, valid values for every filter parameter. Use this to populate a filter UI without hardcoding lists that drift over time.
GET/api/v4/search/ai/filters/
This endpoint takes no parameters and is heavily cached.
Example request
curl "https://api.slipstreammusic.com/api/v4/search/ai/filters/" \
-H "Authorization: Bearer $PARTNER_API_KEY"Example response
{
"genres": {
"values": [
{ "value": "Cinematic", "tracks": 4218 },
{ "value": "Electronic", "tracks": 3104 },
{ "value": "Pop", "tracks": 2987 },
{ "value": "Rock", "tracks": 2655 }
]
},
"subgenres": {
"values": [
{ "value": "Indie Pop", "tracks": 612 },
{ "value": "Orchestral", "tracks": 488 }
]
},
"moods": {
"values": [
{ "value": "Uplifting", "tracks": 1820 },
{ "value": "Tense", "tracks": 1244 }
]
},
"tempo": {
"values": [
{ "value": "fast" },
{ "value": "medium" },
{ "value": "slow" }
]
},
"vocals": {
"values": [
{ "value": "Female Vocals" },
{ "value": "Male Vocals" },
{ "value": "Mixed Vocals" }
]
},
"bpm": {
"values": [{ "value": [0, 280] }]
},
"duration": {
"values": [{ "value": [0, 600] }]
}
}| Field | Description |
|---|---|
genres, subgenres, moods, tempo, vocals | Discrete options. Each value is a string accepted by the matching filter parameter. tracks (when present) is the number of tracks in the catalog with that value. |
bpm | Allowed BPM range as [min, max]. Pass any sub-range via bpm__range=<low>__<high>. |
duration | Allowed duration range in seconds. Use duration__range=<low>__<high>. |
Errors
| HTTP | When |
|---|---|
| 500 | The underlying AI service is temporarily unavailable. Retry with backoff. |