SteamAPI
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".
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);
});
Now let's take that ID, and fetch the user's profile.
steam.getUserSummary('76561198146931523').then(summary => {
console.log(summary);
});
Documentation
SteamAPI
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]) ⇒
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.<Game>>
- .getUserRecentGames(id, [count]) ⇒
Promise.<Array.<RecentGame>>
- .getUserServers([hide], [key]) ⇒
Promise.<PlayerServers>
- .getUserStats(id, app) ⇒
Promise.<PlayerStats>
- .getUserSummary(id) ⇒
Promise.<PlayerSummary>
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
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], [region]) ⇒ 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 |
[region] | string | "us" | Store region |
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, [includeF2P]) ⇒ Promise.<Array.<Game>>
Get users owned games.
Kind: instance method of SteamAPI
Returns: Promise.<Array.<Game>>
- Owned games
Param | Type | Default | Description |
---|
id | string | | User ID |
[includeF2P] | boolean | true | Whether to include user's free-to-play games or not |
steamAPI.getUserRecentGames(id, [count]) ⇒ 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 |
[count] | number | Optionally limit the number of games to fetch to some number |
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 |