PrivateSearchAPI¶
- class minim.api.qobuz.PrivateSearchAPI(client: APIClient, /)[source]¶
Bases:
PrivateQobuzResourceAPISearch-related endpoints for the private Qobuz API.
Note
This class groups search-related endpoints for convenience. Qobuz does not provide a dedicated Search 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
Search for albums, artists, playlists, stories, and/or tracks in the Qobuz catalog.
Search for albums in the Qobuz catalog.
Search for artists in the Qobuz catalog.
Get Qobuz catalog information for the 30 most popular albums, artists, and tracks that match a keyword string.
Search for playlists in the Qobuz catalog.
Search for stories in the Qobuz catalog.
Search for tracks in the Qobuz catalog.
- search(query: str, /, *, limit: int | None = None, offset: int | None = None) dict[str, Any][source]¶
Search for albums, artists, playlists, stories, and/or tracks in the Qobuz catalog.
- Parameters:
- querystr; positional-only
Search query.
Tip
Searches can be narrowed using tags, such as
#ByMainArtist,#ByComposer,#ByPerformer,#ByReleaseName,#ByLabel,#NewRelease, and#HiRes.Use strict matching instead of fuzzy search by wrapping the keyword string in double quotes.
Example:
"Galantis" #ByMainArtist #HiRes.- limitint; keyword-only; optional
Maximum number of items to return.
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.
Minimum value:
0.API default:
0.
- Returns:
- itemsdict[str, Any]
Page of Qobuz metadata for the matching catalog items.
Sample response
{ "albums": { "items": [ { "articles": [], "artist": { "albums_count": <int>, "id": <int>, "image": None, "name": <str>, "picture": None, "slug": <str> }, "artists": [ { "id": <int>, "name": <str>, "roles": <list[str]> } ], "displayable": <bool>, "downloadable": <bool>, "duration": <int>, "genre": { "color": <str>, "id": <int>, "name": <str>, "path": <list[int]>, "slug": <str> }, "hires": <bool>, "hires_streamable": <bool>, "id": <str>, "image": { "back": None, "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": <int>, "qobuz_id": <int>, "release_date_download": <str>, "release_date_original": <str>, "release_date_stream": <str>, "released_at": <int>, "sampleable": <bool>, "slug": <str>, "streamable": <bool>, "streamable_at": <int>, "title": <str>, "tracks_count": <int>, "upc": <str>, "url": <str>, "version": <str> } ], "limit": <int>, "offset": <int>, "total": <int> }, "artists": { "items": [ { "albums_count": <int>, "id": <int>, "image": { "extralarge": <str>, "large": <str>, "medium": <str>, "mega": <str>, "small": <str> }, "name": <str>, "picture": <str>, "slug": <str> } ], "limit": <int>, "offset": <int>, "total": <int> }, "most_popular": { "items": [ { "content": { "articles": [], "artist": { "albums_count": <int>, "id": <int>, "image": None, "name": <str>, "picture": None, "slug": <str>, }, "artists": [ { "id": <int>, "name": <str>, "roles": <list[str]> } ], "displayable": <bool>, "downloadable": <bool>, "duration": <int>, "genre": { "color": <str>, "id": <int>, "name": <str>, "path": <list[int]>, "slug": <str> }, "hires": <bool>, "hires_streamable": <bool>, "id": <str>, "image": { "back": None, "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": <int>, "qobuz_id": <int>, "release_date_download": <str>, "release_date_original": <str>, "release_date_stream": <str>, "released_at": <int>, "sampleable": <bool>, "slug": <str>, "streamable": <bool>, "streamable_at": <int>, "title": <str>, "tracks_count": <int>, "type": <str>, "upc": <str>, "url": <str>, "version": <str> }, "type": "albums" }, { "content": { "albums_count": <int>, "id": <int>, "image": { "extralarge": <str>, "large": <str>, "medium": <str>, "mega": <str>, "small": <str> }, "name": <str>, "picture": <str>, "slug": <str>, "type": "artists" }, "type": "artists" }, { "content": { "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>, "maximum_technical_specifications": <str>, "media_count": <int>, "parental_warning": <bool>, "previewable": <bool>, "purchasable": <bool>, "purchasable_at": None, "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>, "tracks_count": <int>, "upc": <str>, "version": <str> }, "article_ids": dict[str, int], "articles": [ { "currency": <str>, "description": <str>, "id": <int>, "label": <str>, "price": <float>, "type": <str>, "url": <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>, "maximum_technical_specifications": <str>, "media_number": <int>, "parental_warning": <bool>, "performer": { "id": <int>, "name": <str> }, "performers": <str>, "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>, "track_number": <int>, "type": "tracks", "version": <str>, "work": None }, "type": "tracks" } ], "limit": <int>, "offset": <int>, "total": <int> }, "query": <str>, "stories": { "items": [ { "authors": [ { "id": <str>, "name": <str>, "slug": <str> } ], "description_short": <str>, "display_date": <int>, "id": <str>, "image": <str>, "images": [ { "format": <str>, "url": <str> } ], "section_slugs": <list[str]>, "title": <str> } ], "limit": <int>, "offset": <int>, "total": <int> }, "tracks": { "items": [ { "album": { "artist": { "albums_count": <int>, "id": <int>, "image": None, "name": <str>, "picture": None, "slug": <str> }, "displayable": <bool>, "downloadable": <bool>, "duration": <int>, "genre": { "color": <int>, "id": <int>, "name": <int>, "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": <int>, "maximum_technical_specifications": <str>, "media_count": <int>, "parental_warning": <bool>, "previewable": <bool>, "purchasable": <bool>, "purchasable_at": <int>, "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>, "tracks_count": <int>, "upc": <str>, "version": <str> }, "audio_info": { "replaygain_track_gain": <float>, "replaygain_track_peak": <float> }, "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>, "maximum_technical_specifications": <str>, "media_number": <int>, "parental_warning": <bool>, "performer": { "id": <int>, "name": <str> }, "performers": <str>, "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>, "track_number": <int>, "version": <str>, "work": None } ], "limit": <int>, "offset": <int>, "total": <int> } }
- search_albums(query: str, /, *, limit: int | None = None, offset: int | None = None) dict[str, Any][source]¶
Search for albums in the Qobuz catalog.
- Parameters:
- querystr; positional-only
Search query.
Tip
Searches can be narrowed using tags, such as
#ByMainArtist,#ByComposer,#ByPerformer,#ByReleaseName,#ByLabel,#NewRelease, and#HiRes.Use strict matching instead of fuzzy search by wrapping the keyword string in double quotes.
Example:
"Galantis" #ByMainArtist #HiRes.- limitint; keyword-only; optional
Maximum number of albums to return.
Valid range:
1to500.API default:
50.- offsetint; keyword-only; optional
Index of the first album to return. Use with limit to get the next batch of albums.
Minimum value:
0.API default:
0.
- Returns:
- albumsdict[str, Any]
Page of Qobuz metadata for the matching albums.
Sample response
{ "albums": { "items": [ { "articles": [], "artist": { "albums_count": <int>, "id": <int>, "image": None, "name": <str>, "picture": None, "slug": <str> }, "artists": [ { "id": <int>, "name": <str>, "roles": <list[str]> } ], "displayable": <bool>, "downloadable": <bool>, "duration": <int>, "genre": { "color": <str>, "id": <int>, "name": <str>, "path": <list[int]>, "slug": <str> }, "hires": <bool>, "hires_streamable": <bool>, "id": <str>, "image": { "back": None, "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": <int>, "qobuz_id": <int>, "release_date_download": <str>, "release_date_original": <str>, "release_date_stream": <str>, "released_at": <int>, "sampleable": <bool>, "slug": <str>, "streamable": <bool>, "streamable_at": <int>, "title": <str>, "tracks_count": <int>, "upc": <str>, "url": <str>, "version": <str> } ], "limit": <int>, "offset": <int>, "total": <int> }, "query": <str> }
- search_artists(query: str, /, *, limit: int | None = None, offset: int | None = None) dict[str, Any][source]¶
Search for artists in the Qobuz catalog.
- Parameters:
- querystr; positional-only
Search query.
Tip
Searches can be narrowed using tags, such as
#ByMainArtist,#ByComposer,#ByPerformer,#ByReleaseName,#ByLabel,#NewRelease, and#HiRes.Use strict matching instead of fuzzy search by wrapping the keyword string in double quotes.
Example:
"Galantis" #ByMainArtist #HiRes.- limitint; keyword-only; optional
Maximum number of artists to return.
Valid range:
1to500.API default:
50.- offsetint; keyword-only; optional
Index of the first artist to return. Use with limit to get the next batch of artists.
Minimum value:
0.API default:
0.
- Returns:
- artistsdict[str, Any]
Page of Qobuz metadata for the matching artists.
Sample response
{ "artists": { "items": [ { "albums_count": <int>, "id": <int>, "image": { "extralarge": <str>, "large": <str>, "medium": <str>, "mega": <str>, "small": <str> }, "name": <str>, "picture": <str>, "slug": <str> } ], "limit": <int>, "offset": <int>, "total": <int> }, "query": <str> }
- search_most_popular(query: str, /, *, offset: int | None = None) dict[str, Any][source]¶
Get Qobuz catalog information for the 30 most popular albums, artists, and tracks that match a keyword string.
- Parameters:
- querystr; positional-only
Search query.
Tip
Searches can be narrowed using tags, such as
#ByMainArtist,#ByComposer,#ByPerformer,#ByReleaseName,#ByLabel,#NewRelease, and#HiRes.Use strict matching instead of fuzzy search by wrapping the keyword string in double quotes.
Example:
"Galantis" #ByMainArtist #HiRes.- offsetint; keyword-only; optional
Index of the first item to return.
Minimum value:
0.API default:
0.
- Returns:
- itemsdict[str, Any]
Page of Qobuz metadata for the most popular items.
Sample response
{ "most_popular": { "items": [ { "content": { "articles": [], "artist": { "albums_count": <int>, "id": <int>, "image": None, "name": <str>, "picture": None, "slug": <str>, }, "artists": [ { "id": <int>, "name": <str>, "roles": <list[str]> } ], "displayable": <bool>, "downloadable": <bool>, "duration": <int>, "genre": { "color": <str>, "id": <int>, "name": <str>, "path": <list[int]>, "slug": <str> }, "hires": <bool>, "hires_streamable": <bool>, "id": <str>, "image": { "back": None, "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": <int>, "qobuz_id": <int>, "release_date_download": <str>, "release_date_original": <str>, "release_date_stream": <str>, "released_at": <int>, "sampleable": <bool>, "slug": <str>, "streamable": <bool>, "streamable_at": <int>, "title": <str>, "tracks_count": <int>, "type": <str>, "upc": <str>, "url": <str>, "version": <str> }, "type": "albums" }, { "content": { "albums_count": <int>, "id": <int>, "image": { "extralarge": <str>, "large": <str>, "medium": <str>, "mega": <str>, "small": <str> }, "name": <str>, "picture": <str>, "slug": <str>, "type": "artists" }, "type": "artists" }, { "content": { "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>, "maximum_technical_specifications": <str>, "media_count": <int>, "parental_warning": <bool>, "previewable": <bool>, "purchasable": <bool>, "purchasable_at": None, "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>, "tracks_count": <int>, "upc": <str>, "version": <str> }, "article_ids": dict[str, int], "articles": [ { "currency": <str>, "description": <str>, "id": <int>, "label": <str>, "price": <float>, "type": <str>, "url": <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>, "maximum_technical_specifications": <str>, "media_number": <int>, "parental_warning": <bool>, "performer": { "id": <int>, "name": <str> }, "performers": <str>, "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>, "track_number": <int>, "type": "tracks", "version": <str>, "work": None }, "type": "tracks" } ], "limit": <int>, "offset": <int>, "total": <int> }, "query": <str> }
- search_playlists(query: str, /, *, limit: int | None = None, offset: int | None = None) dict[str, Any][source]¶
Search for playlists in the Qobuz catalog.
- Parameters:
- querystr; positional-only
Search query.
Tip
Searches can be narrowed using tags, such as
#ByMainArtist,#ByComposer,#ByPerformer,#ByReleaseName,#ByLabel,#NewRelease, and#HiRes.Use strict matching instead of fuzzy search by wrapping the keyword string in double quotes.
Example:
"Galantis" #ByMainArtist #HiRes.- limitint; keyword-only; optional
Maximum number of playlists to return.
Valid range:
1to500.API default:
50.- offsetint; keyword-only; optional
Index of the first playlist to return. Use with limit to get the next batch of playlists.
Minimum value:
0.API default:
0.
- Returns:
- playlistsdict[str, Any]
Page of Qobuz metadata for the matching playlists.
Sample response
{ "playlists": { "items": [ { "created_at": <int>, "description": <str>, "duration": <int>, "featured_artists": [ { "albums_count": <int>, "id": <int>, "image": None, "name": <str>, "picture": None, "slug": <str> } ], "genres": [ { "color": <str>, "id": <int>, "name": <str>, "path": <list[int]>, "percent": <int>, "slug": <str> } ], "id": <int>, "image_rectangle": <list[str]>, "image_rectangle_mini": <list[str]>, "images": <list[str]>, "images150": <list[str]>, "images300": <list[str]>, "indexed_at": <int>, "is_collaborative": <bool>, "is_featured": <bool>, "is_public": <bool>, "is_published": <bool>, "name": <str>, "owner": { "id": <int>, "name": <str> }, "public_at": <int>, "published_from": <int>, "published_to": <int>, "slug": <str>, "stores": <list[str]>, "tags": [ { "color": <str>, "featured_tag_id": <str>, "genre_tag": { "genre_id": <str>, "name": <str> }, "is_discover": <bool>, "name_json": <str>, "slug": <str> } ], "timestamp_position": <int>, "tracks_count": <int>, "updated_at": <int>, "users_count": <int> } ], "limit": <int>, "offset": <int>, "total": <int> }, "query": <str> }
- search_stories(query: str, /, *, limit: int | None = None, offset: int | None = None) dict[str, Any][source]¶
Search for stories in the Qobuz catalog.
- Parameters:
- querystr; positional-only
Search query.
Tip
Searches can be narrowed using tags, such as
#ByMainArtist,#ByComposer,#ByPerformer,#ByReleaseName,#ByLabel,#NewRelease, and#HiRes.Use strict matching instead of fuzzy search by wrapping the keyword string in double quotes.
Example:
"Galantis" #ByMainArtist #HiRes.- limitint; keyword-only; optional
Maximum number of stories to return.
Valid range:
1to500.API default:
50.- offsetint; keyword-only; optional
Index of the first story to return. Use with limit to get the next batch of stories.
Minimum value:
0.API default:
0.
- Returns:
- storiesdict[str, Any]
Page of Qobuz metadata for the matching stories.
Sample response
{ "query": <str>, "stories": { "items": [ { "authors": [ { "id": <str>, "name": <str>, "slug": <str> } ], "description_short": <str>, "display_date": <int>, "id": <str>, "image": <str>, "images": [ { "format": <str>, "url": <str> } ], "section_slugs": <list[str]>, "title": <str> } ], "limit": <int>, "offset": <int>, "total": <int> } }
- search_tracks(query: str, /, *, limit: int | None = None, offset: int | None = None) dict[str, Any][source]¶
Search for tracks in the Qobuz catalog.
- Parameters:
- querystr; positional-only
Search query.
Tip
Searches can be narrowed using tags, such as
#ByMainArtist,#ByComposer,#ByPerformer,#ByReleaseName,#ByLabel,#NewRelease, and#HiRes.Use strict matching instead of fuzzy search by wrapping the keyword string in double quotes.
Example:
"Galantis" #ByMainArtist #HiRes.- limitint; keyword-only; optional
Maximum number of tracks to return.
Valid range:
1to500.API default:
50.- offsetint; keyword-only; optional
Index of the first track to return. Use with limit to get the next batch of tracks.
Minimum value:
0.API default:
0.
- Returns:
- tracksdict[str, Any]
Page of Qobuz metadata for the matching tracks.
Sample response
{ "query": <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": { "color": <int>, "id": <int>, "name": <int>, "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": <int>, "maximum_technical_specifications": <str>, "media_count": <int>, "parental_warning": <bool>, "previewable": <bool>, "purchasable": <bool>, "purchasable_at": <int>, "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>, "tracks_count": <int>, "upc": <str>, "version": <str> }, "audio_info": { "replaygain_track_gain": <float>, "replaygain_track_peak": <float> }, "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>, "maximum_technical_specifications": <str>, "media_number": <int>, "parental_warning": <bool>, "performer": { "id": <int>, "name": <str> }, "performers": <str>, "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>, "track_number": <int>, "version": <str>, "work": None } ], "limit": <int>, "offset": <int>, "total": <int> } }