
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
steam-locate
Advanced tools
Find Steam client installation location and apps across Windows, macOS, and Linux
A cross-platform Node.js library for detecting the Steam client installation, checking if Steam is running, and listing or locating installed Steam games on Windows, macOS, and Linux. Inspired by the steamlocate Rust crate.
npm install steam-locate
import {
findSteamLocation,
findSteamLocationSync,
isSteamRunning,
isSteamRunningSync,
findSteamApp,
findSteamAppSync,
getInstalledSteamApps,
getInstalledSteamAppsSync,
SteamNotFoundError,
SteamAppNotFoundError
} from 'steam-locate';
// Async usage
const location = await findSteamLocation();
console.log(location);
// Sync usage
const locationSync = findSteamLocationSync();
console.log(locationSync);
// Check if Steam is running
const running = await isSteamRunning();
const runningSync = isSteamRunningSync();
// Find a specific app
const app = await findSteamApp('570'); // Dota 2
const appSync = findSteamAppSync('570');
// List all installed apps
const apps = await getInstalledSteamApps();
const appsSync = getInstalledSteamAppsSync();
SteamLocationinterface SteamLocation {
path: string; // Path to Steam installation
isRunning: boolean; // Whether Steam is running
platform: 'win32' | 'darwin' | 'linux';
version?: string;
libraryFolders: string[];
}
SteamAppinterface SteamApp {
appId: string;
name?: string;
installDir?: string;
sizeOnDisk?: number;
isInstalled: boolean;
lastUpdated?: Date;
}
SteamNotFoundError: Thrown when Steam installation is not foundSteamAppNotFoundError: Thrown when a specific app is not foundfindSteamLocation(): Promise<SteamLocation>Detects the Steam installation and libraries
Example response:
{
"path": "C:\\Program Files (x86)\\Steam",
"isRunning": true,
"platform": "win32",
"version": "5.98.0.0",
"libraryFolders": [
"C:\\Program Files (x86)\\Steam\\steamapps",
"D:\\SteamLibrary\\steamapps"
]
}
findSteamLocationSync(): SteamLocationSynchronous version
isSteamRunning(): Promise<boolean>Checks if Steam is running
isSteamRunningSync(): booleanSynchronous version
findSteamApp(appId: string, steamPath?: string): Promise<SteamApp>Finds a specific Steam app/game by App ID
Example response:
{
"appId": "570",
"name": "Dota 2",
"installDir": "C:\\Program Files (x86)\\Steam\\steamapps\\common\\dota 2 beta",
"sizeOnDisk": 20000000000,
"isInstalled": true,
"lastUpdated": "2024-06-01T12:34:56.000Z"
}
findSteamAppSync(appId: string, steamPath?: string): SteamAppSynchronous version
getInstalledSteamApps(steamPath?: string): Promise<SteamApp[]>Lists all installed Steam apps/games
Example response:
[
{
"appId": "570",
"name": "Dota 2",
"installDir": "C:\\Program Files (x86)\\Steam\\steamapps\\common\\dota 2 beta",
"sizeOnDisk": 20000000000,
"isInstalled": true,
"lastUpdated": "2024-06-01T12:34:56.000Z"
},
{
"appId": "730",
"name": "Counter-Strike: Global Offensive",
"installDir": "D:\\SteamLibrary\\steamapps\\common\\Counter-Strike Global Offensive",
"sizeOnDisk": 30000000000,
"isInstalled": true,
"lastUpdated": "2024-05-20T10:00:00.000Z"
}
]
getInstalledSteamAppsSync(steamPath?: string): SteamApp[]Synchronous version
All functions may throw SteamNotFoundError or SteamAppNotFoundError if Steam or a specific app cannot be found. Use try/catch to handle errors
FAQs
Find Steam client installation location and apps across Windows, macOS, and Linux
The npm package steam-locate receives a total of 17 weekly downloads. As such, steam-locate popularity was classified as not popular.
We found that steam-locate demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.