Simple Steam store queries that return the best matches to a given search query. Uses Steam's storefront API.

Steam provides different endpoints that essentially do the same, but in a slightly different manner.

  • stf_search_apps has less filtering capabilities, provides no context and returns a slim output.

  • stf_suggest provides many filtering capabilities, provides context and returns a slightly more detailed output.

  • stf_search_store has no filtering capabilities, provides context and returns a detailed output.

stf_search_apps(term, links = FALSE)

stf_suggest(
  term,
  country_code = "US",
  language = "english",
  steam_realm = 1L,
  require_type = NULL,
  exclude_content_descriptors = NULL,
  links = FALSE
)

stf_search_store(
  term,
  country_code = "US",
  language = "english",
  links = FALSE
)

Arguments

term

Search term used to query the Steam store.

Whether to include links to icon and logo in the output. Defaults to FALSE to avoid littering the output.

country_code

ISO 3166 country code representing the country from which to view the Steam store.

language

ISO 639-1 language code all tokenized strings should be returned in. Not all tokenized strings have a translation for all languages. If no translation is available, defaults to English.

steam_realm

Number describing the Steam realm. A value of 1 indicates Steam Global, 2 indicates Steam China, and 0 indicates Unknown.

require_type

Which application types should be returned? Can be one of bundle, game, demo, mod dlc, software, video, hardware, series, and music.

excluded_content_descriptors

A vector of content descriptors to exclude in the response. Can be one or multiple codes as returned by content_descriptors. Useful to filter explicit contents from the search results. Defaults to NULL.

Value

A dataframe containing at least the appid and application name. stf_suggest returns additional information on app type and price. stf_search_store returns additional info on metascore, current video streams, hardware support, and price details. If links = TRUE, also includes links to application icon and logo.

See also

get_app_list and steamspy for ways to retrieve all applications

query to query all apps using arbitrary filters.

Authentication

The functions of this reference page do not need any kind of authentication to be used (Key = API key needed, Login = user login needed).

FunctionKeyLogin
stf_search_appsnono
stf_suggestnono
stf_search_storenono

Examples

# `stf_search_apps` is suitable for simple queries with low overhead.
stf_search_apps("fortress")
#> # A tibble: 10 × 3
#>    term     appid   name                                       
#>    <chr>    <chr>   <chr>                                      
#>  1 fortress 440     Team Fortress 2                            
#>  2 fortress 975370  Dwarf Fortress                             
#>  3 fortress 2346660 DFHack - Dwarf Fortress Modding Engine     
#>  4 fortress 20      Team Fortress Classic                      
#>  5 fortress 3152590 Fortress 2 BLUE (疯狂坦克)                 
#>  6 fortress 254200  FortressCraft Evolved                      
#>  7 fortress 2551110 Combat Mission: Fortress Italy             
#>  8 fortress 2000800 B-17 Flying Fortress : The Mighty 8th Redux
#>  9 fortress 112100  Avadon: The Black Fortress                 
#> 10 fortress 468740  Snow Fortress                              

# Multiple terms can be searched in a single call
stf_search_apps(c("team", "fortress"))
#> # A tibble: 20 × 3
#>    term     appid   name                                       
#>    <chr>    <chr>   <chr>                                      
#>  1 team     440     Team Fortress 2                            
#>  2 team     20      Team Fortress Classic                      
#>  3 team     1372810 Teamfight Manager                          
#>  4 team     2587450 Tank Team                                  
#>  5 team     1509060 Dungeon Team                               
#>  6 team     785260  Team Sonic Racing™                         
#>  7 team     32680   Delta Force: Black Hawk Down - Team Sabre  
#>  8 team     3275600 Rescue Team: Ancient Guardian              
#>  9 team     2914420 Rescue Team: Clouded Mind                  
#> 10 team     1880930 Rugby Union Team Manager 4                 
#> 11 fortress 440     Team Fortress 2                            
#> 12 fortress 975370  Dwarf Fortress                             
#> 13 fortress 2346660 DFHack - Dwarf Fortress Modding Engine     
#> 14 fortress 20      Team Fortress Classic                      
#> 15 fortress 3152590 Fortress 2 BLUE (疯狂坦克)                 
#> 16 fortress 254200  FortressCraft Evolved                      
#> 17 fortress 2551110 Combat Mission: Fortress Italy             
#> 18 fortress 2000800 B-17 Flying Fortress : The Mighty 8th Redux
#> 19 fortress 112100  Avadon: The Black Fortress                 
#> 20 fortress 468740  Snow Fortress                              

# `stf_suggest` is suitable for suggestion systems (e.g. in a search bar)
# as it returns only the first results, allows more sophisticated filtering
# and provides basic metadata.
stf_suggest("fortress")
#> Error in stf_suggest("fortress"): Assertion on 'exclude_content_descriptors' failed: Must be of type 'integerish', not 'NULL'.
stf_suggest("team", require_type = "dlc")
#> Error in stf_suggest("team", require_type = "dlc"): Assertion on 'exclude_content_descriptors' failed: Must be of type 'integerish', not 'NULL'.
stf_suggest("team", language = "german", country_code = "DE")
#> Error in stf_suggest("team", language = "german", country_code = "DE"): Assertion on 'exclude_content_descriptors' failed: Must be of type 'integerish', not 'NULL'.

# `stf_search_store` provides detailed metadata
stf_search_store("fortress")
#> # A tibble: 10 × 12
#>    type  name                     id metascore streamingvideo controller_support
#>    <chr> <chr>                 <int> <chr>     <lgl>          <chr>             
#>  1 app   Team Fortress 2      4.4 e2 "92"      FALSE          NA                
#>  2 app   Dwarf Fortress       9.75e5 "93"      FALSE          NA                
#>  3 app   Team Fortress Class… 2   e1 ""        FALSE          NA                
#>  4 app   Ruins To Fortress    2.59e6 ""        FALSE          NA                
#>  5 app   Just Cause™ 3 DLC: … 4.01e5 ""        FALSE          full              
#>  6 app   FortressCraft Evolv… 2.54e5 ""        FALSE          NA                
#>  7 app   Combat Mission Fort… 2.55e6 ""        FALSE          NA                
#>  8 app   B-17 Flying Fortres… 2.00e6 ""        FALSE          NA                
#>  9 app   B-17 Flying Fortres… 3.29e5 "82"      FALSE          NA                
#> 10 app   FortressCraft Evolv… 5.90e5 ""        FALSE          NA                
#> # ℹ 6 more variables: platforms.windows <lgl>, platforms.mac <lgl>,
#> #   platforms.linux <lgl>, price.currency <chr>, price.initial <int>,
#> #   price.final <int>