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 steamstoreapiconst 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.