API

class minim.tidal.API(*, client_id: str = None, client_secret: str = None, flow: str = 'client_credentials', browser: bool = False, web_framework: str = None, port: int | str = 8888, redirect_uri: str = None, scopes: str | list[str] = '', access_token: str = None, refresh_token: str = None, expiry: datetime | str = None, overwrite: bool = False, save: bool = True)[source]

Bases: object

TIDAL API client.

The TIDAL API exposes TIDAL functionality and data, making it possible to build applications that can search for and retrieve metadata from the TIDAL catalog.

See also

For more information, see the TIDAL API Reference.

Requests to the TIDAL API endpoints must be accompanied by a valid access token in the header. An access token can be obtained with or without user authentication. While authentication is not necessary to search for and retrieve data from public content, it is required to access personal content and control playback.

Minim can obtain client-only access tokens via the client credentials flow and user access tokens via the authorization code with proof key for code exchange (PKCE) flow. These OAuth 2.0 authorization flows require valid client credentials (client ID and client secret) to either be provided to this class’s constructor as keyword arguments or be stored as TIDAL_CLIENT_ID and TIDAL_CLIENT_SECRET in the operating system’s environment variables.

See also

To get client credentials, see the guide on how to register a new TIDAL application.

If an existing access token is available, it and its accompanying information (refresh token and expiry time) can be provided to this class’s constructor as keyword arguments to bypass the access token retrieval process. It is recommended that all other authorization-related keyword arguments be specified so that a new access token can be obtained when the existing one expires.

Tip

The authorization flow and access token can be changed or updated at any time using set_flow() and set_access_token(), respectively.

Minim also stores and manages access tokens and their properties. When an access token is acquired, it is automatically saved to the Minim configuration file to be loaded on the next instantiation of this class. This behavior can be disabled if there are any security concerns, like if the computer being used is a shared device.

Parameters:
client_idstr, keyword-only, optional

Client ID. Required for the client credentials flow. If it is not stored as TIDAL_CLIENT_ID in the operating system’s environment variables or found in the Minim configuration file, it must be provided here.

client_secretstr, keyword-only, optional

Client secret. Required for the client credentials flow. If it is not stored as TIDAL_CLIENT_SECRET in the operating system’s environment variables or found in the Minim configuration file, it must be provided here.

flowstr, keyword-only, optional

Authorization flow.

Valid values:

  • "client_credentials" for the client credentials flow.

  • "pkce" for the authorization code with proof key for code exchange (PKCE) flow.

browserbool, keyword-only, default: False

Determines whether a web browser is automatically opened for the authorization code (with PKCE) flow. If False, users will have to manually open the authorization URL. Not applicable when web_framework=”playwright”.

web_frameworkstr, keyword-only, optional

Determines which web framework to use for the authorization code (with PKCE) flow.

Valid values:

  • "http.server" for the built-in implementation of HTTP servers.

  • "flask" for the Flask framework.

  • "playwright" for the Playwright framework by Microsoft.

portint or str, keyword-only, default: 8888

Port on localhost to use for the authorization code flow with the http.server and Flask frameworks. Only used if redirect_uri is not specified.

redirect_uristr, keyword-only, optional

Redirect URI for the authorization code flow. If not on localhost, the automatic authorization code retrieval functionality is not available.

scopesstr or list, keyword-only, optional

Authorization scopes to request user access for in the authorization code flow.

See also

See get_scopes() for the complete list of scopes.

access_tokenstr, keyword-only, optional

Access token. If provided here or found in the Minim configuration file, the authorization process is bypassed. In the former case, all other relevant keyword arguments should be specified to automatically refresh the access token when it expires.

expirydatetime.datetime or str, keyword-only, optional

Expiry time of access_token in the ISO 8601 format %Y-%m-%dT%H:%M:%SZ. If provided, the user will be reauthenticated using the specified authorization flow (if possible) when access_token expires.

overwritebool, keyword-only, default: False

Determines whether to overwrite an existing access token in the Minim configuration file.

savebool, keyword-only, default: True

Determines whether newly obtained access tokens and their associated properties are stored to the Minim configuration file.

Attributes:
sessionrequests.Session

Session used to send requests to the TIDAL API.

API_URLstr

Base URL for the TIDAL API.

AUTH_URLstr

URL for TIDAL API authorization code requests.

TOKEN_URLstr

URL for the TIDAL API token endpoint.

Methods

add_playlist_items

Playlists > Add playlist items: Add items to a playlist.

create_playlist

Playlists > Create single playlist: Create a new playlist.

delete_playlist

Playlists > Delete single playlist: Delete an existing playlist.

delete_playlist_items

Playlists > Delete playlist items: Remove items from a playlist.

get_album

Albums > Get single album: Retrieve a single album by ID.

get_album_artists

Albums > Get album artists: Retrieve main artists associated with an album.

get_album_cover_art

Albums > Get album cover art: Retrieve cover artwork associated with an album.

get_album_items

Albums > Get album items: Retrieve items in an album.

get_album_owners

Albums > Get album owners: Retrieve TIDAL catalog entries that contain an album.

get_album_providers

Albums > Get album providers: Retrieve providers of an album.

get_album_relationship

Retrieve information related to an album.

get_albums

Albums > Get multiple albums: Retrieve multiple albums using available filters.

get_artist

Artists > Get single artist: Retrieves a single artist.

get_artist_albums

Artists > Get artist's albums: Retrieve an artist's albums.

get_artist_biography

Artists > Get artist's biography: Retrieve an artist's biography.

get_artist_owners

Artists > Get artist's owners: Retrieve TIDAL catalog entries that contain an artist.

get_artist_profile_art

Artists > Get artist's profile artwork: Retrieve an artist's profile artwork.

get_artist_radio

Artists > Get artist's radio: Retrieve an artist's radio.

get_artist_relationship

Retrieve information related to an artist.

get_artist_roles

Artists > Get artist's roles: Retrieve an artist's roles.

get_artist_track_providers

Artists > Get artist's track providers: Retrieve an artist's track providers.

get_artist_tracks

Artists > Get artist's tracks: Retrieve an artist's tracks.

get_artist_videos

Artists > Get artist's videos: Retrieve an artist's videos.

get_artists

Artists > Get multiple artists: Retrieves multiple artists using available filters.

get_artwork

Artworks > Get single artwork: Retrieve a single artwork.

get_artwork_owners

Artworks > Get artwork owners: Retrieve the owners of an artwork.

get_artworks

Artworks > Get multiple artworks: Retrieve multiple artworks.

get_collection_relationship

Retrieve items in a user's collection.

get_discovery_mixes

User Recommendations > Get discovery mixes: Retrieve discovery mixes for a user.

get_me

Users > Get current user: Retrieve information about the authenticated user.

get_mixes

Retrieve mixes of a specific type for a user.

get_new_arrival_mixes

User Recommendations > Get new arrival mixes: Retrieve new arrival mixes for a user.

get_playlist

Playlists > Get single playlist: Retrieve a single playlist.

get_playlist_cover_art

Playlists > Get playlist cover art: Retrieve the cover art for a playlist.

get_playlist_items

Playlists > Get playlist items: Retrieve the items in a playlist.

get_playlist_owners

Playlists > Get playlist owners: Retrieve the owners of a playlist.

get_playlist_relationship

Retrieve information related to a playlist.

get_playlists

Playlists > Get multiple playlists: Retrieve multiple playlists.

get_provider

Providers > Get provider: Retrieve a specific provider by ID.

get_providers

Providers > Get providers: Retrieve multiple providers by their IDs.

get_role

Artist Roles > Get single artist role: Retrieves a single artist role.

get_roles

Artist Roles > Get multiple artist roles: Retrieves multiple artist roles.

get_saved_albums

User Collections > Get albums in user's collection: Get TIDAL catalog information for albums in a user's collection.

get_saved_artists

User Collections > Get artists in user's collection: Get TIDAL catalog information for artists in a user's collection.

get_saved_owners

User Collections > Get owners of user's collection: Get TIDAL catalog information for owners of a user's collection.

get_saved_playlists

User Collections > Get playlists in user's collection: Get TIDAL catalog information for playlists in a user's collection.

get_saved_tracks

User Collections > Get tracks in user's collection: Get TIDAL catalog information for tracks in a user's collection.

get_saved_videos

User Collections > Get videos in user's collection: Get TIDAL catalog information for videos in a user's collection.

get_scopes

Get TIDAL API authorization scopes for the specified categories.

get_search_direct_hits

Search Suggestions > Get search direct hits: Retrieve direct hits for search suggestions given a query.

get_search_suggestion

Search Suggestions > Get search suggestion: Retrieve a single search suggestion for a given query.

get_similar_albums

Albums > Get similar albums: Retrieve albums similar to a given album.

get_similar_artists

Artists > Get similar artists: Retrieve similar artists for a given artist.

get_similar_tracks

Tracks > Get similar tracks: Retrieve similar tracks for a track.

get_track

Tracks > Get single track: Retrieve a single track by ID.

get_track_albums

Tracks > Get track albums: Retrieve albums containing a track.

get_track_artists

Tracks > Get track artists: Retrieve artists of a track.

get_track_owners

Tracks > Get track owners: Retrieve owners of a track.

get_track_providers

Tracks > Get track providers: Retrieve providers of a track.

get_track_radio

Tracks > Get track radio: Retrieve radio information for a track.

get_track_relationship

Retrieve information related to a track.

get_track_source_file

Tracks > Get track source file: Retrieve source file information for a track.

get_track_statistics

Tracks > Get track statistics: Retrieve statistics about a track.

get_tracks

Tracks > Get multiple tracks: Retrieve multiple tracks by their IDs, ISRCs, or user IDs.

get_user_collection

User Collections > Get user's collection: Get a TIDAL user's collection.

get_user_entitlements

User Entitlements > Get user entitlements: Retrieve user entitlements.

get_user_mixes

User Recommendations > Get user mixes: Retrieve user mixes for a user.

get_user_recommendations

Users > Get user recommendations: Retrieve user recommendations.

get_video

Videos > Get single video: Retrieve a single video by ID.

get_video_albums

Videos > Get video albums: Retrieve albums containing a video.

get_video_artists

Videos > Get video artists: Retrieve artists associated with a video.

get_video_providers

Videos > Get video providers: Retrieve providers of a video.

get_video_relationship

Retrieve information related to a video.

get_video_thumbnail_art

Videos > Get video thumbnail art: Retrieve thumbnail art for a video.

get_videos

Videos > Get multiple videos: Retrieve multiple videos by their IDs or ISRCs.

modify_collection_relationship

Add/remove items of a relationship type to/from a user's collection.

remove_saved_albums

User Collections > Remove albums from user's collection: Remove albums from a user's collection.

remove_saved_artists

User Collections > Remove artists from user's collection: Remove artists from a user's collection.

remove_saved_playlists

User Collections > Remove playlists from user's collection: Remove playlists from a user's collection.

remove_saved_tracks

User Collections > Remove tracks from user's collection: Remove tracks from a user's collection.

remove_saved_videos

User Collections > Remove videos from user's collection: Remove videos from a user's collection.

save_albums

User Collections > Add albums to user's collection: Add albums to a user's collection.

save_artists

User Collections > Add artists to user's collection: Add artists to a user's collection.

save_playlists

User Collections > Add playlists to user's collection: Add playlists to a user's collection.

save_tracks

User Collections > Add tracks to user's collection: Add tracks to a user's collection.

save_videos

User Collections > Add videos to user's collection: Add videos to a user's collection.

search

Search Results > Search: Search for content in the TIDAL catalog.

search_albums

Search Results > Search albums: Search for albums in the TIDAL catalog.

search_artists

Search Results > Search artists: Search for artists in the TIDAL catalog.

search_playlists

Search Results > Search playlists: Search for playlists in the TIDAL catalog.

search_relationship

Retrieve information based on a search query.

search_top_hits

Search Results > Search top hits: Search for top hits in the TIDAL catalog.

search_tracks

Search Results > Search tracks: Search for tracks in the TIDAL catalog.

search_videos

Search Results > Search videos: Search for videos in the TIDAL catalog.

set_access_token

Set the TIDAL API access token.

set_flow

Set the authorization flow.

update_playlist

Playlists > Update single playlist: Update an existing playlist.

update_playlist_items

Playlists > Update playlist items: Update items in a playlist.

add_playlist_items(playlist_uuid: str, items: list[tuple[int | str, str], dict[str, str]], before_item_uuid: int | str = None) None[source]

Playlists > Add playlist items: Add items to a playlist.

Authorization scope

Requires the playlists.write scope.

Parameters:
playlist_uuidstr

TIDAL playlist UUID.

Example: "550e8400-e29b-41d4-a716-446655440000".

itemslist

A list of items to add to the playlist. Each item can be either a tuple of (id, type) or a dictionary with keys id and type, where id is the TIDAL item ID and type is the item type ("tracks" or "videos").

before_item_uuidint or str, optional

UUID of the item before which the new items should be added. If not specified, the items will be appended to the end of the playlist.

create_playlist(name: str, /, *, description: str | None = None, public: bool = True) dict[str, Any][source]

Playlists > Create single playlist: Create a new playlist.

Authorization scope

Requires the playlists.write scope.

Parameters:
namestr, positional-only

Playlist name.

descriptionstr, keyword-only, optional

Playlist description.

publicbool, keyword-only, default: True

Specifies whether the playlist is public.

Returns:
playlistdict

A dictionary containing the created playlist’s information.

delete_playlist(playlist_uuid: str, /) None[source]

Playlists > Delete single playlist: Delete an existing playlist.

Authorization scope

Requires the playlists.write scope.

Parameters:
playlist_uuidstr, positional-only

TIDAL playlist UUID.

delete_playlist_items(playlist_uuid: str, items: list[tuple[int | str, str, str], dict[str, str]]) None[source]

Playlists > Delete playlist items: Remove items from a playlist.

Authorization scope

Requires the playlists.write scope.

Parameters:
playlist_uuidstr

TIDAL playlist UUID.

Example: "550e8400-e29b-41d4-a716-446655440000".

itemslist

A list of items to remove from the playlist. Each item can be either a tuple of (id, type, uuid) or a dictionary with keys id, type, and meta, where id is the TIDAL item ID, type is the item type ("tracks" or "videos"), and uuid is the TIDAL item UUID.

get_album(album_id: int | str, /, country_code: str, *, include: str | list[str] | None = None) dict[str, Any][source]

Albums > Get single album: Retrieve a single album by ID.

Parameters:
album_idint or str, positional-only

TIDAL album ID.

Example: 251380836.

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includestr or list, keyword-only, optional

Related resource(s) that should be included in the response.

Valid values: "artists", "coverArt", "genres", "items", "owners", "providers", and "similarAlbums".

Examples: "artists", "artists,coverArt", and ["artists", "coverArt"].

Returns:
albumdict

TIDAL catalog information and related resources for a single album.

