Discover/BoardGameGeek API
live

BoardGameGeek APIboardgamegeek.com

Search BoardGameGeek's tabletop game database and retrieve ratings, complexity scores, player counts, mechanics, designers, and full game metadata via two clean endpoints.

Endpoint health
monitored
get_game_details
search_games
Checks pendingself-healing
Endpoints
2
Updated
3h ago

What is the BoardGameGeek API?

The BoardGameGeek API gives you two endpoints to search and inspect tabletop game data from BGG's database of hundreds of thousands of titles. search_games runs full-text queries against primary and alternate game names, returning BGG identifiers, publication years, and game types. get_game_details resolves any numeric game ID into over 15 structured fields including Bayesian ratings, complexity score, player-count range, mechanics, categories, designers, and ownership counts.

Try it
Filter results by game type.
Maximum number of results to return (up to 100).
Search term to match against game titles.
api.parse.bot/scraper/5d314781-0ef6-40ca-a94c-30794fd21bd2/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/5d314781-0ef6-40ca-a94c-30794fd21bd2/search_games?type=boardgame&limit=10&query=Catan' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace boardgamegeek-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.


"""Walkthrough: BoardGameGeek SDK — search games, drill into details, filter by type."""
from parse_apis.boardgamegeek_com_api import BoardGameGeek, GameType, GameNotFound

client = BoardGameGeek()

# Search for base games matching a query; limit caps total items fetched.
for game in client.game_summaries.search(query="Gloomhaven", type=GameType.BOARDGAME, limit=5):
    print(game.name, game.year_published)

# Drill-down: take one result and fetch full details via the typed nav op.
hit = client.game_summaries.search(query="Catan", limit=1).first()
if hit:
    detail = hit.details()
    print(detail.name, detail.average_rating, detail.complexity)
    print("Designers:", detail.designers)
    print("Mechanics:", detail.mechanics[:3])
    for rank in detail.ranks:
        print(f"  {rank.name}: #{rank.rank}")

# Search expansions specifically.
for exp in client.game_summaries.search(query="Catan", type=GameType.EXPANSION, limit=3):
    print(exp.name, exp.type)

# Typed error handling: catch a not-found when fetching details for a bad ID.
try:
    bad = client.game_summaries.search(query="zzzznonexistent", limit=1).first()
    if bad:
        bad.details()
except GameNotFound as exc:
    print(f"Game not found: {exc.game_id}")

print("exercised: game_summaries.search / details / GameType enum / GameNotFound error")
All endpoints · 2 totalmissing one? ·

Full-text search over BoardGameGeek's database of tabletop games. Results include the BGG identifier, title, year published, and game type (base game or expansion). Results are ordered by relevance. The search covers primary and alternate game names.

Input
ParamTypeDescription
typestringFilter results by game type.
limitintegerMaximum number of results to return (up to 100).
queryrequiredstringSearch term to match against game titles.
Response
{
  "type": "object",
  "fields": {
    "type": "string",
    "query": "string",
    "results": "array of game summaries with id, name, type, year_published, href",
    "total_results": "integer"
  },
  "sample": {
    "data": {
      "type": "boardgame",
      "query": "Catan",
      "results": [
        {
          "id": "13",
          "href": "/boardgame/13/catan",
          "name": "Catan",
          "type": "boardgame",
          "year_published": 1995
        }
      ],
      "total_results": 10
    },
    "status": "success"
  }
}

About the BoardGameGeek API

Search the BGG Game Database

The search_games endpoint accepts a required query string and runs it against BoardGameGeek's full title index, covering both primary and alternate game names. Results include each game's numeric BGG id, name, year_published, type (base game or expansion), and a direct href to the BGG page. Use the optional type parameter to restrict results to base games or expansions, and limit (up to 100) to control result set size. The total_results field tells you how many matches exist in total.

Retrieve Full Game Details

