Getting Startedยถ

This guide will help you set up Spotify integration with plistsync from start to finish.

Prerequisitesยถ

Installationยถ

First, install the Spotify optional dependencies:

pip install 'plistsync[spotify]'
uv add plistsync --extra spotify

Spotify Accountยถ

Youโ€™ll need an active Spotify account. If you donโ€™t have one, sign up at spotify.com.

API Credentialsยถ

To authenticate with Spotifyโ€™s API, you need to obtain API credentials:

  1. Visit the Spotify Developer Portal

  2. Log in with your Spotify account

  3. Create a new application

  4. Generate your client_id (and optionally client_secret)

Configurationยถ

Enable Tidal in your plistsync configuration file:

# ./config/config.yaml
services:
  spotify:
    enabled: true
    client_id: your_spotify_client_id_here
    client_secret: your_spotify_client_secret_here # Optional but recommended

Authenticationยถ

Once configured, authenticate plistsync with your Tidal account:

plistsync spotify auth

This will start an interactive authentication flow:

  1. Youโ€™ll be prompted to open a browser to Tidalโ€™s authorization page

  2. Log in with your Tidal credentials

  3. Grant plistsync the requested permissions

  4. This will save an authentication token in the config folder

Authentication Previewยถ

auth Usage: plistsync spotify auth [OPTIONS] Use your Spotify account to authenticate with the Spotify API. This will open a browser window to log in to Spotify and obtain an access  token. โ•ญโ”€ Options โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚--mode-m[forward|manual]If set to 'manual', the CLI will not startโ”‚ โ”‚a local server and instead ask you to     โ”‚ โ”‚paste the redirected URL after login. Thisโ”‚ โ”‚should be used if you are running the CLI โ”‚ โ”‚on a remote server without browser access.โ”‚ โ”‚[default: forward]                        โ”‚ โ”‚--port-pINTEGER         Port for the local server (if server is   โ”‚ โ”‚used).                                    โ”‚ โ”‚--helpShow this message and exit.โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
auth Usage: plistsync spotify auth [OPTIONS] Use your Spotify account to authenticate with the Spotify API. This will open a browser window to log in to Spotify and obtain an access  token. โ•ญโ”€ Options โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚--mode-m[forward|manual]If set to 'manual', the CLI will not startโ”‚ โ”‚a local server and instead ask you to     โ”‚ โ”‚paste the redirected URL after login. Thisโ”‚ โ”‚should be used if you are running the CLI โ”‚ โ”‚on a remote server without browser access.โ”‚ โ”‚[default: forward]                        โ”‚ โ”‚--port-pINTEGER         Port for the local server (if server is   โ”‚ โ”‚used).                                    โ”‚ โ”‚--helpShow this message and exit.โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Verificationยถ

Test that everything is working by getting your user data:

from plistsync.services.spotify.api import SpotifyApi
print(SpotifyApi().user.me())

This should return your userโ€™s ID and email.