npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-steam-client

v1.0.9

Published

Custom Steam client node for n8n with polling trigger

Readme

Steam Custom Node for n8n

Custom n8n node for accessing Steam Web API with polling trigger.

npm version npm downloads GitHub stars License: MIT

Note: This is a custom node for n8n. Make sure you have n8n installed and configured before using this node.

Features

Actions Available:

  • User Stats - Complete Steam user information
  • Friend List - Steam friends list
  • Recent Games - Games played in the last 2 weeks

Returned Data:

User Stats:

{
  "personaname": "Username",
  "steamid": "76561198...",
  "profileurl": "https://steamcommunity.com/...",
  "avatar": "https://avatars.steamstatic.com/...",
  "status": "Online",
  "playingGame": "Counter-Strike 2",
  "gameDetails": {
    "gameName": "Counter-Strike 2",
    "gameId": "730",
    "richPresence": "Competitive Match"
  },
  "totalGames": 150,
  "topPlayingGames": [
    {
      "name": "Counter-Strike 2",
      "playtime": "150h 30m"
    }
  ],
  "realname": "Real Name",
  "primaryClanId": "103582791429521412",
  "communityVisibilityState": 3,
  "commentPermission": 1,
  "country": "ID",
  "state": "Not set",
  "city": "Not set",
  "accountCreated": "2013-09-15T00:02:55.000Z",
  "lastLogoff": "2025-01-12T15:24:10.000Z",
  "timestamp": "2025-01-13T10:30:00.000Z"
}

Friend List:

{
  "action": "friendList",
  "totalFriends": 25,
  "friends": [
    {
      "steamid": "76561198...",
      "relationship": "friend",
      "friendSince": "2020-01-15T00:00:00.000Z"
    }
  ],
  "timestamp": "2025-01-13T10:30:00.000Z"
}

Recent Games:

{
  "action": "recentGames",
  "totalRecentGames": 5,
  "recentGames": [
    {
      "name": "Counter-Strike 2",
      "appid": 730,
      "playtime2weeks": "15h 30m",
      "playtimeForever": "150h 30m"
    }
  ],
  "timestamp": "2025-01-13T10:30:00.000Z"
}

Configuration

Node Parameters:

  1. Steam API Key (Required)

    • Get from: https://steamcommunity.com/dev/apikey
    • Type: Password field
  2. Steam ID (Required)

    • Steam ID or Profile URL
    • Example: 765611981073xxxx or https://steamcommunity.com/id/username
  3. Action (Required)

    • User Stats - Complete user information
    • Friend List - Friends list (requires API key same as Steam ID)
    • Recent Games - Recent games (requires API key same as Steam ID)

Poll Settings:

  • Mode: Every Minute, Every 5 Minutes, Every 10 Minutes, Every 30 Minutes, Every Hour, Custom
  • Custom Interval: Minimum 10 seconds

Installation

Prerequisites:

Installation Steps:

Method 1: NPM Package (Recommended)

# Install via npm
npm install n8n-nodes-steam-client

Method 2: From Source

# Clone repository
git clone https://github.com/Asyasyarif/steam-client-n8n.git
cd steam-client-n8n

# Install dependencies
npm install

# Build the node
npm run build

Verify Installation:

  1. Open n8n interface
  2. Go to SettingsCommunity Nodes
  3. Look for Steam Client in Trigger category
  4. Node should appear with Steam icon

Usage

Step 1: Setup Credentials

  1. Go to Credentials in n8n
  2. Click Create New
  3. Select Steam API Key
  4. Enter your Steam Web API Key
  5. Save credentials

Step 2: Create Workflow

  1. Create new workflow
  2. Add Steam Client node (from Trigger category)
  3. Configure node:
    • Credentials: Select your Steam API Key
    • Steam ID: Enter target Steam ID
    • Action: Choose desired action
  4. Set Poll Times in workflow settings
  5. Activate workflow

Example Workflows:

Basic User Monitoring:

Steam Client (User Stats) → Slack/Email Notification

Game Activity Tracking:

Steam Client (Recent Games) → Database → Analytics Dashboard

Friend Activity Monitor:

Steam Client (Friend List) → Webhook → Discord Bot

Advanced Configuration:

  • Polling Interval: Set based on your needs (minimum 1 minute recommended)
  • Error Handling: Add error handling nodes for API failures
  • Data Processing: Use n8n's data transformation nodes for custom formatting

Important Notes

Privacy Restrictions:

  • Friend List and Recent Games require API key same as Steam ID being queried
  • If querying other people's Steam ID, data will be empty due to privacy settings
  • Ensure target Steam ID has profile visibility set to "Public"

API Limits:

  • Steam Web API has rate limits
  • Use reasonable polling interval (minimum 1 minute)
  • Monitor usage in Steam API key dashboard

Troubleshooting

"No node to start workflow":

  • Ensure node is built and restart n8n
  • Check n8n logs for any errors

"Friend List/Recent Games empty":

  • API key must be same as Steam ID being queried
  • Target profile must be set to "Public"
  • Check error message in output

"Steam API Error":

  • Verify API key is valid
  • Check Steam ID format
  • Monitor rate limits

Rich Presence Examples

Node supports Rich Presence for currently playing games:

  • Dota 2: "Demo hero: lvl 1", "Playing as Invoker"
  • CS2: "Competitive Match", "Deathmatch"
  • TF2: "Playing as Scout", "On cp_dustbowl"
  • GTA V: "Playing as Michael", "In Los Santos"

Links

Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup:

# Fork and clone repository
git clone https://github.com/Asyasyarif/steam-client-n8n.git
cd steam-client-n8n

# Install dependencies
npm install

# Build for production
npm run build

Reporting Issues:

  • Use GitHub Issues for bug reports
  • Include n8n version and node configuration
  • Provide error logs when possible

License

MIT License - see LICENSE file for details.

Acknowledgments

  • n8n for the amazing workflow automation platform
  • Steam Web API for providing the API
  • Community contributors and testers

Disclaimer

This project is an independent development and is not officially associated with Valve Corporation or Steam. All Steam-related trademarks, logos, and brand names are the exclusive property of Valve Corporation. Steam and the Steam logo are registered trademarks of Valve Corporation in the United States and other countries.


Made with ❤️ for the n8n community