New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

steamgriddb

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

steamgriddb

Node.js Wrapper for the SteamGridDB API

latest
Source
npmnpm
Version
2.2.1
Version published
Weekly downloads
202
-25.46%
Maintainers
1
Weekly downloads
 
Created
Source

SteamGridDB API

npm license license

Installation

npm install steamgriddb

Getting Started

Get your API key

You can generate an API key on the preferences page.

Require the library into your project.

import SGDB from "steamgriddb";

Pass your API key into the constructor:

const client = new SGDB('your_api_key');

Optionally, you can pass an object with some settings:

const client = new SGDB({
    key: 'your_api_key',
    headers: {
        'X-Some-Header': 'Some Value',
    },
    baseURL: 'https://www.steamgriddb.com/api/v2'
});

Usage

Although these code examples use await, SteamGridDB can also be used with .then() and .catch().

Example
    client.getGrids({type: 'game', id: 2254})
        .then((grids) => {
            console.log(grids);
        })
        .catch((error) => {
            console.error(error);
        });

Search for a game:

const games = await client.searchGame('Half-Life 2');
Output
[
  {
    "id": 2254,
    "name": "Half-Life 2",
    "types": [
      "steam"
    ],
    "verified": true
  },
  {
    "id": 21207,
    "name": "Half-Life",
    "types": [
      "steam"
    ],
    "verified": true
  },
  {
    "id": 1417,
    "name": "Half-Life: Blue Shift",
    "types": [
      "steam"
    ],
    "verified": true
  },
  {
    "id": 3868,
    "name": "Half-Life: Source",
    "types": [
      "steam"
    ],
    "verified": true
  }
]

Get grids By Game ID

// 2254 = Game ID we got from searchGame()
const grids = await client.getGrids({type: 'game', id: 2254}); 
// 2254 = Game ID we got from searchGame()
const grids = await client.getGridsById(2254);

Get grids by Steam App ID

// Get grid by Steam App Id
// 220 = https://store.steampowered.com/app/220/HalfLife_2/
const grids = await client.getGrids({type: 'steam', id: 220});
// 220 = https://store.steampowered.com/app/220/HalfLife_2/
const grids = await client.getGridsBySteamAppId(220);

Filter styles:

const grids = await client.getGrids({type: 'game', id: 2590, styles: ['material','blurred']});
client.getGridsBySteamAppId(220, ['material','blurred'])
Output
[
  {
    "id": 80,
    "score": 1,
    "style": "blurred",
    "url": "https://s3.amazonaws.com/steamgriddb/grid/f033ab37c30201f73f142449d037028d.png",
    "thumb": "https://s3.amazonaws.com/steamgriddb/thumb/f033ab37c30201f73f142449d037028d.png",
    "tags": [],
    "author": {
      "name": "EpicWolverine",
      "steam64": "76561198025674497",
      "avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/76/764911aeb96ae312c2819780f4107396d3b5ac38.jpg"
    }
  },
  {
    "id": 120,
    "score": 1,
    "style": "blurred",
    "url": "https://s3.amazonaws.com/steamgriddb/grid/da4fb5c6e93e74d3df8527599fa62642.png",
    "thumb": "https://s3.amazonaws.com/steamgriddb/thumb/da4fb5c6e93e74d3df8527599fa62642.png",
    "tags": [],
    "author": {
      "name": "Tiederian",
      "steam64": "76561197997534033",
      "avatar": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/bc/bc893073b7e2e60ad412c6fd2af39d3204a5f26a.jpg"
    }
  }
]

Delete grids:

// Delete a grid
const success = await client.deleteGrids(80);
// Delete multiple grids
const success = client.deleteGrids([80,81,82,83]);

Handling errors:

SteamGridDB throws an AxiosError when an error occurs, with the message altered to contain the message returned from SteamGridDB. All methods and properties available in an AxiosError are available, such as error.request and error.response.

// Get grids for a game that doesn't exist
let grids;

try {
    grids = await SGDB.getGrids({dimensions: ["460x215", "920x430"], ...{type, id: 0}});
} catch (error) {
    console.log(error.message); // "Game not found."
    console.log(err.response.status); // 404
};
// Try to delete a grid you don't own
try {
    await client.deleteGrids(34312);
} catch (error) {
    console.log(error.message); // "This grid isn't yours."
    console.log(err.response.status); // 403
}

Keywords

sgdb

FAQs

Package last updated on 26 Aug 2025

Did you know?

Socket

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.

Install

Related posts