Skip to content

Latest commit

 

History

History
1016 lines (512 loc) · 20.9 KB

File metadata and controls

1016 lines (512 loc) · 20.9 KB

steamapi


steamapi / default

Class: default

Defined in: SteamAPI.ts:168

Constructors

Constructor

new default(key, options): SteamAPI

Defined in: SteamAPI.ts:196

Make a new SteamAPI Client

Parameters

key

Key to use for API calls. Key can be generated at https://steamcommunity.com/dev/apikey. If you want to make requests without a key, pass in false

string | false

options

SteamAPIOptions = {}

Custom options for default language, HTTP parameters, and caching

Returns

SteamAPI

Properties

baseActions

baseActions: string

Defined in: SteamAPI.ts:184


baseAPI

baseAPI: string

Defined in: SteamAPI.ts:182


baseStore

baseStore: string

Defined in: SteamAPI.ts:183


currency

currency: Currency

Defined in: SteamAPI.ts:180


gameDetailCache?

optional gameDetailCache: CacheMap<string, GameDetails>

Defined in: SteamAPI.ts:186


headers

headers: object

Defined in: SteamAPI.ts:181

Index Signature

[key: string]: string


language

language: Language

Defined in: SteamAPI.ts:179


userResolveCache?

optional userResolveCache: CacheMap<string, string>

Defined in: SteamAPI.ts:187


reCommunityID

static reCommunityID: RegExp

Defined in: SteamAPI.ts:170


reProfileBase

static reProfileBase: string

Defined in: SteamAPI.ts:169


reProfileURL

static reProfileURL: RegExp

Defined in: SteamAPI.ts:173


reSteamID2

static reSteamID2: RegExp

Defined in: SteamAPI.ts:171


reSteamID3

static reSteamID3: RegExp

Defined in: SteamAPI.ts:172


reVanityID

static reVanityID: RegExp

Defined in: SteamAPI.ts:175


reVanityURL

static reVanityURL: RegExp

Defined in: SteamAPI.ts:174


SUCCESS_CODE

static SUCCESS_CODE: number = 1

Defined in: SteamAPI.ts:177

Methods

get()

get(path, params, base): Promise<any>

Defined in: SteamAPI.ts:233

Used to make any GET request to the Steam API

Parameters

path

string

Path to request e.g '/IPlayerService/GetOwnedGames/v1?steamid=76561198378422474'

params

ParsedUrlQueryInput = {}

base

string = ...

Base API URL

Returns

Promise<any>

Parse JSON


getAppList()

getAppList(): Promise<AppBase[]>

Defined in: SteamAPI.ts:415

Get every single app on steam

Note: Original JSON names are being preserved instead of converting each element to a class here because there are 186311+ games that would have to be made into a class.

Returns

Promise<AppBase[]>

Array of very basic app info (ID + name)


getCities()

getCities(countryCode, stateCode): Promise<City[]>

Defined in: SteamAPI.ts:718

Gets all the cities for a particular state

Parameters

countryCode

string

stateCode

string

Returns

Promise<City[]>

Array of city objects with fields countrycode, statecode, cityname and cityid


getCountries()

getCountries(): Promise<Country[]>

Defined in: SteamAPI.ts:702

Gets all the countries

Returns

Promise<Country[]>

Array of country objects with fields countrycode, hasstates, and countryname


getFeaturedCategories()

getFeaturedCategories(options): Promise<{[key: string]: any; }>

Defined in: SteamAPI.ts:316

Gets featured categories on Steam store

undocumented endpoint -- may be unstable

Parameters

options

More options

currency?

Currency = ...

The currency

language?

Language = ...

The language

Returns

Promise<{[key: string]: any; }>


getFeaturedGames()

getFeaturedGames(options): Promise<{[key: string]: any; }>

Defined in: SteamAPI.ts:329

Gets featured games on Steam store

undocumented endpoint -- may be unstable

Parameters

options

More options

currency?

Currency = ...

The currency

language?

Language = ...

The language

Returns

Promise<{[key: string]: any; }>


getGameAchievementPercentages()

getGameAchievementPercentages(app): Promise<AchievementPercentage[]>

