npm i steamapi
Once signed into Steam, head over to http://steamcommunity.com/dev/apikey to generate an API key.
First, we start by making a SteamAPI "user".
const SteamAPI = require('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.
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.
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
}
*/
});Kind: global class
- SteamAPI
- new SteamAPI(key, [options])
- .get(path, [base], [key]) ⇒
Promise.<Object> - .resolve(info) ⇒
Promise.<string> - .getAppList() ⇒
Promise.<Array.<App>> - .getFeaturedCategories() ⇒
Promise.<Array.<Object>> - .getFeaturedGames() ⇒
Promise.<Object> - .getGameAchievements(app) ⇒
Promise.<Object> - .getGameDetails(app, [force], [region], [language]) ⇒
Promise.<Object> - .getGameNews(app) ⇒
Promise.<Array.<Object>> - .getGamePlayers(app) ⇒
Promise.<number> - .getGameSchema(app) ⇒
Promise.<Object> - .getServers(host) ⇒
Promise.<Array.<Server>> - .getUserAchievements(id, app) ⇒
Promise.<PlayerAchievements> - .getUserBadges(id) ⇒
Promise.<PlayerBadges> - .getUserBans(id) ⇒
Promise.<(PlayerBans|Array.<PlayerBans>)> - .getUserFriends(id) ⇒
Promise.<Array.<Friend>> - .getUserGroups(id) ⇒
Promise.<Array.<string>> - .getUserLevel(id) ⇒
Promise.<number> - .getUserOwnedGames(id, [includeF2P]) ⇒
Promise.<Array.<OwnedGame>> - .getUserRecentGames(id, [count]) ⇒
Promise.<Array.<Game>> - .getUserServers([hide], [key]) ⇒
Promise.<PlayerServers> - .getUserStats(id, app) ⇒
Promise.<PlayerStats> - .getUserSummary(id) ⇒
Promise.<(PlayerSummary|Array.<PlayerSummary>)>
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 |
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 |
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' |
Get every single app on steam.
Kind: instance method of SteamAPI
Returns: Promise.<Array.<App>> - Array of apps
Get featured categories on the steam store.
Kind: instance method of SteamAPI
Returns: Promise.<Array.<Object>> - Featured categories
Get featured games on the steam store
Kind: instance method of SteamAPI
Returns: Promise.<Object> - Featured games
Get achievements for app id.
Kind: instance method of SteamAPI
Returns: Promise.<Object> - App achievements for ID
| Param | Type | Description |
|---|---|---|
| app | string |
App ID |
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 |
| [region] | string |
"us" |
Currency region |
| [language] | string |
"english" |
Description language |
Warning not every language is supported. A list of available languages can be found here.
Those are also used to filter your passed argument.
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 |
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 |
Get schema for app id.
Kind: instance method of SteamAPI
Returns: Promise.<Object> - Schema
| Param | Type | Description |
|---|---|---|
| app | string |
App ID |
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 |
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 |
Get users badges.
Kind: instance method of SteamAPI
Returns: Promise.<PlayerBadges> - Badges
| Param | Type | Description |
|---|---|---|
| id | string |
User ID |
Get users bans. If an array of IDs is passed in, this returns an array of PlayerBans
Kind: instance method of SteamAPI
Returns: Promise.<(PlayerBans|Array.<PlayerBans>)> - Ban info
| Param | Type | Description |
|---|---|---|
| id | string | Array.<string> |
User ID(s) |
Get users friends.
Kind: instance method of SteamAPI
Returns: Promise.<Array.<Friend>> - Friends
| Param | Type | Description |
|---|---|---|
| id | string |
User ID |
Get users groups.
Kind: instance method of SteamAPI
Returns: Promise.<Array.<string>> - Groups
| Param | Type | Description |
|---|---|---|
| id | string |
User ID |
Get users level.
Kind: instance method of SteamAPI
Returns: Promise.<number> - Level
| Param | Type | Description |
|---|---|---|
| id | string |
User ID |
Get users owned games.
Kind: instance method of SteamAPI
Returns: Promise.<Array.<OwnedGame>> - Owned games
| Param | Type | Default | Description |
|---|---|---|---|
| id | string |
User ID | |
| [includeF2P] | boolean |
true |
Whether to include user's free-to-play games or not |
Get users recent games.
Kind: instance method of SteamAPI
Returns: Promise.<Array.<Game>> - Recent games
| Param | Type | Description |
|---|---|---|
| id | string |
User ID |
| [count] | number |
Optionally limit the number of games to fetch to some number |
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 |
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 |
Get users summary. If an array of IDs is passed in, this returns an array of PlayerSummary
Kind: instance method of SteamAPI
Returns: Promise.<(PlayerSummary|Array.<PlayerSummary>)> - Summary
| Param | Type | Description |
|---|---|---|
| id | string | Array.<string> |
User ID(s) |
