Skip to content
A nice Steam API wrapper for nodejs
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src styling issues Mar 7, 2019
test whew Feb 8, 2018
.gitattributes enforce eol lf Dec 24, 2018
.gitignore
.npmignore Quite some changes Sep 7, 2017
README.md add documentation to readme Dec 24, 2018
index.js Quite some changes Sep 7, 2017
package.json 2.0.7 Mar 7, 2019

README.md

SteamAPI

NPM Discord

Setup

Installation

npm i steamapi

Getting an API Key

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

Usage

First, start by making a new SteamAPI "user"

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

Now, you can call methods to the steam object

For example, lets get the SteamID64 of a user. SteamAPI provides a resolve method which allows urls/id/profile

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

Now let's take that ID and get their profile

steam.getUserSummary('76561198146931523').then(summary => {
	console.log(summary);
	/**
	PlayerSummary {
		avatar: {
			small: 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/7f/7fdf55394eb5765ef6f7be3b1d9f834fa9c824e8.jpg',
			medium: 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/7f/7fdf55394eb5765ef6f7be3b1d9f834fa9c824e8_medium.jpg',
			large: 'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/7f/7fdf55394eb5765ef6f7be3b1d9f834fa9c824e8_full.jpg'
		},
		steamID: '76561198146931523',
		url: 'http://steamcommunity.com/id/DimGG/',
		created: 1406393110,
		lastLogOff: 1517725233,
		nickname: 'Dim',
		primaryGroupID: '103582791457347196',
		personaState: 1,
		personaStateFlags: 0,
		commentPermission: 1,
		visibilityState: 3
	}
	*/
});

Documentation

SteamAPI

Kind: global class

new SteamAPI(key, [options])

Sets Steam key for future use.

Param Type Default Description
key string Steam key
[options] Object {} Optional options for caching and warnings getGameDetails()
[options.enabled] boolean true Whether caching is enabled
[options.expires] number 86400000 How long cache should last for in ms (1 day by default)
[options.disableWarnings] boolean false Whether to suppress warnings

steamAPI.get(path, [base], [key]) ⇒ Promise.<Object>

Get custom path that isn't in SteamAPI.

Kind: instance method of SteamAPI
Returns: Promise.<Object> - JSON Response

Param Type Default Description
path string Path to request e.g '/IPlayerService/GetOwnedGames/v1?steamid=76561198378422474'
[base] string "this.baseAPI" Base URL
[key] string "this.key" The key to use

steamAPI.resolve(info) ⇒ Promise.<string>

Resolve info based on id, profile, or url. Rejects promise if a profile couldn't be resolved.

Kind: instance method of SteamAPI
Returns: Promise.<string> - Profile ID

Param Type Description
info string Something to resolve e.g 'https://steamcommunity.com/id/xDim'

steamAPI.getAppList() ⇒ Promise.<Array.<App>>

Get every single app on steam.

Kind: instance method of SteamAPI
Returns: Promise.<Array.<App>> - Array of apps

steamAPI.getFeaturedCategories() ⇒ Promise.<Array.<Object>>

Get featured categories on the steam store.

Kind: instance method of SteamAPI
Returns: Promise.<Array.<Object>> - Featured categories

steamAPI.getFeaturedGames() ⇒ Promise.<Object>

Get featured games on the steam store

Kind: instance method of SteamAPI
Returns: Promise.<Object> - Featured games

steamAPI.getGameAchievements(app) ⇒ Promise.<Object>

Get achievements for app id.

Kind: instance method of SteamAPI
Returns: Promise.<Object> - App achievements for ID

Param Type Description
app string App ID

steamAPI.getGameDetails(app, [force]) ⇒ Promise.<Object>

Get details for app id. Requests for this endpoint are limited to 200 every 5 minutes

Kind: instance method of SteamAPI
Returns: Promise.<Object> - App details for ID

Param Type Default Description
app string App ID
[force] boolean false Overwrite cache

steamAPI.getGameNews(app) ⇒ Promise.<Array.<Object>>

Get news for app id.

Kind: instance method of SteamAPI
Returns: Promise.<Array.<Object>> - App news for ID

Param Type Description
app string App ID

steamAPI.getGamePlayers(app) ⇒ Promise.<number>

Get number of current players for app id.

Kind: instance method of SteamAPI
Returns: Promise.<number> - Number of players

Param Type Description
app string App ID

steamAPI.getGameSchema(app) ⇒ Promise.<Object>

Get schema for app id.

Kind: instance method of SteamAPI
Returns: Promise.<Object> - Schema

Param Type Description
app string App ID

steamAPI.getServers(host) ⇒ Promise.<Array.<Server>>

Get every server associated with host.

Kind: instance method of SteamAPI
Returns: Promise.<Array.<Server>> - Server info

Param Type Description
host string Host to request

steamAPI.getUserAchievements(id, app) ⇒ Promise.<PlayerAchievements>

Get users achievements for app id.

Kind: instance method of SteamAPI
Returns: Promise.<PlayerAchievements> - Achievements

Param Type Description
id string User ID
app string App ID

steamAPI.getUserBadges(id) ⇒ Promise.<PlayerBadges>

Get users badges.

Kind: instance method of SteamAPI
Returns: Promise.<PlayerBadges> - Badges

Param Type Description
id string User ID

steamAPI.getUserBans(id) ⇒ Promise.<(PlayerBans|Array.<PlayerBans>)>

Get users bans.

Kind: instance method of SteamAPI
Returns: Promise.<(PlayerBans|Array.<PlayerBans>)> - Ban info

Param Type Description
id string | Array.<string> User ID(s)

steamAPI.getUserFriends(id) ⇒ Promise.<Array.<Friend>>

Get users friends.

Kind: instance method of SteamAPI
Returns: Promise.<Array.<Friend>> - Friends

Param Type Description
id string User ID

steamAPI.getUserGroups(id) ⇒ Promise.<Array.<string>>

Get users groups.

Kind: instance method of SteamAPI
Returns: Promise.<Array.<string>> - Groups

Param Type Description
id string User ID

steamAPI.getUserLevel(id) ⇒ Promise.<number>

Get users level.

Kind: instance method of SteamAPI
Returns: Promise.<number> - Level

Param Type Description
id string User ID

steamAPI.getUserOwnedGames(id) ⇒ Promise.<Array.<Game>>

Get users owned games.

Kind: instance method of SteamAPI
Returns: Promise.<Array.<Game>> - Owned games

Param Type Description
id string User ID

steamAPI.getUserRecentGames(id) ⇒ Promise.<Array.<RecentGame>>

Get users recent games.

Kind: instance method of SteamAPI
Returns: Promise.<Array.<RecentGame>> - Recent games

Param Type Description
id string User ID

steamAPI.getUserServers([hide], [key]) ⇒ Promise.<PlayerServers>

Gets servers on steamcommunity.com/dev/managegameservers using your key or provided key.

Kind: instance method of SteamAPI
Returns: Promise.<PlayerServers> - Servers

Param Type Default Description
[hide] boolean false Hide deleted/expired servers
[key] string "this.key" Key

steamAPI.getUserStats(id, app) ⇒ Promise.<PlayerStats>

Get users stats for app id.

Kind: instance method of SteamAPI
Returns: Promise.<PlayerStats> - Stats for app id

Param Type Description
id string User ID
app string App ID

steamAPI.getUserSummary(id) ⇒ Promise.<PlayerSummary>

Get users summary.

Kind: instance method of SteamAPI
Returns: Promise.<PlayerSummary> - Summary

Param Type Description
id string User ID
You can’t perform that action at this time.