Skip to content

Latest commit

Β 

History

502 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

steam_monitor

GitHub Release PyPI Version GitHub Stars Python Versions License OpenSSF Scorecard Last Commit Maintenance

Powerful tool for real-time tracking of Steam players' activities.

steam_monitor_screenshot

πŸš€ Quick Install & Run

New to Python or unsure what is installed? Follow the Python install walkthrough first.

Install from PyPI:

pip install steam_monitor

Run the setup wizard:

steam_monitor --setup

The wizard asks for the target, the Steam Web API key and optional notifications. Review the settings before saving them. See Setup & First Run for how to get the Steam Web API key and the required privacy settings.

For the manual single-file method, optional dependencies and upgrade commands, see Installation.

Features

πŸ” Activity and Profile Tracking

  • Gaming activity: Detect online and offline status, game starts, finishes and changes.
  • Profile changes: Track persona names, Steam level, XP, friends and game libraries.
  • Session statistics: Measure time in each state, time per game and games played.

πŸ“Š Profile Insights

  • Profile details: View badges, bans, friends, top games and recent playtime.
  • Optional detail: Include friendship dates, persona name history and recent achievements.
  • Profile URLs: Resolve Steam community links without looking up a numeric ID.

πŸ”” Notifications and History

  • Event alerts: Configure email, Discord and ntfy notifications independently.
  • CSV history: Save activity and profile changes with timestamps.
  • Session continuity: Save status across restarts and preserve statistics through short offline interruptions.

βš™οΈ Setup and Configuration

  • Guided setup: Review settings with --setup and check readiness with --doctor.
  • Flexible settings: Use config files, dotenv files, environment variables and command-line options.
  • Terminal and runtime controls: Customize colours and adjust the running monitor through supported signals.

Common Commands

Use Quick Install & Run above for first-time setup. The table uses PyPI commands. For the manual script equivalents, see Run Individual Commands.

Replace the target placeholders with a Steam64 ID or complete Steam community profile URL. Monitoring requires the Steam Web API key described in the setup guide.

I want to... Run this
Configure the target, credentials and alerts steam_monitor --setup
Start monitoring with existing authentication steam_monitor <steam_target>
Check authentication, connectivity and one target steam_monitor --doctor <steam_target>
Enter or replace securely the Steam Web API key steam_monitor --set-steam-api-key
Configure and test webhook alerts Use the setup wizard or follow Webhook Settings
Save an SMTP password for email alerts steam_monitor --set-smtp-password
Send a test email steam_monitor --send-test-email
Save a new webhook URL steam_monitor --set-webhook-url
Send a test webhook steam_monitor --send-test-webhook
Show profile details once steam_monitor <steam_target> -i
Also list friends and recent achievements steam_monitor <steam_target> -i --list-friends --achievements
Resolve a community URL to a Steam64 ID steam_monitor -r <community_url>
Write every change to a CSV file steam_monitor <steam_target> -b changes.csv
Use a specific configuration and secrets file steam_monitor --config-file steam_monitor.conf --env-file .env <steam_target>
List every supported command-line flag steam_monitor --help

The monitored account must expose the activity described in User Privacy Settings.

Running the tool with no arguments offers the wizard if you have not saved a profile. If a profile is already saved, it starts monitoring that profile.

The tool runs until interrupted (Ctrl+C). Use tmux or screen for persistence and run multiple copies to monitor several profiles.

For the Web API key, saved profiles and notification setup, see the full Setup & First Run guide.

For email and webhook setup, see Configuration. For notification choices, user information commands and output files, see Usage.

If a run fails, start with Doctor Preflight.

Documentation

Full documentation is available at misiektoja.github.io/steam_monitor:

Page What it covers
Installation Python walkthrough, PyPI or manual installation, upgrades
Setup & First Run Setup wizard, the Steam Web API key, profile visibility, the first monitoring run
Configuration Config file, SMTP, webhooks, storing secrets, check intervals
Usage Monitoring mode, user information mode, notifications, CSV export, signals, terminal output
Troubleshooting --doctor preflight checks, what to do when something fails, --verbose and --debug output
Testing Running the offline suite, the linter and the docs build
About Requirements, change log, contributing, security, license, support

Change Log

See RELEASE_NOTES.md.

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 and the supported versions.

Maintainers

License

Licensed under GPLv3. See LICENSE. Dependency licenses are listed in THIRD_PARTY_NOTICES.md.

Support

Questions, bug reports and vulnerability reports each have a place, listed in SUPPORT.md.

If the project is useful to you, you can support its development through GitHub Sponsors or Buy Me a Coffee.

Releases

Sponsor this project

Used by

Contributors

Languages