get_album_artists(album_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Albums > Get album artists: Retrieve main artists associated with an album.

Parameters:
album_idint or str, positional-only

TIDAL album ID.

Examples: 251380836 and "251380836".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
artistsdict

A dictionary containing TIDAL catalog information for the main artists associated with the album.

get_album_cover_art(album_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Albums > Get album cover art: Retrieve cover artwork associated with an album.

Parameters:
album_idint or str, positional-only

TIDAL album ID.

Examples: 251380836 and "251380836".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
cover_artdict

A dictionary containing TIDAL catalog information for the cover artwork associated with the album.

get_album_items(album_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Albums > Get album items: Retrieve items in an album.

Parameters:
album_idint or str, positional-only

TIDAL album ID.

Examples: 251380836 and "251380836".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
album_itemsdict

A dictionary containing TIDAL catalog information for the items in the album.

get_album_owners(album_id: int | str, /, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Albums > Get album owners: Retrieve TIDAL catalog entries that contain an album.

User authentication

Requires user authentication via the authorization code flow.

Parameters:
album_idint or str, positional-only

TIDAL album ID.

Examples: 251380836 and "251380836".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
ownersdict

A dictionary containing TIDAL catalog information for the owners of the album.

get_album_providers(album_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Albums > Get album providers: Retrieve providers of an album.

Parameters:
album_idint or str, positional-only

TIDAL album ID.

Examples: 251380836 and "251380836".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
providersdict

A dictionary containing TIDAL catalog information for the providers of the album.

get_album_relationship(album_id: int | str, relationship: str, /, *, include: bool = False, cursor: int | str | None = None, **kwargs) dict[str, Any][source]

Retrieve information related to an album.

Note

This method is provided for convenience and is not a TIDAL API endpoint.

Parameters:
album_idint or str, positional-only

TIDAL album ID.

Examples: 251380836 and "251380836".

relationshipstr, positional-only

Relationship type.

Valid values: "artists", "coverArt", "items", "owners", "providers", or "similarAlbums".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

**kwargs

Keyword arguments.

Returns:
album_relationshipdict

A dictionary containing TIDAL catalog information for the specified album relationship.

get_albums(country_code: str, *, album_ids: int | str | list[int | str] | None = None, barcode_ids: int | str | list[int | str] | None = None, user_ids: int | str | list[int | str] | None = None, include: str | list[str] | None = None, cursor: int | str | None = None) dict[str, Any][source]

Albums > Get multiple albums: Retrieve multiple albums using available filters.

Parameters:
country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

album_idsint, str, or list, keyword-only, optional

TIDAL album ID(s). Only optional if either barcode_ids or user_ids is provided.

Examples: 251380836, "251380836", "251380836,275646830", [251380836, 275646830], and ["251380836", "275646830"].

barcode_idsint, str, or list, keyword-only, optional

TIDAL album barcode ID(s). Only optional if either album_ids or user_ids is provided.

Examples: 196589525444, "196589525444", "196589525444,075679933652", [196589525444, 075679933652], and ["196589525444", "075679933652"]

user_idsint, str, or list, keyword-only, optional

TIDAL user ID(s). Only optional if either album_ids or barcode_ids is provided.

Examples: 123456, "123456", "123456,789012", [123456, 789012], and ["123456, 789012"].

includestr or list, keyword-only, optional

Related resource(s) that should be included in the response.

Valid values: "artists", "coverArt", "genres", "items", "owners", "providers", and "similarAlbums".

Examples: "artists", "artists,coverArt", and ["artists", "coverArt"].

cursorint or str, keyword-only, optional

Pagination cursor. If not specified, the first page of results will be returned.

Returns:
albumsdict

A dictionary containing TIDAL catalog information and related resources for multiple albums.

get_artist(artist_id: str, /, country_code: str, *, include: str | list[str] | None = None) dict[str, Any][source]

Artists > Get single artist: Retrieves a single artist.

Parameters:
artist_idstr, positional-only

TIDAL artist ID.

Examples: 1566 and "1566".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includestr or list, keyword-only, optional

Related resource(s) that should be included in the response.

Valid values: "albums", "biography", "followers", "following", "owners", "profileArt", "radio", "roles", "similarArtists", "trackProviders", "tracks", "videos".

Examples: "albums", "albums,biography", and ["albums", "biography"].

Returns:
artistdict

A dictionary containing TIDAL catalog information for the artist.

get_artist_albums(artist_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Artists > Get artist’s albums: Retrieve an artist’s albums.

Parameters:
artist_idint or str, positional-only

TIDAL artist ID.

Examples: 1566 and "1566".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
albumsdict

A dictionary containing TIDAL catalog information for the artist’s albums.

get_artist_biography(artist_id: int | str, /, country_code: str, *, include: bool = False) dict[str, Any][source]

Artists > Get artist’s biography: Retrieve an artist’s biography.

Parameters:
artist_idint or str, positional-only

TIDAL artist ID.

Examples: 1566 and "1566".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

Returns:
biographydict

A dictionary containing TIDAL catalog information for the artist’s biography.

get_artist_owners(artist_id: int | str, /, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Artists > Get artist’s owners: Retrieve TIDAL catalog entries that contain an artist.

User authentication

Requires user authentication via the authorization code flow.

Parameters:
artist_idint or str, positional-only

TIDAL artist ID.

Examples: 1566 and "1566".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
ownersdict

A dictionary containing TIDAL catalog information for the owners of the artist.

get_artist_profile_art(artist_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Artists > Get artist’s profile artwork: Retrieve an artist’s profile artwork.

Parameters:
artist_idint or str, positional-only

TIDAL artist ID.

Examples: 1566 and "1566".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
profile_artdict

A dictionary containing TIDAL catalog information for the artist’s profile artwork.

get_artist_radio(artist_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Artists > Get artist’s radio: Retrieve an artist’s radio.

Parameters:
artist_idint or str, positional-only

TIDAL artist ID.

Examples: 1566 and "1566".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
radiodict

A dictionary containing TIDAL catalog information for the artist’s radio.

get_artist_relationship(artist_id: int | str, relationship: str, /, include: bool = False, **kwargs) dict[str, Any][source]

Retrieve information related to an artist.

Note

This method is provided for convenience and is not a TIDAL API endpoint.

Parameters:
artist_idint or str, positional-only

TIDAL artist ID.

Examples: 1566 and "1566".

relationshipstr, positional-only

Relationship type.

Valid values: "albums", "biography", "owners", "profileArt", "radio", "roles", "similarArtists", "trackProviders", "tracks", or "videos".

includebool, keyword-only

Specifies whether to include TIDAL content metadata in the response.

**kwargs

Keyword arguments.

Returns:
album_relationshipdict

A dictionary containing TIDAL catalog information for the specified album relationship.

get_artist_roles(artist_id: int | str, /, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Artists > Get artist’s roles: Retrieve an artist’s roles.

Parameters:
artist_idint or str, positional-only

TIDAL artist ID.

Examples: 1566 and "1566".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
rolesdict

A dictionary containing TIDAL catalog information for the artist’s roles.

get_artist_track_providers(artist_id: int | str, /, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Artists > Get artist’s track providers: Retrieve an artist’s track providers.

Parameters:
artist_idint or str, positional-only

TIDAL artist ID.

Examples: 1566 and "1566".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
track_providersdict

A dictionary containing TIDAL catalog information for the artist’s track providers.

get_artist_tracks(artist_id: int | str, /, country_code: str, *, collapse_by: str = 'ID', include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Artists > Get artist’s tracks: Retrieve an artist’s tracks.

Parameters:
artist_idint or str, positional-only

TIDAL artist ID.

Examples: 1566 and "1566".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

collapse_bystr, keyword-only, default: "ID"

Collapse-by option.

Valid values: "FINGERPRINT" to collapse similar tracks based on entry fingerprints, or "ID" to always return all available items.

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
tracksdict

A dictionary containing TIDAL catalog information for the artist’s tracks.

get_artist_videos(artist_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Artists > Get artist’s videos: Retrieve an artist’s videos.

Parameters:
artist_idint or str, positional-only

TIDAL artist ID.

Examples: 1566 and "1566".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
videosdict

A dictionary containing TIDAL catalog information for the artist’s videos.

get_artists(country_code: str, *, include: str | list[str] | None = None, artist_ids: int | str | list[int | str] | None = None, artist_handles: str | list[str] | None = None) dict[str, Any][source]

Artists > Get multiple artists: Retrieves multiple artists using available filters.

Parameters:
country_codestr

ISO 3166-1 alpha-2 country code.

includestr or list, keyword-only, optional

Related resource(s) that should be included in the response.

Valid values: "albums", "biography", "followers", "following", "owners", "profileArt", "radio", "roles", "similarArtists", "trackProviders", "tracks", "videos".

Examples: "albums", "albums,biography", and ["albums", "biography"].

artist_idsint, str, or list, keyword-only, optional

TIDAL artist ID(s). Only optional if artist_handles is provided.

Examples: 1, "1", "1,2", [1, 2], and ["1", "2"].

artist_handlesstr or list, keyword-only, optional

TIDAL artist handle(s). Only optional if artist_ids is provided.

Examples: "artist_handle" and ["artist_handle"].

Returns:
artistsdict

A dictionary containing TIDAL catalog information for the artists.

get_artwork(artwork_id: str, /, country_code: str, *, include: str | list[str] = None) dict[str, Any][source]

Artworks > Get single artwork: Retrieve a single artwork.

Parameters:
artwork_idstr, positional-only

TIDAL artwork ID.

Example: "a468bee88def".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includestr or list, keyword-only, optional

Related resource(s) that should be included in the response.

Valid value: "owners".

Returns:
artworkdict

A dictionary containing TIDAL catalog information for the artwork.

get_artwork_owners(artwork_id: str, /, *, include: bool = False, cursor: int | str | None) dict[str, Any][source]

Artworks > Get artwork owners: Retrieve the owners of an artwork.

User authentication

Requires user authentication via the authorization code flow.

Parameters:
artwork_idstr, positional-only

TIDAL artwork ID.

Example: "a468bee88def".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
ownersdict

A dictionary containing TIDAL catalog information for the artwork owners.

get_artworks(artwork_ids: str | list[str], /, country_code: str, *, include: str | list[str] | None = None) dict[str, Any][source]

Artworks > Get multiple artworks: Retrieve multiple artworks.

Parameters:
artwork_idsstr or list, positional-only

TIDAL artwork ID(s).

Example: "a468bee88def", "a468bee88def,9344c45a869c", or ["a468bee88def", "9344c45a869c"].

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includestr or list, keyword-only, optional

Related resource(s) that should be included in the response.

Valid value: "owners".

Returns:
artworksdict

A dictionary containing TIDAL catalog information for the artworks.

get_collection_relationship(relationship: str, /, *, country_code: str = None, locale: str = None, include: bool = False, cursor: str = None, sort: str = None, **kwargs) dict[str, Any][source]

Retrieve items in a user’s collection.

Note

This method is provided for convenience and is not a TIDAL API endpoint.

Parameters:
relationshipstr, positional-only

Relationship type.

country_codestr, keyword-only, optional

ISO 3166-1 alpha-2 country code.

Example: "US".

localestr, keyword-only, optional

IETF BCP 47 language tag.

Default: "en_US" – English (U.S.).

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorstr, keyword-only, optional

Cursor for pagination.

Example: "3nI1Esi".

sortstr, keyword-only, optional

Field to sort the returned albums by. Values are sorted in descending order with the - prefix and in ascending order without.

Returns:
collection_relationshipdict

A dictionary containing TIDAL catalog information for the specified collection relationship.

get_discovery_mixes(country_code: str, locale: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

User Recommendations > Get discovery mixes: Retrieve discovery mixes for a user.

Parameters:
country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

localestr

IETF BCP 47 language tag.

Example: "en-US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

get_me() dict[str, Any][source]

Users > Get current user: Retrieve information about the authenticated user.

Returns:
user_infodict

A dictionary containing TIDAL catalog information for the authenticated user.

get_mixes(mix_type: str, /, country_code: str, locale: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Retrieve mixes of a specific type for a user.

Note

This method is provided for convenience and is not a TIDAL API endpoint.

Parameters:
user_idint or str, positional-only

TIDAL user ID.

Examples: 123456 and "123456".

mix_typestr, positional-only

Mix type.

Valid values: "discovery", "my", and "newArrival".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

localestr

IETF BCP 47 language tag.

Example: "en-US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, optional

Pagination cursor.

Returns:
mixesdict

A dictionary containing TIDAL catalog information for the user’s mixes.

get_new_arrival_mixes(country_code: str, locale: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

User Recommendations > Get new arrival mixes: Retrieve new arrival mixes for a user.

Parameters:
country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

localestr

IETF BCP 47 language tag.

Example: "en-US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

get_playlist(playlist_uuid: str, /, country_code: str, *, include: str | list[str] | None = None) dict[str, Any][source]

Playlists > Get single playlist: Retrieve a single playlist.

Parameters:
playlist_uuidstr, positional-only

TIDAL playlist UUID.

Example: "550e8400-e29b-41d4-a716-446655440000".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includestr or list, keyword-only, optional

Related resource(s) that should be included in the response.

Valid values: "coverArt", "items", or "owners".

Returns:
playlistdict

A dictionary containing TIDAL catalog information for the playlist.

get_playlist_cover_art(playlist_uuid: str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Playlists > Get playlist cover art: Retrieve the cover art for a playlist.

Parameters:
playlist_uuidstr, positional-only

TIDAL playlist UUID.

Example: "550e8400-e29b-41d4-a716-446655440000".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor. If not specified, the first page of results will be returned.

Returns:
cover_artdict

A dictionary containing TIDAL catalog information for the cover artwork associated with the playlist.

get_playlist_items(playlist_uuid: str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Playlists > Get playlist items: Retrieve the items in a playlist.

Parameters:
playlist_uuidstr, positional-only

TIDAL playlist UUID.

Example: "550e8400-e29b-41d4-a716-446655440000".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor. If not specified, the first page of results will be returned.

Returns:
ownersdict

A dictionary containing TIDAL catalog information for the items in the playlist.

get_playlist_owners(playlist_uuid: str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Playlists > Get playlist owners: Retrieve the owners of a playlist.

Authorization scope

Requires the playlists.read scope.

Parameters:
playlist_uuidstr, positional-only

TIDAL playlist UUID.

Example: "550e8400-e29b-41d4-a716-446655440000".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor. If not specified, the first page of results will be returned.

Returns:
ownersdict

A dictionary containing TIDAL catalog information for the owners of the playlist.

get_playlist_relationship(playlist_uuid: str, relationship: str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Retrieve information related to a playlist.

Note

This method is provided for convenience and is not a TIDAL API endpoint.

Parameters:
playlist_uuidstr, positional-only

TIDAL playlist UUID.

Example: "550e8400-e29b-41d4-a716-446655440000".

relationshipstr, positional-only

Relationship type.

Valid values: "coverArt", "items", or "owners".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
album_relationshipdict

A dictionary containing TIDAL catalog information for the specified album relationship.

get_playlists(country_code: str, *, playlist_uuids: str | list[str] | None = None, user_ids: int | str | list[int | str] | None = None, include: str | list[str] | None = None, cursor: int | str | None = None, sort: str = None) dict[str, Any][source]

Playlists > Get multiple playlists: Retrieve multiple playlists.

Authorization scope

Requires the playlists.read scope.

Parameters:
country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

playlist_uuidsstr or list, keyword-only, optional

TIDAL playlist UUID(s). Only optional if user_ids is provided.

Examples: "550e8400-e29b-41d4-a716-446655440000" and ["550e8400-e29b-41d4-a716-446655440000", "4261748a-4287-4758-aaab-6d5be3e99e52"].

user_idsint, str, or list, keyword-only, optional

TIDAL user ID(s). Only optional if playlist_uuids is provided.

Examples: 123456, "123456", "123456,789012", [123456, 789012], and ["123456, 789012"].

includestr or list, keyword-only, optional

Related resource(s) that should be included in the response.

Valid values: "coverArt", "items", or "owners".

cursorint or str, keyword-only, optional

Pagination cursor. If not specified, the first page of results will be returned.

sortstr, keyword-only, optional

Field to sort the returned playlists by. Values are sorted in descending order with the - prefix and in ascending order without.

Valid values: "createdAt", "-createdAt, "lastModifiedAt, "-lastModifiedAt", "name", "-name".

Returns:
playlistsdict

A dictionary containing TIDAL catalog information for the playlists.

get_provider(provider_id: int | str, /) dict[str, Any][source]

Providers > Get provider: Retrieve a specific provider by ID.

Parameters:
provider_idint or str, positional-only

TIDAL provider ID.

Returns:
providerdict

A dictionary containing TIDAL catalog information for the provider.

get_providers(provider_ids: int | str | list[int | str], /) dict[str, Any][source]

Providers > Get providers: Retrieve multiple providers by their IDs.

Parameters:
provider_idsint, str, or list, positional-only

TIDAL provider ID(s).

Returns:
providersdict

A dictionary containing TIDAL catalog information for the providers.

get_role(artist_role_id: int | str, /) dict[str, Any][source]

Artist Roles > Get single artist role: Retrieves a single artist role.

Parameters:
artist_role_idint or str

TIDAL artist role ID.

Examples: 1 and "1".

Returns:
artist_roledict

A dictionary containing TIDAL catalog information for the artist role.

get_roles(artist_role_ids: int | str | list[int | str]) dict[str, Any][source]

Artist Roles > Get multiple artist roles: Retrieves multiple artist roles.

Parameters:
artist_role_idsint, str, or list

TIDAL artist role ID(s).

Examples: 1, "1", "1,2", [1, 2], and ["1", "2"].

Returns:
artist_rolesdict

A dictionary containing TIDAL catalog information for the artists’ roles.

get_saved_albums(*, country_code: str = None, locale: str = None, include: bool = False, cursor: str = None, sort: str = None) dict[str, Any][source]

User Collections > Get albums in user’s collection: Get TIDAL catalog information for albums in a user’s collection.

Parameters:
country_codestr, keyword-only, optional

ISO 3166-1 alpha-2 country code.

Example: "US".

localestr, keyword-only, optional

IETF BCP 47 language tag.

Default: "en_US" – English (U.S.).

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata for the albums in the user’s collection.

cursorstr, keyword-only, optional

Cursor for pagination.

Example: "3nI1Esi".

sortstr, keyword-only, optional

Field to sort the returned albums by. Values are sorted in descending order with the - prefix and in ascending order without.

Valid values: "addedAt", "-addedAt, "artists.name, "-artists.name", "releaseDate", "-releaseDate", "title", "-title".

Returns:
albumsdict[str, Any]

TIDAL content metadata for the albums in the user’s collection.

get_saved_artists(*, country_code: str = None, locale: str = None, include: bool = False, cursor: str = None, sort: str = None) dict[str, Any][source]

User Collections > Get artists in user’s collection: Get TIDAL catalog information for artists in a user’s collection.

Parameters:
country_codestr, keyword-only, optional

ISO 3166-1 alpha-2 country code.

Example: "US".

localestr, keyword-only, optional

IETF BCP 47 language tag.

Default: "en_US" – English (U.S.).

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata for the artists in the user’s collection.

cursorstr, keyword-only, optional

Cursor for pagination.

Example: "3nI1Esi".

sortstr, keyword-only, optional

Field to sort the returned artists by. Values are sorted in descending order with the - prefix and in ascending order without.

Valid values: "addedAt", "-addedAt, "name", "-name".

Returns:
artistsdict[str, Any]

TIDAL content metadata for the artists in the user’s collection.

get_saved_owners(include: bool = False, cursor: str | None = None) dict[str, Any][source]

User Collections > Get owners of user’s collection: Get TIDAL catalog information for owners of a user’s collection.

Parameters:
includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata for the owners of the user’s collection.

cursorstr, keyword-only, optional

Cursor for pagination.

Example: "3nI1Esi".

Returns:
ownersdict[str, Any]

TIDAL content metadata for the owners of the user’s collection.

get_saved_playlists(*, country_code: str = None, locale: str = None, folders: bool = False, include: bool = False, cursor: str = None, sort: str = None) dict[str, Any][source]

User Collections > Get playlists in user’s collection: Get TIDAL catalog information for playlists in a user’s collection.

Parameters:
country_codestr, keyword-only, optional

ISO 3166-1 alpha-2 country code.

Example: "US".

localestr, keyword-only, optional

IETF BCP 47 language tag.

Default: "en_US" – English (U.S.).

foldersbool, keyword-only, default: False

Specifies whether to include TIDAL content metadata for playlist folders in the user’s collection.

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata for the playlists in the user’s collection.

cursorstr, keyword-only, optional

Cursor for pagination.

Example: "3nI1Esi".

sortstr, keyword-only, optional

Field to sort the returned playlists by. Values are sorted in descending order with the - prefix and in ascending order without.

Valid values: "addedAt", "-addedAt, "lastUpdatedAt", "-lastUpdatedAt", "name", "-name".

Returns:
playlistsdict[str, Any]

TIDAL content metadata for the playlists (and playlist folders) in the user’s collection.

get_saved_tracks(*, country_code: str = None, locale: str = None, include: bool = False, cursor: str = None, sort: str = None) dict[str, Any][source]

User Collections > Get tracks in user’s collection: Get TIDAL catalog information for tracks in a user’s collection.

Parameters:
country_codestr, keyword-only, optional

ISO 3166-1 alpha-2 country code.

Example: "US".

localestr, keyword-only, optional

IETF BCP 47 language tag.

Default: "en_US" – English (U.S.).

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata for the tracks in the user’s collection.

cursorstr, keyword-only, optional

Cursor for pagination.

Example: "3nI1Esi".

sortstr, keyword-only, optional

Field to sort the returned tracks by. Values are sorted in descending order with the - prefix and in ascending order without.

Valid values: "addedAt", "-addedAt, "albums.title", "-albums.title", "artists.name", "-artists.name", "duration", "-duration", "title", "-title".

Returns:
tracksdict[str, Any]

TIDAL content metadata for the tracks in the user’s collection.

get_saved_videos(*, country_code: str = None, locale: str = None, include: bool = False, cursor: str = None, sort: str = None) dict[str, Any][source]

User Collections > Get videos in user’s collection: Get TIDAL catalog information for videos in a user’s collection.

Parameters:
country_codestr, keyword-only, optional

ISO 3166-1 alpha-2 country code.

Example: "US".

localestr, keyword-only, optional

IETF BCP 47 language tag.

Default: "en_US" – English (U.S.).

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata for the videos in the user’s collection.

cursorstr, keyword-only, optional

Cursor for pagination.

Example: "3nI1Esi".

sortstr, keyword-only, optional

Field to sort the returned videos by. Values are sorted in descending order with the - prefix and in ascending order without.

Valid values: "addedAt", "-addedAt, "artists.name", "-artists.name", "duration", "-duration", "title", "-title".

Returns:
videosdict[str, Any]

TIDAL content metadata for the videos in the user’s collection.

classmethod get_scopes(categories: str | list[str]) str[source]

Get TIDAL API authorization scopes for the specified categories.

Parameters:
categoriesstr or list

Categories of authorization scopes to get.

Valid values:

  • "collections" for scopes related to user collections, such as collection.read and collection.write.

  • "entitlements" for scopes related to user entitlements, such as entitlements.read.

  • "playback" for scopes related to playback control, such as playback.

  • "playlists" for scopes related to playlists, such as playlists.read and playlists.write.

  • "recommendations" for scopes related to user recommendations, such as recommendations.read.

  • "search" for scopes related to search functionality, such as search.read and search.write.

  • "user" for scopes related to user information, such as user.read.

  • "all" for all scopes above.

  • A substring to match in the possible scopes, such as

    • "read" for all scopes above that grant read access, i.e., scopes with read in the name, or

    • "write" for all scopes above that grant write access, i.e., scopes with write in the name.

See also

For the endpoints that the scopes allow access to, see the TIDAL API Reference.

get_search_direct_hits(query: str, /, country_code: str, *, explicit: bool = True, cursor: int | str | None = None) dict[str, Any][source]

Search Suggestions > Get search direct hits: Retrieve direct hits for search suggestions given a query.

Parameters:
querystr, positional-only

Search query.

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

explicitbool, keyword-only, default: True

Specifies whether to include explicit content in the search results.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
search_hitsdict

A dictionary containing the search hits.

get_search_suggestion(query: str, /, country_code: str, *, explicit: bool = True, include: str | list[str] | None = None) dict[str, Any][source]

Search Suggestions > Get search suggestion: Retrieve a single search suggestion for a given query.

Parameters:
querystr, positional-only

Search query.

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

explicitbool, keyword-only, default: True

Specifies whether to include explicit content in the search results.

includestr or list[str], keyword-only, optional

Additional content types to include in the search suggestion.

Returns:
search_suggestiondict

A dictionary containing the search suggestion.

get_similar_albums(album_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Albums > Get similar albums: Retrieve albums similar to a given album.

Parameters:
album_idint or str, positional-only

TIDAL album ID.

Examples: 251380836 and "251380836".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
similar_albumsdict

A dictionary containing TIDAL catalog information for the similar albums.

get_similar_artists(artist_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Artists > Get similar artists: Retrieve similar artists for a given artist.

Parameters:
artist_idint or str, positional-only

TIDAL artist ID.

Examples: 1566 and "1566".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
similar_artistsdict

A dictionary containing TIDAL catalog information for similar artists.

get_similar_tracks(track_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Tracks > Get similar tracks: Retrieve similar tracks for a track.

Parameters:
track_idint or str, positional-only

TIDAL track ID.

Examples: 75413016 and "75413016".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
similar_tracksdict

A dictionary containing TIDAL catalog information for the similar tracks.

get_track(track_id: str, /, country_code: str, *, include: str | list[str] | None = None) dict[str, Any][source]

Tracks > Get single track: Retrieve a single track by ID.

Parameters:
track_idint or str, positional-only

TIDAL track ID.

Example: 75413016 or "75413016".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includestr or list, keyword-only, optional

Related resource(s) that should be included in the response.

Valid values: "albums", "artists", "genres", "lyrics", "owners", "providers", "radio", "similarTracks", "sourceFile", and "trackStatistics".

Examples: "albums", "albums,artists", and ["albums", "artists"].

Returns:
trackdict

TIDAL catalog information and related resources for a single track.

get_track_albums(track_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Tracks > Get track albums: Retrieve albums containing a track.

Parameters:
track_idint or str, positional-only

TIDAL track ID.

Examples: 75413016 and "75413016".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
track_albumsdict

A dictionary containing TIDAL catalog information for the albums containing the track.

get_track_artists(track_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Tracks > Get track artists: Retrieve artists of a track.

Parameters:
track_idint or str, positional-only

TIDAL track ID.

Examples: 75413016 and "75413016".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
track_artistsdict

A dictionary containing TIDAL catalog information for the artists of the track.

get_track_owners(track_id: int | str, /, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Tracks > Get track owners: Retrieve owners of a track.

Parameters:
track_idint or str, positional-only

TIDAL track ID.

Examples: 75413016 and "75413016".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
track_ownersdict

A dictionary containing TIDAL catalog information for the owners of the track.

get_track_providers(track_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Tracks > Get track providers: Retrieve providers of a track.

Parameters:
track_idint or str, positional-only

TIDAL track ID.

Examples: 75413016 and "75413016".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
track_providersdict

A dictionary containing TIDAL catalog information for the providers of the track.

get_track_radio(track_id: int | str, /, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Tracks > Get track radio: Retrieve radio information for a track.

Parameters:
track_idint or str, positional-only

TIDAL track ID.

Examples: 75413016 and "75413016".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
track_radiodict

A dictionary containing TIDAL catalog information for the radio of the track.

get_track_relationship(track_id: int | str, relationship: str, /, *, include: bool = False, **kwargs) dict[str, Any][source]

Retrieve information related to a track.

Note

This method is provided for convenience and is not a TIDAL API endpoint.

Parameters:
track_idint or str, positional-only

TIDAL track ID.

Examples: 75413016 and "75413016".

relationshipstr, positional-only

Relationship type.

Valid values: "albums", "artists", "owners", "providers", "radio", "similarTracks", "sourceFile", or "trackStatistics".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

**kwargs

Keyword arguments.

Returns:
track_relationshipdict

A dictionary containing TIDAL catalog information for the specified track relationship.

get_track_source_file(track_id: int | str, /, *, include: bool = False) dict[str, Any][source]

Tracks > Get track source file: Retrieve source file information for a track.

Parameters:
track_idint or str, positional-only

TIDAL track ID.

Examples: 75413016 and "75413016".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

Returns:
track_source_filedict

A dictionary containing TIDAL catalog information for the source file of the track.

get_track_statistics(track_id: int | str, /, *, include: bool = False) dict[str, Any][source]

Tracks > Get track statistics: Retrieve statistics about a track.

Parameters:
track_idint or str, positional-only

TIDAL track ID.

Examples: 75413016 and "75413016".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

Returns:
track_statisticsdict

A dictionary containing TIDAL catalog information for the statistics about the track.

get_tracks(country_code: str, *, track_ids: int | str | list[int | str] | None = None, isrcs: str | list[str] | None = None, user_ids: int | str | list[int | str] | None = None, include: str | list[str] | None = None, cursor: int | str | None = None) dict[str, Any][source]

Tracks > Get multiple tracks: Retrieve multiple tracks by their IDs, ISRCs, or user IDs.

Parameters:
country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

track_idsint, str, or list, keyword-only, optional

TIDAL track ID(s).

Examples: 75413016, "75413016", and ["46369325", "75413016"].

isrcsint, str, or list, keyword-only, optional

International Standard Recording Code(s).

Examples: "QMJMT1701237", "QMJMT1701237,QMJMT1701238", and ["USUM72012345", "QMJMT1701238"].

user_idsint, str, or list, keyword-only, optional

TIDAL user ID(s).

Example: "123456".

includestr or list, keyword-only, optional

Related resource(s) that should be included in the response.

Valid values: "albums", "artists", "genres", "lyrics", "owners", "providers", "radio", "similarTracks", "sourceFile", and "trackStatistics".

Examples: "albums", "albums,artists", and ["albums", "artists"].

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
tracksdict

A dictionary containing TIDAL catalog information and related resources for multiple tracks.

get_user_collection(*, country_code: str | None = None, locale: str | None = None, include: str | list[str] | None = None) dict[str, Any][source]

User Collections > Get user’s collection: Get a TIDAL user’s collection.

Parameters:
country_codestr, keyword-only, optional

ISO 3166-1 alpha-2 country code.

Example: "US".

localestr, keyword-only, optional

IETF BCP 47 language tag.

Default: "en_US" – English (U.S.).

includestr or Collection[str], keyword-only, optional

Related resources to include in the response.

Valid values: "albums", "artists", "owners", "playlists", "tracks", "videos".

Returns:
collectiondict[str, Any]

TIDAL content metadata for the items in the current user’s collection.

get_user_entitlements() dict[str, Any][source]

User Entitlements > Get user entitlements: Retrieve user entitlements.

Returns:
user_entitlementsdict

A dictionary containing user entitlements.

get_user_mixes(country_code: str, locale: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

User Recommendations > Get user mixes: Retrieve user mixes for a user.

Parameters:
country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

localestr

IETF BCP 47 language tag.

Example: "en-US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

get_user_recommendations(country_code: str, locale: str, *, include: str | list[str] | None = None) dict[str, Any][source]

Users > Get user recommendations: Retrieve user recommendations.

Parameters:
country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

localestr

IETF BCP 47 language tag.

Example: "en-US".

includestr or list, keyword-only, optional

Related resource(s) that should be included in the response.

Valid values: "discoveryMixes", "myMixes", and "newArrivalMixes".

Examples: "discoveryMixes", "discoveryMixes,myMixes", and ["discoveryMixes", "myMixes"].

Returns:
user_recommendationsdict

A dictionary containing TIDAL catalog information for the user recommendations.

get_video(video_id: str, /, country_code: str, *, include: str | list[str] | None = None) dict[str, Any][source]

Videos > Get single video: Retrieve a single video by ID.

Parameters:
video_idint or str, positional-only

TIDAL video ID.

Example: 75623239 or "75623239".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includestr or list, keyword-only, optional

Related resource(s) that should be included in the response.

Valid values: "albums", "artists", "providers", and "thumbnailArt".

Examples: "albums", "albums,artists", and ["albums", "artists"].

Returns:
videodict

TIDAL catalog information and related resources for a single video.

get_video_albums(video_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Videos > Get video albums: Retrieve albums containing a video.

Parameters:
video_idint or str, positional-only

TIDAL video ID.

Examples: 75623239 and "75623239".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
video_albumsdict

A dictionary containing TIDAL catalog information for the albums containing the video.

get_video_artists(video_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Videos > Get video artists: Retrieve artists associated with a video.

Parameters:
video_idint or str, positional-only

TIDAL video ID.

Examples: 75623239 and "75623239".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
video_artistsdict

A dictionary containing TIDAL catalog information for the artists associated with the video.

get_video_providers(video_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Videos > Get video providers: Retrieve providers of a video.

Parameters:
video_idint or str, positional-only

TIDAL video ID.

Examples: 75623239 and "75623239".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
video_providersdict

A dictionary containing TIDAL catalog information for the providers of the video.

get_video_relationship(video_id: int | str, relationship: str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Retrieve information related to a video.

Note

This method is provided for convenience and is not a TIDAL API endpoint.

Parameters:
video_idint or str, positional-only

TIDAL video ID.

Examples: 75623239 and "75623239".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
relationshipdict

A dictionary containing TIDAL catalog information for the specified video relationship.

get_video_thumbnail_art(video_id: int | str, /, country_code: str, *, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Videos > Get video thumbnail art: Retrieve thumbnail art for a video.

Parameters:
video_idint or str, positional-only

TIDAL video ID.

Examples: 75623239 and "75623239".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
video_thumbnail_artdict

A dictionary containing TIDAL catalog information for the thumbnail art for the video.

get_videos(country_code: str, *, video_ids: int | str | list[int | str] | None = None, isrcs: str | list[str] | None = None, include: str | list[str] | None = None) dict[str, Any][source]

Videos > Get multiple videos: Retrieve multiple videos by their IDs or ISRCs.

Parameters:
country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

video_idsint, str or list, keyword-only, optional

TIDAL video ID(s).

Examples: 75623239, "75623239", and ["75623239", "75623240"].

isrcsint or str or list, keyword-only, optional

International Standard Recording Code(s) (ISRC) for the video(s).

Examples: "USSM21600755", "USSM21600755,USSM21600756", and ["USSM21600755", "USSM21600756"].

includestr or list, keyword-only, optional

Related resource(s) that should be included in the response.

Valid values: "albums", "artists", "providers", and "thumbnailArt".

Examples: "albums", "albums,artists", and ["albums", "artists"].

Returns:
videosdict

TIDAL catalog information and related resources for multiple videos.

modify_collection_relationship(method: str, relationship: str, /, item_ids: str | list[str], *, country_code: str | None = None) None[source]

Add/remove items of a relationship type to/from a user’s collection.

Parameters:
methodstr, positional-only

HTTP method.

Valid values: "POST", "DELETE".

relationshipstr, positional-only

Relationship type.

Valid values: "albums", "artists", "owners", "playlists", "tracks", "videos".

item_idsstr or list

TIDAL IDs or UUIDs of items, provided as strings or properly formatted dictionaries.

country_codestr, optional

ISO 3166-1 alpha-2 country code.

Example: "US".

remove_saved_albums(album_ids: str | list[str], /, *, country_code: str = None) None[source]

User Collections > Remove albums from user’s collection: Remove albums from a user’s collection.

Parameters:
album_idsstr or list, positional-only

TIDAL album ID(s).

Examples:"251380836", "251380836,275646830", and ["251380836", "275646830"].

country_codestr, keyword-only, optional

ISO 3166-1 alpha-2 country code.

Example: "US".

remove_saved_artists(artist_ids: str | list[str], /, *, country_code: str = None) None[source]

User Collections > Remove artists from user’s collection: Remove artists from a user’s collection.

Parameters:
artist_idsstr or list, positional-only

TIDAL artist ID(s).

Examples: 1, "1", "1,2", [1, 2], and ["1", "2"].

country_codestr, keyword-only, optional

ISO 3166-1 alpha-2 country code.

Example: "US".

remove_saved_playlists(playlist_uuids: str | list[str], /) None[source]

User Collections > Remove playlists from user’s collection: Remove playlists from a user’s collection.

Parameters:
playlist_uuidsstr or list, positional-only, optional

TIDAL playlist UUID(s).

Examples: "550e8400-e29b-41d4-a716-446655440000" and ["550e8400-e29b-41d4-a716-446655440000", "4261748a-4287-4758-aaab-6d5be3e99e52"].

remove_saved_tracks(track_ids: str | list[str], /, *, country_code: str = None) None[source]

User Collections > Remove tracks from user’s collection: Remove tracks from a user’s collection.

Parameters:
track_idsstr or list, positional-only

TIDAL track ID(s).

Examples: "46369325", ["46369325", "75413016"].

country_codestr, keyword-only, optional

ISO 3166-1 alpha-2 country code.

Example: "US".

remove_saved_videos(video_ids: str | list[str], /, *, country_code: str = None) None[source]

User Collections > Remove videos from user’s collection: Remove videos from a user’s collection.

Parameters:
video_idsstr or list, positional-only

TIDAL video ID(s).

Examples: 75623239, "75623239", and ["75623239", "75623240"].

country_codestr, keyword-only, optional

ISO 3166-1 alpha-2 country code.

Example: "US".

save_albums(album_ids: str | list[str], /, *, country_code: str = None) None[source]

User Collections > Add albums to user’s collection: Add albums to a user’s collection.

Parameters:
album_idsstr or list, positional-only

TIDAL album ID(s).

Examples:"251380836", "251380836,275646830", and ["251380836", "275646830"].

country_codestr, keyword-only, optional

ISO 3166-1 alpha-2 country code.

Example: "US".

save_artists(artist_ids: str | list[str], /, *, country_code: str = None) None[source]

User Collections > Add artists to user’s collection: Add artists to a user’s collection.

Parameters:
artist_idsstr or list, positional-only

TIDAL artist ID(s).

Examples: 1, "1", "1,2", [1, 2], and ["1", "2"].

country_codestr, keyword-only, optional

ISO 3166-1 alpha-2 country code.

Example: "US".

save_playlists(playlist_uuids: str | list[str], /) None[source]

User Collections > Add playlists to user’s collection: Add playlists to a user’s collection.

Parameters:
playlist_uuidsstr or list, positional-only, optional

TIDAL playlist UUID(s).

Examples: "550e8400-e29b-41d4-a716-446655440000" and ["550e8400-e29b-41d4-a716-446655440000", "4261748a-4287-4758-aaab-6d5be3e99e52"].

save_tracks(track_ids: str | list[str], /, *, country_code: str = None) None[source]

User Collections > Add tracks to user’s collection: Add tracks to a user’s collection.

Parameters:
track_idsstr or list, positional-only

TIDAL track ID(s).

Examples: "46369325", ["46369325", "75413016"].

country_codestr, keyword-only, optional

ISO 3166-1 alpha-2 country code.

Example: "US".

save_videos(video_ids: str | list[str], /, *, country_code: str = None) None[source]

User Collections > Add videos to user’s collection: Add videos to a user’s collection.

Parameters:
video_idsstr or list, positional-only

TIDAL video ID(s).

Examples: 75623239, "75623239", and ["75623239", "75623240"].

country_codestr, keyword-only, optional

ISO 3166-1 alpha-2 country code.

Example: "US".

search(query: str, /, country_code: str, *, explicit: bool = True, include: str | list[str] | None = None) dict[str, Any][source]

Search Results > Search: Search for content in the TIDAL catalog.

Parameters:
querystr, positional-only

Search query.

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

explicitbool, keyword-only, default: True

Specifies whether to include explicit content in the search results.

includestr or list, keyword-only, optional

Related resource(s) that should be included in the response.

Valid values: "albums", "artists", "playlists", "topHits", "tracks", or "videos".

Examples: "albums", "albums,artists", and ["albums", "artists"].

Returns:
resultsdict

A dictionary containing the search results.

search_albums(query: str, /, country_code: str, *, explicit: bool = True, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Search Results > Search albums: Search for albums in the TIDAL catalog.

Parameters:
querystr, positional-only

Search query.

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

explicitbool, keyword-only, default: True

Specifies whether to include explicit content in the search results.

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
albumsdict

A dictionary containing matching albums.

search_artists(query: str, /, country_code: str, *, explicit: bool = True, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Search Results > Search artists: Search for artists in the TIDAL catalog.

Parameters:
querystr, positional-only

Search query.

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

explicitbool, keyword-only, default: True

Specifies whether to include explicit content in the search results.

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
artistsdict

A dictionary containing matching artists.

search_playlists(query: str, /, country_code: str, *, explicit: bool = True, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Search Results > Search playlists: Search for playlists in the TIDAL catalog.

Parameters:
querystr, positional-only

Search query.

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

explicitbool, keyword-only, default: True

Specifies whether to include explicit content in the search results.

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
playlistsdict

A dictionary containing matching playlists.

search_relationship(query: str, relationship: str, /, country_code: str, *, explicit: bool = True, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Retrieve information based on a search query.

Note

This method is provided for convenience and is not a TIDAL API endpoint.

Parameters:
querystr, positional-only

Search query.

relationshipstr, positional-only

Relationship type.

Valid values: "albums", "artists", "playlists", "topHits", "tracks", or "videos".

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

explicitbool, keyword-only, default: True

Specifies whether to include explicit content in the search results.

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
resultsdict

A dictionary containing the search results.

search_top_hits(query: str, /, country_code: str, *, explicit: bool = True, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Search Results > Search top hits: Search for top hits in the TIDAL catalog.

Parameters:
querystr, positional-only

Search query.

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

explicitbool, keyword-only, default: True

Specifies whether to include explicit content in the search results.

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
top_hitsdict

A dictionary containing matching top hits.

search_tracks(query: str, /, country_code: str, *, explicit: bool = True, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Search Results > Search tracks: Search for tracks in the TIDAL catalog.

Parameters:
querystr, positional-only

Search query.

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

explicitbool, keyword-only, default: True

Specifies whether to include explicit content in the search results.

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
tracksdict

A dictionary containing matching tracks.

search_videos(query: str, /, country_code: str, *, explicit: bool = True, include: bool = False, cursor: int | str | None = None) dict[str, Any][source]

Search Results > Search videos: Search for videos in the TIDAL catalog.

Parameters:
querystr, positional-only

Search query.

country_codestr

ISO 3166-1 alpha-2 country code.

Example: "US".

explicitbool, keyword-only, default: True

Specifies whether to include explicit content in the search results.

includebool, keyword-only, default: False

Specifies whether to include TIDAL content metadata in the response.

cursorint or str, keyword-only, optional

Pagination cursor.

Returns:
videosdict

A dictionary containing matching videos.

set_access_token(access_token: str = None, *, refresh_token: str = None, expiry: str | datetime = None) None[source]

Set the TIDAL API access token.

Parameters:
access_tokenstr, optional

Access token. If not provided, an access token is obtained using an OAuth 2.0 authorization flow.

refresh_tokenstr, keyword-only, optional

Refresh token accompanying access_token.

expirystr or datetime.datetime, keyword-only, optional

Access token expiry timestamp in the ISO 8601 format %Y-%m-%dT%H:%M:%SZ. If provided, the user will be reauthenticated using the refresh token (if available) or the default authorization flow (if possible) when access_token expires.

set_flow(flow: str, *, client_id: str = None, client_secret: str = None, browser: bool = False, web_framework: str = None, port: int | str = 8888, redirect_uri: str = None, scopes: str | list[str] = '', save: bool = True) None[source]

Set the authorization flow.

Parameters:
flowstr

Authorization flow.

Valid values:

  • "client_credentials" for the client credentials flow.

client_idstr, keyword-only, optional

Client ID. Required for all authorization flows.

client_secretstr, keyword-only, optional

Client secret. Required for all authorization flows.

browserbool, keyword-only, default: False

Determines whether a web browser is automatically opened for the authorization code (with PKCE) flow. If False, users will have to manually open the authorization URL. Not applicable when web_framework=”playwright”.

web_frameworkstr, keyword-only, optional

Web framework used to automatically complete the authorization code (with PKCE) flow.

Valid values:

  • "http.server" for the built-in implementation of HTTP servers.

  • "flask" for the Flask framework.

  • "playwright" for the Playwright framework.

portint or str, keyword-only, default: 8888

Port on localhost to use for the authorization code flow with the http.server and Flask frameworks.

redirect_uristr, keyword-only, optional

Redirect URI for the authorization code flow. If not specified, an open port on localhost will be used.

scopesstr or list, keyword-only, optional

Authorization scopes to request access to in the authorization code flow.

savebool, keyword-only, default: True

Determines whether to save the newly obtained access tokens and their associated properties to the Minim configuration file.

update_playlist(playlist_uuid: str, /, *, name: str | None = None, description: str | None = None, public: bool | None = None) None[source]

Playlists > Update single playlist: Update an existing playlist.

Authorization scope

Requires the playlists.write scope.

Parameters:
playlist_uuidstr, positional-only

TIDAL playlist UUID.

namestr, keyword-only, optional

New name for the playlist.

descriptionstr, keyword-only, optional

New description for the playlist.

publicbool, keyword-only, optional

Specifies whether the playlist is public.

update_playlist_items(playlist_uuid: str, items: list[tuple[int | str, str, str], dict[str, str]], before_item_uuid: int | str) None[source]

Playlists > Update playlist items: Update items in a playlist.

Authorization scope

Requires the playlists.write scope.

Parameters:
playlist_uuidstr

TIDAL playlist UUID.

Example: "550e8400-e29b-41d4-a716-446655440000".

itemslist

A list of items to update in the playlist. Each item can be either a tuple of (id, type, uuid) or a dictionary with keys id, type, and meta, where id is the TIDAL item ID, type is the item type ("tracks" or "videos"), and uuid is the TIDAL item UUID.

before_item_uuidint or str

UUID of the item before which the items should be moved to.