PrivateDynamicAPI¶
- class minim.api.qobuz.PrivateDynamicAPI(client: APIClient, /)[source]¶
Bases:
PrivateQobuzResourceAPIDynamic Tracks API endpoints for the private Qobuz API.
Important
This class is managed by
PrivateQobuzAPIClientand should not be instantiated directly.- Parameters:
- clientminim.api._shared.APIClient
API client instance used to make HTTP requests.
Methods
Get Qobuz catalog information for tracks in a playlist curated for the current user.
Get Qobuz catalog information for playlists curated for the current user.
Get track recommendations based on seed tracks.
- get_personalized_playlist_tracks(playlist_type: str, /, *, limit: int | None = None, offset: int | None = None) dict[str, Any][source]¶
Get Qobuz catalog information for tracks in a playlist curated for the current user.
User authentication
- User authentication
Access and manage your library.
- Parameters:
- playlist_typestr; positional-only
Type of the curated playlist.
See also
get_personalized_playlists()– Get types of curated playlists.Example:
"weekly".- limitint; keyword-only; optional
Maximum number of items to return. Only applicable when playlist_type is not
"weekly".Valid range:
1to500.API default:
50.- offsetint; keyword-only; optional
Index of the first item to return. Use with limit to get the next batch of items. Only applicable when playlist_type is not
"weekly".Minimum value:
0.API default:
0.
- Returns:
- tracksdict[str, Any]
Page of Qobuz metadata for tracks in the curated playlist.
Sample response
{ "baseline": <str>, "description": <str>, "duration": <int>, "expires_on": <int>, "generated_at": <int>, "graphics": { "background": <str>, "foreground": <str> }, "images": { "large": <str>, "small": <str> }, "step_pagination": <int>, "title": <str>, "track_count": <int>, "tracks": { "items": [ { "album": { "artist": { "albums_count": <int>, "id": <int>, "image": None, "name": <str>, "picture": None, "slug": <str> }, "displayable": <bool>, "downloadable": <bool>, "genre": { "id": <int>, "name": <str>, "path": <list[int]>, "slug": <str> }, "hires": <bool>, "hires_streamable": <bool>, "id": <str>, "image": { "large": <str>, "small": <str>, "thumbnail": <str> }, "label": { "albums_count": <int>, "id": <int>, "name": <str>, "slug": <str>, "supplier_id": <int> }, "maximum_bit_depth": <int>, "maximum_channel_count": <int>, "maximum_sampling_rate": <float>, "previewable": <bool>, "purchasable": <bool>, "purchasable_at": <str>, "qobuz_id": <int>, "release_date_download": <str>, "release_date_original": <str>, "release_date_purchase": <str>, "release_date_stream": <str>, "released_at": <int>, "sampleable": <bool>, "streamable": <bool>, "streamable_at": <int>, "title": <str>, "version": <str> }, "audio_info": { "replaygain_track_gain": <float>, "replaygain_track_peak": <float> }, "composer": { "id": <int>, "name": <str> }, "copyright": <str>, "displayable": <bool>, "downloadable": <bool>, "duration": <int>, "hires": <bool>, "hires_streamable": <bool>, "id": <int>, "isrc": <str>, "maximum_bit_depth": <int>, "maximum_channel_count": <int>, "maximum_sampling_rate": <float>, "parental_warning": <bool>, "performer": { "id": <int>, "name": <str>, }, "performers": <str>, "position": <int>, "previewable": <bool>, "purchasable": <bool>, "purchasable_at": <int>, "release_date_download": <str>, "release_date_original": <str>, "release_date_purchase": <str>, "release_date_stream": <str>, "sampleable": <bool>, "streamable": <bool>, "streamable_at": <int>, "title": <str>, "version": <str>, "work": None } ], "limit": <int>, "offset": <int> }, "type": <str> }
- get_personalized_playlists() list[dict[str, Any]][source]¶
Get Qobuz catalog information for playlists curated for the current user.
User authentication
- User authentication
Access and manage your library.
- Returns:
- playlistslist[dict[str, Any]]
Qobuz metadata for the curated playlists.
Sample response
[ { "baseline": <str>, "description": <str>, "graphics": { "background": <str>, "foreground": <str> }, "images": { "large": <str>, "small": <str> }, "step_pagination": <int>, "title": <str>, "type": <str> } ]
- get_track_recommendations(seed_track_ids: int | str | Collection[int | str], /, exclude_track_ids: int | str | Collection[int | str] | None = None, *, limit: int | None = None) dict[str, Any][source]¶
Get track recommendations based on seed tracks.
User authentication
- User authentication
Access the
POST /dynamic/suggestendpoint.
- Parameters:
- seed_track_idsint | str | Collection[int | str]; positional-only
Qobuz IDs of seed tracks.
Examples:
23929516,"344521217","23929516,344521217",[23929516, "344521217"].- exclude_track_idsint | str | Collection[int | str]; optional
Qobuz IDs of tracks to exclude.
Examples:
256316240,"53859680","256316240,53859680",[256316240, "53859680"].- limitint; keyword-only; optional
Maximum number of items to return.
Valid range:
1to500.API default:
50.
- Returns:
- recommendationsdict[str, Any]
Qobuz metadata for the tracks recommended based on the seed tracks.
Sample response
{ "algorithm": <str>, "tracks": { "items": [ { "album": { "artist": { "albums_count": <int>, "id": <int>, "image": None, "name": <str>, "picture": None, "slug": <str>, }, "displayable": <bool>, "downloadable": <bool>, "duration": <int>, "genre": { "id": <int>, "name": <str>, "path": <list[int]>, "slug": <str> }, "hires": <bool>, "hires_streamable": <bool>, "id": <str>, "image": { "large": <str>, "small": <str>, "thumbnail": <str> }, "label": { "albums_count": <int>, "id": <int>, "name": <str>, "slug": <str>, "supplier_id": <int> }, "maximum_bit_depth": <int>, "maximum_channel_count": <int>, "maximum_sampling_rate": <float>, "media_count": <int>, "parental_warning": <bool>, "popularity": <int>, "previewable": <bool>, "purchasable": <bool>, "purchasable_at": None, "qobuz_id": <int>, "release_date_download": <str>, "release_date_original": <str>, "release_date_stream": <str>, "released_at": <int>, "sampleable": <bool>, "streamable": <bool>, "streamable_at": <int>, "title": <str>, "tracks_count": <int>, "upc": <str>, "version": <str> }, "audio_info": { "replaygain_track_gain": <float>, "replaygain_track_peak": <float> }, "composer": { "id": <int>, "name": <str> }, "copyright": <str>, "displayable": <bool>, "downloadable": <bool>, "duration": <int>, "hires": <bool>, "hires_streamable": <bool>, "id": <int>, "isrc": <str>, "maximum_bit_depth": <int>, "maximum_channel_count": <int>, "maximum_sampling_rate": <float>, "media_number": <int>, "parental_warning": <bool>, "performer": { "id": <int>, "name": <str> }, "performers": <str>, "previewable": <bool>, "purchasable": <bool>, "purchasable_at": <int>, "sampleable": <bool>, "streamable": <bool>, "streamable_at": <int>, "title": <str>, "track_number": <int>, "version": <str>, "work": None } ], "limit": <int> } }