steamfetch 0.2.4

neofetch for Steam - Display your Steam stats in terminal
steamfetch-0.2.4 is not a library.

steamfetch

CI crates.io License: ISC

neofetch for Steam - Display your Steam stats in terminal with style.

Screenshot

              .,,,,.                 
        .,'############',.           unhappychoice@Steam
     .'####################'.        ──────────────────────────────────────────────────
   .'#########################.      Member:       12 years        Eternal Witness
  ;###############'' ,.., '####,     Level:        74              Elite
 ;###############' .#;'':#, '###,    Games:        356             Dimension Hoarder
,###############,  #:    :#, ####,   Unplayed:     101 (28%)       I'll Play Tomorrow
'##############,   #.    ,#' #####   Playtime:     15,932h         Hermit of Eternity
  '*#########*'     '*,,*' .######   Perfect:      257             Platinum Overlord
     `'*###*'          ,.,;#######   Achievements: 38,580 (86%)    Chaos Incarnate
          .,;;,      .;############  
,',.         ';  ,###############'   Top Played
 '####. :,. .,; ,###############'    ├─ Idle Sphere          3,261h
  '####.. `'' .,###############'     ├─ Idle Cave Miner      1,162h
    '########################'       ├─ Revolution Idle      984h
      '*##################*'         ├─ PlanetSide 2         764h
         ''*##########*''            └─ Left 4 Dead 2        665h
              ''''''                 
                                     Recently Played (2 weeks)
                                     ├─ Elden Ring           20h 0m
                                     └─ Hades II             8h 0m
                                     
                                     Rarest: "One-stroke" (0.1%)
                                       in Q  REMASTERED

Installation

Install Script (Recommended)

curl -fsSL https://raw.githubusercontent.com/unhappychoice/steamfetch/main/install.sh | bash

From crates.io

cargo install steamfetch

Download Binary

Download the latest release from GitHub Releases.

Build from Source

git clone https://github.com/unhappychoice/steamfetch.git
cd steamfetch
cargo build --release
./target/release/steamfetch

Setup

1. Get Your Steam API Key

  1. Visit https://steamcommunity.com/dev/apikey
  2. Log in with your Steam account
  3. Create a new API key

2. Find Your Steam ID

Visit https://steamid.io/ and enter your Steam profile URL.

3. Set Environment Variables

export STEAM_API_KEY="your_api_key_here"
export STEAM_ID="your_steam_id_here"

Add these to your shell profile (~/.bashrc, ~/.zshrc, etc.) for persistence.

Usage

# Display your Steam stats
steamfetch

# Demo mode (no API key required)
steamfetch --demo

# Show version
steamfetch --version

# Show help
steamfetch --help

Features

  • Steam account stats (level, member since, games owned)
  • Playtime statistics with fun titles
  • Achievement progress and perfect games count
  • Top played games list
  • Recently played games (last 2 weeks)
  • Rarest achievement display
  • Beautiful SteamOS ASCII art with gradient colors
  • Demo mode for testing without API setup

How It Works

With Steam Client Running

Uses Steamworks SDK for accurate game detection:

  • Automatically detects logged-in Steam user
  • Checks ownership for all known Steam games (~73,000 titles)
  • Most accurate game count and achievement statistics

Without Steam Client

Falls back to Steam Web API:

  • Requires STEAM_API_KEY and STEAM_ID environment variables
  • Returns games visible in your library
  • Some owned games may not appear in API response

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

ISC License - see LICENSE for details.