boardgamegeek - A Python API for


The documentation is a work in progress. You can check out the unit tests for examples on how to use the library.


boardgamegeek is a Python library which makes it easy to access data from BoardGameGeek using their official XML API.

It’s an almost completely rewritten fork of libBGG.


This library exposes (as Python objects with properties) the following BoardGameGeek entities:

  • Users
  • Games
  • User collections
  • Player guilds
  • Plays
  • Hot items

requests-cache is used for locally caching replies in order to reduce the amount of requests sent to the server.


The cache is enabled by default and it’s configured to use memory only. It’s also possible to use SQLite for a persistent cache.

Quick Install

To install boardgamegeek, just use pip:

> pip install boardgamegeek2

If you had previously used this library before it was rewritten, you’ll need to uninstall it first:

> pip uninstall boardgamegeek


Here’s a quick usage example:

>>> from boardgamegeek import BGGClient
>>> bgg = BGGClient()
>>> g ="Android: Netrunner")
'Android: Netrunner'
>>> for n in g.alternative_names: print n.encode("utf-8")

To Do

  • Not all the information exposed by the official API is stored into the Python objects. Need to improve this.
  • Try to support the other sites from the boardgamegeek’s family
  • Allow better control for configuring the cache
  • Improve documentation :)

Contributions/suggestions are welcome!


Original authors:

  • Phil S. Stein (github:philsstein)
  • Geoff Lawler (github:glawler)

Contributions to this fork:

  • Tom Usher (github:tomusher)
  • Brent Ropp (github:bar350)
  • Michał Machnicki (github:machnic)
  • Philip Kendall (github:pak21)
  • David Feng (github:selwyth)
  • Emil Stenström (github:EmilStenstrom)

Indices and tables