spotify_profile_monitor
Powerful Spotify tool for real-time tracking of profile changes, playlist updates, follower growth, collaborators and more - delivered straight to your terminal, inbox or webhook.
🚀 Quick Install & Run
New to Python or unsure what is installed? Follow the Python install walkthrough first.
Install from PyPI:
pip install spotify_profile_monitor
Run the setup wizard:
spotify_profile_monitor --setup
The wizard asks for the target, authentication, polling interval and optional email or webhook alerts, then offers to run Doctor and start monitoring.
For the manual single-file method, optional extras and upgrade commands, see Installation.
Features
📜 Playlists
- Detect added or removed playlists and tracks.
- Track playlist names, descriptions, likes and collaborators.
- See who added each track to a collaborative playlist.
👤 Profile Changes
- Track username and profile-picture changes.
- See when followers or followed accounts are added or removed.
- View profile details and recently played artists.
🔔 Notifications and History
- Receive alerts in the terminal, by email, through Discord or through ntfy.
- Read coloured terminal output with a customizable theme, while log files stay plain text.
- Keep a timestamped CSV history of profile and playlist changes.
- Include profile pictures and optional playlist or album artwork in notifications.
🔎 Extra Tools
- List or export tracks from playlists and Liked Songs.
- Search for Spotify users by name.
- Open music and lyrics searches across Spotify, YouTube Music, Apple Music, Tidal and other services.
- Use the automatic web-player playlist backend without creating a Spotify developer app.
✨ If you want to track Spotify friends' music activity, check out another tool I developed: spotify_monitor.
🛠️ For Spotify Web Player token and secret-key utilities, see Debugging Tools.
Before Monitoring
For manual setup you need two values:
- A Spotify target for the person you want to monitor. The easiest form is the complete profile URL copied from Spotify. A
spotify:user:URI or bare user ID is also accepted. See How to Find a Friend's Spotify Profile URL. - The
sp_dclogin cookie from the Spotify account used for monitoring. Import it from a signed-in browser withspotify_profile_monitor --import-browser-cookie --browser firefoxor follow the manual cookie extraction steps. Treat this value like a password.
It is strongly recommended to use a separate Spotify account with this tool, because cookie and desktop-client access rely on internal undocumented Spotify endpoints. See Spotify access token source for all four token methods and their limitations.
Common Commands
Use Quick Install & Run above for first-time setup. The table uses PyPI commands. For the manual script equivalents, see Command Format by Installation Method.
| I want to... | Run this |
|---|---|
| Start monitoring with existing authentication | spotify_profile_monitor TARGET, where TARGET is a complete profile URL, spotify:user: URI or user ID |
| Check dependencies, authentication, connectivity and one target | spotify_profile_monitor --doctor TARGET |
| Import a Spotify login from a browser | Open Spotify Web Player in the browser, sign in then run spotify_profile_monitor --import-browser-cookie --browser firefox |
Enter or replace securely a manually extracted SP_DC_COOKIE |
Run spotify_profile_monitor --set-sp-dc and enter sp_dc at the hidden prompt |
| Show profile details, followers, followings and playlist statistics | spotify_profile_monitor TARGET -i |
| Display or export the tracks of one playlist | spotify_profile_monitor -l PLAYLIST_URL -b tracks.csv |
| Find a Spotify user ID by name | spotify_profile_monitor -s "user name" |
| Configure and test webhook alerts | Use the setup wizard or follow Webhook Settings |
| List every supported command-line flag | spotify_profile_monitor --help |
The tool runs until interrupted (Ctrl+C). Use tmux or screen for persistence, and run multiple copies to monitor several users.
Documentation
Full documentation is available at misiektoja.github.io/spotify_profile_monitor:
- Installation - requirements, PyPI, manual script and upgrades
- Setup & First Run - setup wizard, browser cookie import and first run
- Configuration - config file, token sources, targets, time zone, SMTP, webhooks and secrets
- Usage - monitoring, listing, notifications, CSV export, blacklisting, intervals and signals
- Troubleshooting - the
--doctorself-check, logging levels and common problems - Debugging Tools - TOTP token testing and secret key extraction
- Testing - the offline suite, CI jobs and supply chain checks
Change Log
See RELEASE_NOTES.md for details.
Contributing
Bug reports, documentation fixes and code contributions are welcome. See CONTRIBUTING.md for the development setup, the checks CI enforces and what a change needs before it is merged. Participation is covered by the Code of Conduct.
Security
Report a suspected vulnerability privately through GitHub security advisories, never as a public issue. SECURITY.md covers the reporting process, the supported versions and the security posture of stored secrets, configuration loading and untrusted Spotify text.
Maintainers
- misiektoja (@misiektoja)
- tomballgithub (@tomballgithub)
License
Licensed under GPLv3. See LICENSE. Dependency licenses are listed in THIRD_PARTY_NOTICES.md.
Support
If the project is useful to you, you can support its development through GitHub Sponsors or Buy Me a Coffee.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spotify_profile_monitor-3.8.1.tar.gz.
File metadata
- Download URL: spotify_profile_monitor-3.8.1.tar.gz
- Upload date:
- Size: 231.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48e9a53253d9c9a01cdd4e8b52902ddca42f9e5b8baba1bb040cb1101093db92
|
|
| MD5 |
65d230d624cc03064e181fa23c4c6b12
|
|
| BLAKE2b-256 |
894845322126cda3744f00554f43d51e442906c59259fcf84755865d256a55e8
|
Provenance
The following attestation bundles were made for spotify_profile_monitor-3.8.1.tar.gz:
Publisher:
publish.yml on misiektoja/spotify_profile_monitor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
spotify_profile_monitor-3.8.1.tar.gz -
Subject digest:
48e9a53253d9c9a01cdd4e8b52902ddca42f9e5b8baba1bb040cb1101093db92 - Sigstore transparency entry: 2617195524
- Sigstore integration time:
-
Permalink:
misiektoja/spotify_profile_monitor@6487e09dfc1e9766fe82dd240eedbf228e4f98ff -
Branch / Tag:
refs/tags/v3.8.1 - Owner: https://github.com/misiektoja
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6487e09dfc1e9766fe82dd240eedbf228e4f98ff -
Trigger Event:
release
-
Statement type:
File details
Details for the file spotify_profile_monitor-3.8.1-py3-none-any.whl.
File metadata
- Download URL: spotify_profile_monitor-3.8.1-py3-none-any.whl
- Upload date:
- Size: 152.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab3302d25d528ef2fc88e7ea20f2e76f50cdab74fea75b0fd9c1c7e5749e5423
|
|
| MD5 |
5543a318c2c4dd71234b8d2abdee013d
|
|
| BLAKE2b-256 |
35a837123ff36be3976087d818143dd7d47e03ecd57a4134e89930fb7f7b2915
|
Provenance
The following attestation bundles were made for spotify_profile_monitor-3.8.1-py3-none-any.whl:
Publisher:
publish.yml on misiektoja/spotify_profile_monitor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
spotify_profile_monitor-3.8.1-py3-none-any.whl -
Subject digest:
ab3302d25d528ef2fc88e7ea20f2e76f50cdab74fea75b0fd9c1c7e5749e5423 - Sigstore transparency entry: 2617195535
- Sigstore integration time:
-
Permalink:
misiektoja/spotify_profile_monitor@6487e09dfc1e9766fe82dd240eedbf228e4f98ff -
Branch / Tag:
refs/tags/v3.8.1 - Owner: https://github.com/misiektoja
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6487e09dfc1e9766fe82dd240eedbf228e4f98ff -
Trigger Event:
release
-
Statement type: