Queries the SteamSpy API. SteamSpy is an unofficial API that provides endpoints for app lists and app details. steamspy automatically iterates through pagination with a rate limit of 1 request per minute. To limit the number of pages returned, set options(steamr_max_reqs).

Due to rate restrictions, retrieving all games can take up to an hour of time. For a much faster approach, see get_app_list, which makes use of the official Steam Web API.

steamspy(
  genre = NULL,
  tag = NULL,
  top100 = FALSE,
  top100_2w = FALSE,
  top100_owned = FALSE
)

Arguments

genre

If specified, returns games in this particular genre. Queries the `genre` endpoint.

tag

If specified, returns game with this particular tag. Queries the `tag` endpoint.

top100

If TRUE, returns the top 100 most played games since March 2009. Queries the `top100forever` endpoint. Ignored if genre or tag are specified.

top100_2w

If TRUE, returns the top 100 most played games in the last two weeks. Queries the `top100in2weeks` endpoint. Ignored if one of the previous three arguments are specified.

top100_owned

If TRUE returns the top 100 games by owners. Queries the `top100owned` endpoint. Ignored if one of the previous four arguments is specified.

Value

A dataframe with the following columns:

appid: Steam application ID. If it is 999999, the data is hidden.

name: Application name

developer: Comma-seperated list of developers

publisher: Comma-seperated list of publishers

score_rank: Score based on user reviews

owners: Estimated number of owners

average_forever: Average playtime since March 2009 in minutes

average_2weeks: Average playtime in the last two weeks in minutes

median_forever: Median playtime since March 2009 in minutes

median_2weeks: Median playtime in the last two weeks in minutes

ccu: Peak currently connected users (CCU) yesterday

price: Current US price in cents

initialprice: Original US price in cents

discount: Current discount in percent

tags: List of tags

language: List of supported languages

genre: List of genres

Examples

if (FALSE) { # \dontrun{
# get all games
steamspy()

# restrict query to the first 1,000 games
options(steamr_max_reqs = 1)
steamspy()

# get all early access titles
steamspy(tag = "Early Access")

# get top 100 games of all time
steamspy(top100 = TRUE)
} # }