get_game_details takes a single game_id — the numeric BGG identifier you can grab from search results — and returns a detailed record. Structured fields include min_age, complexity (BGG's 1–5 Weight scale derived from community votes), designers, publishers, categories, mechanics, num_owned, and ranks (an array of rank objects covering overall board game rank and subdomain ranks like strategy or family games). Ratings come back as both a plain average and a Bayesian-adjusted figure, which BGG uses for its ranked lists.

Notes on Game Identifiers

BGG game IDs are stable numeric strings. Well-known examples: 13 for Catan, 174430 for Gloomhaven, 161936 for Pandemic Legacy Season 1. If you already know a game's BGG ID you can call get_game_details directly without going through search. Expansion records return type: boardgameexpansion and carry the same detail fields as base games.

Reliability & maintenance

The BoardGameGeek API is a managed, monitored endpoint for boardgamegeek.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when boardgamegeek.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official boardgamegeek.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a game recommender that filters by complexity score and mechanics to match player skill level.
  • Track BGG rank changes over time for a watchlist of games using the ranks array from get_game_details.
  • Populate a board game collection app with cover metadata, player counts, and playing time pulled by BGG ID.
  • Compare community ownership (num_owned) across a set of games to gauge market penetration.
  • Identify all expansions for a title by searching its name with type filtered to boardgameexpansion.
  • Enrich a retail product catalog with BGG ratings, designer credits, and category tags.
  • Generate a curated list of top family or strategy games by combining search_games queries with subdomain rank data.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does BoardGameGeek have an official developer API?+
Yes. BGG publishes a free XML-based API documented at https://boardgamegeek.com/wiki/page/BGG_XML_API2. It is rate-limited, returns XML rather than JSON, and does not cover all data surfaces. This Parse API returns structured JSON and normalizes the response fields.
What does the `ranks` field in `get_game_details` contain?+
It's an array of rank objects, each with a name (e.g. 'boardgame', 'strategygames', 'familygames') and a numeric rank. A game ranked in multiple BGG subdomains will have multiple entries. Games that haven't received enough ratings may return unranked for some or all subdomain ranks.
Does the API return user reviews or forum posts for a game?+
Not currently. The API covers game metadata, ratings, rank, mechanics, categories, and ownership counts via get_game_details. User-written reviews and forum thread data are not exposed. You can fork this API on Parse and revise it to add an endpoint targeting BGG's reviews or comment data.
Can I retrieve a user's game collection or their personal ratings?+
Not currently. The two endpoints cover game search and per-game metadata; user profile and collection data are not part of the current API. You can fork it on Parse and revise to add endpoints for user collection lookups.
How should I interpret the `complexity` field?+
It maps directly to BGG's community-voted 'Weight' score, a float on a 1–5 scale where 1 is light/casual and 5 is heavy/complex. The value is the average of all user weight votes recorded for that game on BGG.
Page content last updated . Spec covers 2 endpoints from boardgamegeek.com.
Related APIs in EntertainmentSee all →
gamestop.com API
Search GameStop's catalog for games and merchandise, browse products by category, view detailed product information including reviews, and discover what's available—all with seamless access that handles Cloudflare protection automatically.
miniaturemarket.com API
Search for miniature and tabletop gaming products, browse items by category, and access detailed product information including customer reviews and current deals from Miniature Market. Find exactly what you need with comprehensive product listings and real-time pricing data to make informed purchasing decisions.
metacritic.com API
Search for games, movies, and TV shows, then retrieve detailed metadata, critic and user reviews, and ranked lists from Metacritic. Access comprehensive rating information and review data to discover top-rated entertainment content across all media types.
opencritic.com API
Find and compare video game reviews and critic scores from industry experts, search games by title or filters, and browse detailed metadata including platforms, tags, and the latest releases. Get aggregated ratings and comprehensive review information to discover games and make informed purchasing decisions.
gamespot.com API
Retrieve GameSpot reviews and detailed review information to read professional game critiques, browse user comments on those reviews, and check upcoming game release schedules. Stay informed about new game launches and community discussions all in one place.
g2a.com API
Search for game keys and get real-time pricing, seller ratings, and detailed product information from G2A's marketplace. Browse available categories and find the best deals on digital game licenses from verified sellers.
gg.deals API
Search for games and browse current deals across multiple stores while tracking price history to find the best discounts. Get detailed pricing information and historical price data to make informed purchasing decisions.
bazaardb.gg API
Search and retrieve comprehensive data about The Bazaar game cards, including items, skills, merchants, trainers, monsters, and events with full details like tiers, attributes, enchantments, and tooltips. Quickly find the specific card information you need to optimize your gameplay strategy and deck building.