In the process of creating a new project, I had to look up for databases to access basic book information. I found various articles, but mostly incomplete or outdated. I hope this 2020 summary will help you!

Lot of ISBN

Photo by antonio molinari

In short: if you want quality data, you better have one of these three 1/ be a recognized organization acting in the good of books 2/ have some money 3/ have some time (scrapping and merging).
It’s likely that, due to recurrent abuses, public APIs had to restrict accesses over time.

Let’s start with a quick comparison between main actors. Read details whenever a * is mentioned.

Name Entries Business Cover? Price?
Open Library 20M Free
WorldCat 91M Free *
ISBNDB 26.8M Paid *
GoogleBooks 40M Free *
Amazon Product Advertising ? Free *

🗄️ Open Library

Open Library is an initiative from « Internet Archive » (e.g. archive.org), it allows you to freely browse and read books. As a consequence, it offers a free API to dig inside the content.

« The ultimate goal of the Open Library is to make all the published works of humankind available to everyone in the world. »

Links:

In addition to accessing the library by the API, you can download the entire database. One dump seems to be exported every month.

Summary: 20M+ entries with free access. Has cover API.

🐱 WorldCat (OCLC)

WorldCat, owned by OCLC (Online Computer Library Center), is a global library cooperative. It possesses a huge database.
However, access is restricted by a whitelist (for recognized organizations acting in the good of books).

Links:

BUT there still exists an unrestricted access to the « classify » API in XML.

Summary: 91M+ entries with free but restricted access. Has cover API.

🦁 ISBNDB

ISBNDB is a paid API to access book information.

It’s the easiest way to go if paying $10 per month isn’t an issue.

Links:

Summary: 26.8+ entries with paid access ($10-50 / month). Has cover API. Has price information (for $50 plan).

🍭 GoogleBooks

GoogleBooks allows you to access the Google Books repository. In our case, it let you fetch book information via the “volumes” route.

The free access should be limited to a fair use (probably by IP). If at some point restricted, you should activate the API from your Google console, and access it via OAuth2.

The price information seems unreliable (compared to other solutions). I recommend to only use this API as a fallback.

Links:

Summary: unknown number of entries. Free access (probably with some fair use). Has cover API. Has price information, but seems unreliable.

🧛‍♂️ AWS ECommerceService

Amazon started as a book seller… so you can hope they possess a large database about it. However, in order to access their database, you’re required to register as an affiliate partner (and thus, in theory, help to sell Amazon products). While it’s far from impossible, it can quickly become overkill to just access few information.

Links:

Keywords: AWSECommerceService, Product Advertising API, ItemLookup + ISBN.

Summary: unknown number of entries. Free access (when approved by Amazon). Has price information.

🌟 Last but not least

To specifically get book prices, take a look at specialized merchants:

More APIs exist, but won’t give you basic information about a book:

  • GoodReads: mostly useful to get reviews about a book.
  • LibraryThing: offers multiple APIs for book lovers. Unfortunately, they’re being abused, so the cover API is down for a few months already. The ThingISBN is still available and returns similar books (output example here). If you can’t access a link, try with webarchive.