An unofficial Node.js module to interact with the Steam Store, allowing you to search for games and retrieve detailed game data programmatically.
npm install steamstoreapi
const SteamStoreAPI = require('steamstoreapi');
(async () => {
const searchOptions = {
term: 'gta',
max_price: 30,
};
const games = await SteamStoreAPI.searchSteam(searchOptions);
console.log(games);
})();
const SteamStoreAPI = require('steamstoreapi');
(async () => {
const appid = '271590'; // GTA V AppID
const gameData = await SteamStoreAPI.getGameDetails(appid);
console.log(gameData);
})();
searchSteam(searchOptions, getAllData = false)
Searches the Steam store and returns an array of game objects.
-
Parameters:
searchOptions
(SearchOptions
): The input object containing search parameters.getAllData
(boolean
, optional): Iftrue
, retrieves all available data for each game. Default isfalse
.
-
Returns:
Promise<Array>
: A promise that resolves to an array of game objects.
-
Example:
const searchOptions = { term: 'gta', max_price: 30, }; const games = await SteamStoreAPI.searchSteam(searchOptions); console.log(games);
getGameDetails(appid)
Retrieves detailed information about a game.
-
Parameters:
appid
(string
): The AppID of the game.
-
Returns:
Promise<Object>
: A promise that resolves to an object containing detailed game data.
-
Example:
const appid = '271590'; // GTA V AppID const gameData = await SteamStoreAPI.getGameDetails(appid); console.log(gameData);
SearchOptions
An object containing search parameters.
Option | Key Reference | Value Type | Description |
---|---|---|---|
Term | term | String | A term or keyword to search for. |
Software Type | software_type | String | The type of software being searched. |
Additional Features | additional_features | String | Extra features of the software. |
Multiplayer | multiplayer | String | Indicates if the software supports multiplayer. |
Only Specials | only_specials | Boolean | Filter to show only special offers. |
Hide Free | hide_free | Boolean | Option to hide free-to-play software. |
Max Price | max_price | Number | Maximum price limit for the search. |
Controller Support | controller_support | String | Support for various types of controllers. |
VR Support | vr_support | String | Virtual Reality support availability. |
Supported OS | supported_os | "mac" | "windows" | "linux" | Operating systems that the software supports. |
Deck Compatibility | deck_compatibility | "3" | "2" | Compatibility level with gaming decks. |
Supported Language | supported_lang | String | Languages supported by the software. |
Tags | tags | String | Tags associated with the software. |
Count | count | number | Count of games to load (min 25) |
Contributions are welcome! Please open a pull request to contribute to this project.
- Fork the repository
- Create your feature branch (
git checkout -b feature/YourFeature
). - Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin feature/YourFeature
). - Create a new Pull Request.
This is an unofficial project and is not affiliated with or endorsed by Valve Corporation or Steam.