Board Game Geek API

⭐ Beginner's Pick Games & Comics / No Auth Required Beginner HTTPS
Free to Use Varies (check documentation)

Overview

BoardGameGeek's XML API 2 lets you access a massive database of over 100,000 board games, RPGs, and video games including ratings, reviews, and user collections. It returns XML responses, so you'll need a parser like xml2js in Node.js or Python's xml.etree. This API is great for building board game lookup tools, collection trackers, or recommendation systems.

💡

Beginner Tip

BGG throttles rapid requests — add a short delay (500ms) between calls and always cache responses locally to avoid being blocked.

Available Data

Use case: Integrate board games, rpg and videogames data into web and mobile applications
Board Game Geek data via REST API
JSON-formatted response data
Freely accessible without authentication

Example Response

JSON Response
{
  "id": 1,
  "name": "Board Game Geek",
  "data": "Board games, RPG and videogames",
  "source": "Board Game Geek"
}

Field Reference

item.@id Unique BoardGameGeek item ID used in all API calls.
item.name Array of name objects; the primary name has sortindex='1'.
item.statistics.ratings.average.@value Community average rating out of 10.
item.statistics.ratings.numvoters.@value Total number of community ratings submitted.
item.minplayers.@value Minimum number of players recommended for the game.
item.playingtime.@value Average playing time in minutes.

Implementation Example

const url = "https://boardgamegeek.com/wiki/page/BGG_XML_API2";
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

202 Accepted with empty body BGG queues requests for large datasets; the server is still processing.
Wait 5–10 seconds and retry the same URL — BGG will return data once processing is complete.
Receiving XML instead of JSON BGG's API only returns XML, not JSON.
Use an XML parsing library (xml2js for Node.js, xml.etree.ElementTree for Python) to convert the response.
429 Too Many Requests You are sending requests too quickly.
Add at least a 500ms delay between requests and cache results to avoid repeated identical calls.

Matrix Score Breakdown

🌐 Reachability 0/30
⚡ Speed 15/20
🔒 Security 15/15
🛠 Developer XP 12/20
✓ Reliability 7/15
Response Time 202ms

Fully tested on Apr 5, 2026

Technical Specifications

Auth No Auth
HTTPS REQUIRED
CORS NO
Category Games & Comics
Difficulty Beginner
Verified: 2026-04-04

Similar APIs

View All →