get_recommendations
ActiveTool of FreqBlog Music Metadata
Recommended tracks for one or more seed tracks — the drop-in for Spotify's removed GET /v1/recommendations. Blends up to 5 catalog seed tracks into a single point in audio-feature space and returns the nearest catalogue tracks, RE-RANKED by genre affinity (so a feature-close cross-genre track doesn't outrank same-genre picks). Returns `seeds` (each {id, found}), `count`, and `tracks` (each {track, score}; each track carries its `genre`). `score` is the raw audio-feature cosine similarity in [0,1]; genre affinity influences the ORDER, not the score, so the list is NOT strictly score-descending. Use cross_genre=strict to return same-genre-family tracks ONLY (off-genre dropped server-side), or allow to disable the genre ranking. seed_tracks are catalog itunes_track_ids from search_catalog or the itunes_track_id field of a get_audio_features result. NO id? Pass `track` (+ optional `artist`) instead and we resolve the name to the best catalog match and seed on it — the resolved track is echoed back as `seed_query`; seed_tracks wins if both are given. Costs 2 quota units.
Parameters schema
{
"type": "object",
"title": "get_recommendationsArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Number of recommendations to return (default 20)."
},
"track": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Track",
"default": null,
"description": "Seed by track NAME instead of an id — resolved to the best catalog match (echoed back as seed_query). Pair with artist to disambiguate. Ignored when seed_tracks is given."
},
"artist": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Artist",
"default": null,
"description": "Artist name narrowing the track seed (case-insensitive)."
},
"cross_genre": {
"type": "string",
"title": "Cross Genre",
"default": "auto",
"description": "Genre handling (mirrors suggest_next_track): 'auto' (default) re-ranks by genre affinity so a feature-close cross-genre track can't outrank same-genre picks; 'strict' = same genre-family only (off-genre dropped server-side); 'allow' = genre-blind (pure audio-feature cosine)."
},
"seed_tracks": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
},
"maxItems": 5
},
{
"type": "null"
}
],
"title": "Seed Tracks",
"default": null,
"description": "1-5 catalog itunes_track_ids to base recommendations on, e.g. ['apple_ad1829eeccb70f9a'] (blended into a feature-space centroid). Omit and use track(+artist) to seed by name instead."
},
"exclude_seed_artists": {
"type": "boolean",
"title": "Exclude Seed Artists",
"default": false,
"description": "Drop tracks by any of the seed artists (default false)."
}
}
}Parent server
FreqBlog Music Metadata
1/7 registries