Defined in: SteamAPI.ts:485

Get achievement percentages for app ID

If a game does not have any achievements, this will error

Parameters

app

number

App ID to get achievement progress for

Returns

Promise<AchievementPercentage[]>

Array of object with achievement name and percentage for app ID


getGameDetails()

Call Signature

getGameDetails(app, options?): Promise<GameDetails>

Defined in: SteamAPI.ts:354

Get details for app ID. If an array of more than one app ID is passed in, the parameter &filters=price_overview will be added to the request since otherwise the server would respond with null

Note: a game will not have a price_overview field if it is F2P

If the array contains invalid app IDs, they will be filtered out

Requests for this endpoint are limited to 200 every 5 minutes

Not every currency is supported. Only the following are valid: us, ca, cc, es, de, fr, ru, nz, au, uk.

Not every language is supported. A list of available languages can be found here.

Parameters
app

Number

App ID or array of App IDs

options?

More options

currency

Currency

The currency

filters

string[]

Fields to restrict the return results to

language

Language

The language

Returns

Promise<GameDetails>

If app is number, returns single object. If app is array, returns a mapping of app IDs to objects

Call Signature

getGameDetails<T>(app, options?): Promise<{[key: string]: GameDetails; }>

Defined in: SteamAPI.ts:355

Get details for app ID. If an array of more than one app ID is passed in, the parameter &filters=price_overview will be added to the request since otherwise the server would respond with null

Note: a game will not have a price_overview field if it is F2P

If the array contains invalid app IDs, they will be filtered out

Requests for this endpoint are limited to 200 every 5 minutes

Not every currency is supported. Only the following are valid: us, ca, cc, es, de, fr, ru, nz, au, uk.

Not every language is supported. A list of available languages can be found here.

Type Parameters
T

T extends number

Parameters
app

T[]

App ID or array of App IDs

options?

More options

currency

Currency

The currency

filters

string[]

Fields to restrict the return results to

language

Language

The language

Returns

Promise<{[key: string]: GameDetails; }>

If app is number, returns single object. If app is array, returns a mapping of app IDs to objects


getGameNews()

getGameNews(app, options): Promise<NewsPost[]>

Defined in: SteamAPI.ts:511

Get news for app ID

Parameters

app

number

App ID

options

GetGameNewsOptions = {}

Additional options for filtering posts

Returns

Promise<NewsPost[]>

App news for ID


getGamePlayers()

getGamePlayers(app): Promise<number>

Defined in: SteamAPI.ts:438

Get number of current players for app ID

Parameters

app

number

App ID to get number of current players for

Returns

Promise<number>

Number of current players


getGameSchema()

getGameSchema(app, language): Promise<GameSchema>

Defined in: SteamAPI.ts:454

Get schema for app ID

Parameters

app

number

App ID to get schema for

language

Language = ...

Language to return strings for (note: does not seem to affect stats; only achievements)

Returns

Promise<GameSchema>

Schema


getServerList()

getServerList(filter, limit): Promise<GameServer[]>

Defined in: SteamAPI.ts:728

Gets servers using Master Server Query Protocol filtering

Parameters

filter

string = ''

Filter as defined by the Master Server Query Protocol. Although a filter is not strictly required, you probably want to at least use something like \appid[appid] to filter by app

limit

number = 100

Number of results to return. 100 by default

Returns

Promise<GameServer[]>


getServers()

getServers(host): Promise<Server[]>

Defined in: SteamAPI.ts:425

Get every server associated with a particular host

Parameters

host

string

Host to query (IPv4 or IPv4:queryport)

Returns

Promise<Server[]>

Info of servers


getServerTime()

getServerTime(): Promise<Date>

Defined in: SteamAPI.ts:693

Gets the Steam server's time

Returns

Promise<Date>

Date object from the server


getStates()

getStates(countryCode): Promise<State[]>

Defined in: SteamAPI.ts:710

Gets all the states for a particular country

Parameters

countryCode

string

Returns

Promise<State[]>

Array of state objects with fields countrycode, statecode, and statename


getUserAchievements()

getUserAchievements(id, app, language): Promise<UserAchievements>

