BookBrainz is an online encyclopaedia which contains information about published literature. Our aim is to collect and store data about every book, magazine, journal or other publication ever written.
We are committed to making BookBrainz the definitive source of publication metadata. We hope to attract many contributors, who will be able to use their knowledge of literature to expand the database through our website. If you think you can help, become a BookBrainz editor!
BookBrainz relies on contributions from editors to expand the knowledge contained in the database. Editors can add new data to the site, fix any errors in the existing information, and create links between pieces of information.
Accessing the data
The BookBrainz data is freely available to everyone, for any use. Please see our licensing page for more details.
Regular database dumps (Postgres) can be found at this address.
We also have a webservice (or API) under development with live documentation.
BookBrainz was conceived in 2011, during a discussion in the MusicBrainz IRC channel. It was initially championed by Oliver Charles who was a core MusicBrainz developer at the time, and the code was written in Haskell. While a number of people contributed to this early version of BookBrainz, it lost momentum after a couple of years.
Another MusicBrainz community member, Sean Burke, who had been involved with BookBrainz from the beginning, rekindled the project in May 2014, starting from scratch using the node.js framework. Although there was an initial burst of activity and good progress made on the site design, after a month or so, Sean didn’t have time to maintain the initial level of activity.
Around the time of the annual MusicBrainz summit in 2014, a third MusicBrainz community member, Ben Ockmore, started to take an interest in the project. New discussions were held in the BookBrainz IRC channel, and progress was made on a new node.js site and webservice. After a couple of months, the decision was made to switch from node.js to Python for the webservice, and progress has continued steadily since then. Recently, in order to reduce duplication of code, it was decided to once again use node.js for all code, and work is ongoing to achieve this.
In September 2018, a full-time position was opened for BookBrainz to become an official project of MetaBrainz, and, Nicolas Pelletier (AKA Monkey) became the project lead.
From the beginning, BookBrainz was closely tied with the New Edit System (NES) for MusicBrainz, which was designed by Oliver to introduce a Git-style framework for managing contributions to MusicBrainz. Both projects were initially written in Haskell, and BookBrainz used an adapted version of NES as its edit system. The NES has also been the basis for the edit system in the current iteration of BookBrainz.