bgg
v3.0.0
Published
BoardGameGeek.com API client
Downloads
485
Maintainers
Readme
BGG
A modern BoardGameGeek.com API client for Node.js.
Supports the BGG XML API2.
Install
npm install bggRequires Node.js 18+ (uses native fetch).
Usage
import createClient from 'bgg';
const bgg = createClient({
timeout: 10000, // 10s timeout (default: 10s)
retries: 2 // retry failed requests (default: 0)
});
// Get user info
const user = await bgg('user', { name: 'monteslu', guilds: 1 });
console.log(user);
// Search for games
const results = await bgg('search', { query: 'catan', type: 'boardgame' });
console.log(results);
// Get game details
const game = await bgg('thing', { id: 13, stats: 1 });
console.log(game);CommonJS
const createClient = require('bgg').default;
const bgg = createClient();API
createClient(options)
Creates a BGG API client.
Options:
timeout(number) - Request timeout in ms (default: 10000)retries(number) - Number of retry attempts (default: 0)
bgg(endpoint, params)
Makes a request to the BGG XML API2.
Endpoints: thing, family, search, collection, user, plays, guild, forum, thread, hot, etc.
See BGG XML API2 docs for all endpoints and parameters.
v2.0 Breaking Changes
- Now requires Node.js 18+ (uses native fetch)
- ES modules by default (use
.defaultfor CommonJS) - Replaced
xml2jsonwithfast-xml-parser(no native dependencies) - Removed
restlibrary dependency - Simplified retry config (just
retries: number)
Alternatives
- bgg-sdk - TypeScript SDK with typed responses
License
MIT
