Query apps using search terms and filters.

query returns a dataframe of count applications that match the specified filters.

search_suggestions returns a dataframe that match the specified search term and filters.

query_by_recommended_tags is an authenticated function that returns a query based on a user's recommended tags.

Both search_suggestions and query_by_recommended_tags do not currently seem to work. Any help is welcome. For the storefront equivalents of search suggestions, see search_apps. These do actually work but do not allow for much freedom in filtering.

query(
  start = NULL,
  count = NULL,
  sort = NULL,
  released_only = FALSE,
  coming_soon_only = FALSE,
  only_free_items = FALSE,
  exclude_free_items = FALSE,
  type_filters = NULL,
  tags = NULL,
  tags_exclude = NULL,
  content_descriptors = NULL,
  content_descriptors_exclude = NULL,
  regional_top_n = NULL,
  global_top_n = NULL,
  regional_longterm_top_n = NULL,
  global_longterm_top_n = NULL,
  sale_tagid = NULL,
  hub_type = NULL,
  hub_category = NULL,
  hub_tagid = NULL,
  discount_filter = NULL,
  optin_name = NULL,
  optin_tagid = NULL,
  prune_tagid = NULL,
  optin_only = FALSE,
  language = "english",
  elanguage = NULL,
  country_code = "US",
  steam_realm = 1,
  include = "basic_info",
  apply_user_filters = FALSE,
  paginate = FALSE,
  max_pages = Inf
)

Arguments

start

Result page at which to start. The page count starts at 0. If the page count exceeds the maximum pages, the output returns a count attribute of 0.

count

Number of results per page up to a maximum of 1,000. Defaults to 10.

sort

Column of the output by which to sort.

released_only

Whether to return only released applications.

coming_soon_only

Whether to return only applications that are being released in the future.

only_free_items

Whether to return only applications without a price tag.

exclude_free_items

Whether to return only applications with a price tag.

type_filters

Specifies the types of applications to include in the output. Can be one or several of apps, packages, bundles, games, demos, mods, dlc, software, video, hardware, series, and music.

tags

A vector of tagIDs. Only games matching these tags will be returned. Tags are categories or genres given to a game by the user community. For an overview of existing tagIDs, see get_most_popular_tags.

tags_exclude

A vector of tagIDs. Only games not matching these tags will be returned. Tags are categories or genres given to a game by the user community. For an overview of existing tagIDs, see get_most_popular_tags.

content_descriptors

A vector of content descriptor IDs. Only games matching these tags will be returned. Content descriptors are descriptions of the publisher on the explicitness of a game, e.g. strong language or gore. For an overview of existing content descriptors, see content_descriptors.

content_descriptors_exclude

A vector of content descriptor IDs. Only games not matching these tags will be returned. Content descriptors are descriptions of the publisher on the explicitness of a game, e.g. strong language or gore. For an overview of existing content descriptors, see content_descriptors.

regional_top_n, regional_longterm_top_n

Specifies the long-term or short-term number of top games within the country specified by country_code.

global_top_n, global_longterm_top_n

Specifies the long-term or short-term number of global top games.

sale_tagid

Unknown. Probably the ID of a sale to query.

hub_type, hub_category, hub_tagid, discount_filter

Unknown. Possibly used to filter by community hub.

optin_name, optin_tagid, prune_tagid, optin_only

Unknown. Possibly related to Beta opt-in.

iterate

Whether to automatically iterate through pages. Depending on the query, this can take a long time. The maximum number of requests can be controlled using options(steamr_max_reqs = ...).

Value

A dataframe containing information about the queried games. The output contains three attributes matches, start, and count reporting on the total number of matches, current page, and number of matches returned. If paginate = TRUE, start is a vector of all paginated pages and count is the sum of all paginated counts.

The number of rows is generally controlled using the count and paginate arguments. However, the *_top_n arguments overwrite the output count by their specified value.

Examples

if (FALSE) { # \dontrun{
# return the first 500 matches
query(count = 500)

# return the first 2500 matches
options(steamr_max_reqs = 5)
query(count = 500, paginate = TRUE)

# return page 5 of the query
query(start = 6)

# sort by item type
query(sort = 1)

# filter out mature content
cd <- content_descriptors()
cd <- cd[grepl("Mature Content", cd$description), ]$code
query(content_descriptors_exclude = 5)

# filter by strategy games
tags <- get_most_popular_tags()
tagids <- tags[grepl("Strategy", tags$name), ]$tagid
query(tags = tagids)

# out of all matches, return the 5 regional best-sellers
query(regional_top_n = 5)
} # }