Board Game Data API
175,000+ titles · ranks · mechanics · ratings · marketplace pricing. A clean REST + JSON board game database API — the BoardGameGeek alternative built for developers, with the pricing data nobody else exposes.
Why the BoardGameGeek API isn't enough
The board game API space is fragmented. The official BGG XML2 API is queue-and-poll with severe rate limits. GitHub JSON wrappers are scrappy, unmaintained, and don't cover pricing. Nobody else offers a board game pricing API.
| BGG XML2 API | GitHub JSON wrappers | TCGAPIs Board Games | |
|---|---|---|---|
| Format | XML | JSON (scrappy, unmaintained) | JSON (versioned, REST) |
| Rate limits | Severe + opaque (queued stats) | None / undefined | Documented, per-tier |
| Pricing data | None | None | Yes — current + historical |
| Uptime SLA | None | None | Yes |
| Auth model | IP throttling | Varies / none | API key (x-api-key) |
Board Game Data API Endpoints
Authenticated via x-api-key. Every catalog field keyed by BGG ID for drop-in compatibility with existing BGG-keyed data.
/api/v2/boardgames/gamesList of supported board game catalogs and sources. Discovery endpoint — no auth required.
/api/v2/boardgames/titlesPaginated title list. Filter by ?categoryId, ?mechanicId, ?minPlayers, ?maxPlayers, ?yearPublished, ?minWeight, ?maxWeight. Pagination via ?limit and ?offset.
/api/v2/boardgames/title/:bggIdSingle title lookup by BGG ID. Returns name, year, designers, publishers, mechanics, categories, min/max players, playing time, weight, average rating, and BGG rank.
/api/v2/boardgames/mechanicsFull taxonomy of game mechanics with stable mechanic IDs — feed straight into a filter dropdown.
/api/v2/boardgames/categoriesFull taxonomy of categories with stable category IDs.
/api/v2/boardgames/prices/:bggIdCurrent marketplace pricing across providers for a board game title, keyed by BGG ID.
/api/v2/boardgames/prices/:bggId/historyHistorical price time-series for a board game title. Filterable by date range.
Titles → Detail → Prices
Three steps. Each carries the BGG ID forward, so you never have to reconcile keyspaces.
List Titles
/api/v2/boardgames/titlesPaginated list of board game titles. Filter by mechanic, category, player count, year, weight.
Title Detail
/api/v2/boardgames/title/:bggIdUse the BGG ID to fetch the full title record — designers, mechanics, ratings, BGG rank.
Marketplace Prices
/api/v2/boardgames/prices/:bggIdUse the BGG ID to fetch current marketplace pricing. The piece BGG itself does not expose.
Example Response
A real title: Brass: Birmingham. Catalog data and current marketplace pricing in one record.
{
"success": true,
"data": {
"bggId": 224517,
"name": "Brass: Birmingham",
"yearPublished": 2018,
"designers": ["Gavin Birnell", "Matt Tolman", "Martin Wallace"],
"publishers": ["Roxley", "Maldito Games", "Funforge"],
"mechanics": [
"Hand Management",
"Income",
"Loans",
"Network and Route Building",
"Variable Set-up"
],
"categories": ["Economic", "Industry / Manufacturing", "Post-Napoleonic", "Transportation"],
"minPlayers": 2,
"maxPlayers": 4,
"playingTime": 120,
"minAge": 14,
"weight": 3.85,
"rating": {
"average": 8.6,
"bayesAverage": 8.41,
"usersRated": 58420
},
"rank": {
"boardgame": 1,
"strategygames": 1
},
"imageUrl": "https://cf.geekdo-images.com/x3zxjr-Vw5iU4yDPg70Jgw__original/...",
"prices": {
"currency": "USD",
"low": 64.99,
"avg": 78.50,
"providers": [
{ "name": "miniaturemarket", "price": 64.99, "url": "..." },
{ "name": "amazon", "price": 79.99, "url": "..." },
{ "name": "coolstuffinc", "price": 84.99, "url": "..." }
],
"lastUpdated": "2026-05-06T04:00:01.677Z"
}
}
}What you can build
The catalog dimensions you expect from BGG, plus the marketplace pricing layer that unlocks new product categories.
Collection apps
Build "what do I own?" trackers without scraping BGG. Search by name, fetch by BGG ID, and surface ratings, mechanics and complexity weight for every title in a user's collection.
BGG dashboard alternatives
Render top-N leaderboards, mechanic explorers and designer pages — the same charts BGG shows, but in your own UI, fetched in a single JSON call instead of a queue-and-poll XML round-trip.
Buying-aid extensions
Browser extensions that compare retailer prices across marketplaces while showing BGG rank and rating inline. The marketplace pricing endpoints are the unique unlock here.
Retailer pricing tools
Game stores can pull historic price series to set their own shelf prices, spot trending titles, and surface "best price drop this week" widgets — keyed by BGG ID so it bridges to any existing inventory system.
Frequently Asked Questions
Is this a BoardGameGeek API alternative?
Yes. We index 175,000+ titles with the same catalog dimensions you get from BoardGameGeek — ranks, mechanics, categories, designers, publishers, year published, player counts, playing time, and community ratings — but expose them as clean JSON over REST instead of XML, with published rate limits and an SLA. Each title is keyed by its BGG ID, so existing BGG-keyed data ports across without any remapping.
Do you return JSON or XML?
JSON only. Every endpoint returns standard application/json with consistent envelopes. No XML, no HTML scraping, no per-game stat refresh polling — just request a title and get its full record back synchronously.
Does the API include board game pricing?
Yes. /api/v2/boardgames/prices/:bggId returns current marketplace pricing across providers, and /api/v2/boardgames/prices/:bggId/history returns the time-series. Pricing is the dimension nobody else in the board game API space covers — BoardGameGeek itself does not expose marketplace prices via API.
What are the rate limits?
Limits are tied to your subscription tier. Hobby includes 10,000 calls/month, Business 50,000 calls/month, and Unlimited removes the cap entirely. Limits are documented, predictable, and enforced per API key — not by IP throttling.
How does this differ from /catalog-api on the TCG side?
The /catalog-api endpoints cover trading card games (Magic, Pokemon, Yu-Gi-Oh, etc.) — singles, expansions, sets, with TCGPlayer/Cardmarket cross-references. The /boardgames-api endpoints cover board games and expansions — titles, mechanics, designers, BGG ranks, ratings — keyed by BGG ID. Two separate corpora, same auth and same response envelope shape.
What plan do I need?
The /games endpoint listing supported sources is public. Catalog endpoints (titles, title lookup, mechanics, categories) are Hobby+. Pricing endpoints are Business+. Same tier model as the rest of the TCGAPIs platform.
Stop fighting the BGG XML API
175,000+ titles. JSON over REST. Pricing data nobody else exposes. One x-api-key for the whole platform.