Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

xDimGG/node-steamapi

Repository files navigation

SteamAPI

Documentation

A list of all the methods SteamAPI provides is available here.

Breaking changes from 2.x to 3.x

  • CommonJS Modules -> ES Modules
  • Import using import statement instead of require()
  • SteamAPI constructor now takes false as the first parameter if you don't want to supply a key
  • Options for constructor have changes from { enabled, expires, disableWarnings } to { language, currency, headers, baseAPI, baseStore, baseActions, inMemoryCacheEnabled, gameDetailCacheEnabled, gameDetailCacheTTL, userResolveCacheEnabled, userResolveCacheTTL }
  • Custom caching may be enabled by setting inMemoryCacheEnabled: false and setting .gameDetailCache/.userResolveCache. Must implement CacheMap interface in src/Cache.ts
  • getFeaturedGames() returns object instead of array
  • Server#game -> Server#gameDir
  • App IDs are passed as numbers not strings (although a string will probably still work)
  • Any other changes to the API can be found in https://github.com/xDimGG/node-steamapi/blob/master/PORT.md

Future plans for 4.x

  • Allow getGameDetails to return either a GameDetails object or a map of string to GameDetails depending on if the user supplied a single id or an array of ids.
  • Maybe separate groups of endpoints into different classes so there isn't just a monolithic SteamAPI class? Not quite sure how they would be grouped.
  • Add some convenience methods to the Cache class to reduce double logic in SteamAPI.ts

Setup

Installation

npm i steamapi

Getting an API Key

Once signed into Steam, head over to http://steamcommunity.com/dev/apikey to generate an API key.

Usage

First, we start by making a SteamAPI "user".

import SteamAPI from 'steamapi';

const steam = new SteamAPI('steam token');

Now, we can call methods on the steam object.

For example, let's retrieve the SteamID64 of a user. SteamAPI provides a resolve method, which accepts URLs and IDs.

{ console.log(id); // 76561198146931523 });">steam.resolve('https://steamcommunity.com/id/DimGG').then(id => {
console.log(id); // 76561198146931523
});

Now let's take that ID, and fetch the user's profile.

{ console.log(summary); /** UserSummary { steamID: '76561198146931523', avatar: { small: 'https://avatars.steamstatic.com/7875e33529232d95cad28ea1054 897618907fa03.jpg', medium: 'https://avatars.steamstatic.com/7875e33529232d95cad28ea1054 897618907fa03_medium.jpg', large: 'https://avatars.steamstatic.com/7875e33529232d95cad28ea1054 897618907fa03_full.jpg', hash: '7875e33529232d95cad28ea1054897618907fa03' }, url: 'https://steamcommunity.com/id/DimGG/', visible: true, personaState: 0, personaStateFlags: 0, allowsComments: true, nickname: 'dim', lastLogOffTimestamp: 1704553877, createdTimestamp: 1406393110, realName: undefined, primaryGroupID: '103582791457347196', gameID: undefined, gameName: undefined, gameServerIP: undefined, gameServerID: undefined, countryCode: 'US', stateCode: undefined, cityID: undefined } */ });">steam.getUserSummary('76561198146931523').then(summary => {
console.log(summary);
/**
UserSummary {
steamID: '76561198146931523',
avatar: {
small: 'https://avatars.steamstatic.com/7875e33529232d95cad28ea1054897618907fa03.jpg',
medium: 'https://avatars.steamstatic.com/7875e33529232d95cad28ea1054897618907fa03_medium.jpg',
large: 'https://avatars.steamstatic.com/7875e33529232d95cad28ea1054897618907fa03_full.jpg',
hash: '7875e33529232d95cad28ea1054897618907fa03'
},
url: 'https://steamcommunity.com/id/DimGG/',
visible: true,
personaState: 0,
personaStateFlags: 0,
allowsComments: true,
nickname: 'dim',
lastLogOffTimestamp: 1704553877,
createdTimestamp: 1406393110,
realName: undefined,
primaryGroupID: '103582791457347196',
gameID: undefined,
gameName: undefined,
gameServerIP: undefined,
gameServerID: undefined,
countryCode: 'US',
stateCode: undefined,
cityID: undefined
}
*/
});

About

An object-oriented Steam API wrapper for Node.js developers.

Topics

Resources

Readme

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 19