Skip to main content

Unofficial API for TIDAL music streaming service.

Project description


Unofficial Python API for TIDAL music streaming service.

0.7.0 Rewrite

The 0.7.0 rewrite is now complete, see the migration guide for dealing with it


Install from PyPI using pip:

$ pip install tidalapi

Example usage

import tidalapi

session = tidalapi.Session()
# Will run until you visit the printed url and link your account
album = session.album(66236918)
tracks = album.tracks()
for track in tracks:


Documentation is available at



  • (BREAKING!) Removed obsolete parameter session_id from load_oauth_session - lutzbuerkle

  • (BREAKING!) Drop support for python2.7 - morguldir

  • (BREAKING!) Change the architecture of the library to allow for using more files, see the migration guide - morguldir

  • Add support for tidal pages (e.g. home, videos and explore in the web ui) - morguldir

  • Add support for parsing mixes and retrieving the media - morguldir

  • Get rid of the old genre and mood support, you can now find them in the pages instead - morguldir

  • Update almost all of the json parsing and classes to include more fields - morguldir

  • Add complete docstrings to many of the functions - morguldir

  • Tests now cover almost all of the code - morguldir

  • Pylint scores are now much higher - morguldir

  • Add option to retrieve master quality tracks (I can’t test this, but I believe it works as of writing) - morguldir

  • Add a few documentation pages explaining the basics - morguldir

  • Add support for modifying playlists - morguldir

  • Add a parameter to always fetch the track album if it’s not provided - divadsn

  • Add function to retrieve the year and date from either the release data or the stream start date - divadsn

  • Improve the performance of the internal get_items() function by using extend - BlackLight

  • Properly deal with the api returning non-json results - BlackLight

  • Add support for retrieving the reviews of an album - retired-guy


  • Update the client secret - 1nikolas

  • Use a track url endpoint compatible with the new secret - morguldir


  • Update the client secret - morguldir

  • Fix token_refresh() not correctly including the client secret - morguldir


  • Support OAuth login through login_oauth_simple() and login_oauth() - morguldir

  • Support loading an OAuth session through load_oauth_session() - morguldir

  • Include more info when a request fails - morguldir


  • Fix wimp images not resolving - ktnrg45

  • Made the favorite playlists function also return created playlists - morguldir


  • Update api token and slightly obfuscate it - morguldir



  • Add parameter to search() allowing for more results (up to 300) - morguldir

  • Fix get_track_url() not returning anything - morguldir


  • Fix quality options using enum names instead of values - morguldir

  • Handle situations where tidal doesn’t set the version tag - morguldir


  • Update lossless token - morguldir

  • Always use the same api token - morguldir

  • Include additional info when logging fails - morguldir

  • Make user_id and country_code optional when using load_session() - morguldir

  • Add version tag for Track - Husky22

  • Switch to netlify for documentation - morguldir

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tidalapi-0.7.0.tar.gz (49.7 kB view hashes)

Uploaded source

Built Distribution

tidalapi-0.7.0-py3-none-any.whl (34.0 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page