Defined in: SteamAPI.ts:467

Get a user's achievements for app ID

Parameters

id

string

Steam ID of user

app

number

App ID to get achievements for

language

Language = ...

Language to return strings for

Returns

Promise<UserAchievements>

Achievements


getUserBadges()

getUserBadges(id): Promise<UserBadges>

Defined in: SteamAPI.ts:536

Get a user's badges

Parameters

id

string

User ID

Returns

Promise<UserBadges>

User level info and badges


getUserBans()

Call Signature

getUserBans(id): Promise<UserBans>

Defined in: SteamAPI.ts:622

Get a user's or multiple users' bans. If an array of IDs is passed in, this returns an array of UserBans

Parameters
id

string

User ID(s)

Returns

Promise<UserBans>

Ban info

Call Signature

getUserBans(id): Promise<UserBans[]>

Defined in: SteamAPI.ts:623

Get a user's or multiple users' bans. If an array of IDs is passed in, this returns an array of UserBans

Parameters
id

string[]

User ID(s)

Returns

Promise<UserBans[]>

Ban info


getUserFriends()

getUserFriends(id): Promise<UserFriend[]>

Defined in: SteamAPI.ts:641

Get a user's friends

Parameters

id

string

User ID

Returns

Promise<UserFriend[]>

The provided user's friends


getUserGroups()

getUserGroups(id): Promise<string[]>

Defined in: SteamAPI.ts:653

Get the groups the user is a member of

Parameters

id

string

User ID

Returns

Promise<string[]>

Group IDs


getUserLevel()

getUserLevel(id): Promise<undefined | number>

Defined in: SteamAPI.ts:547

Get a user's level

Parameters

id

string

User ID

Returns

Promise<undefined | number>

The user's Steam level, or undefined if the profile is private


getUserOwnedGames()

getUserOwnedGames(id, opts): Promise<UserPlaytime<Game | GameInfo | GameInfoExtended>[]>

Defined in: SteamAPI.ts:559

Get users owned games.

Parameters

id

string

User ID

opts

GetUserOwnedGamesOptions = {}

Additional options for filtering

Returns

Promise<UserPlaytime<Game | GameInfo | GameInfoExtended>[]>

Owned games


getUserRecentGames()

getUserRecentGames(id, count): Promise<UserPlaytime<GameInfoBasic>[]>

Defined in: SteamAPI.ts:609

Get a user's recently played games. Note: .game is GameInfo not just Game

Like getUserOwnedGames() but only returns games played in the last 2 weeks

Parameters

id

string

User ID

count

number = 0

Number of results to limit the request to (0 means no limit)

Returns

Promise<UserPlaytime<GameInfoBasic>[]>

Recently played games and their play times


getUserServers()

getUserServers(): Promise<UserServers>

Defined in: SteamAPI.ts:666

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

Returns

Promise<UserServers>

Your server


getUserStats()

getUserStats(id, app): Promise<UserStats>

Defined in: SteamAPI.ts:498

Get a user's stats for app ID

Parameters

id

string

Steam ID of user

app

number

App ID to get user stats for

Returns

Promise<UserStats>

Stats for app ID


getUserSummary()

Call Signature

getUserSummary(id): Promise<UserSummary>

Defined in: SteamAPI.ts:675

Get users summary. If an array of IDs is passed in, this returns an array of UserSummary

Parameters
id

string

User ID(s)

Returns

Promise<UserSummary>

Summary

Call Signature

getUserSummary(id): Promise<UserSummary[]>

Defined in: SteamAPI.ts:676

Get users summary. If an array of IDs is passed in, this returns an array of UserSummary

Parameters
id

string[]

User ID(s)

Returns

Promise<UserSummary[]>

Summary


resolve()

resolve(query): Promise<string>

Defined in: SteamAPI.ts:245

Resolve runs through a couple different methods for finding a user's profile ID based on either their id, username, profile url, vanity url, steamID2, or steamID3. Rejects promise if a profile couldn't be resolved

Parameters

query

string

Something to resolve like https://steamcommunity.com/id/xDim

Returns

Promise<string>

Profile ID