There are lots of resources out there to find book recommendations. But I don’t have a lot of time to spend exploring them. My local library’s digital
collections of eBooks and audiobooks, powered by OverDrive,
was a great resource, but combing through their collections, and trying to filter out the unending supply of romance novels made it difficult to find
good books to read.
So when I stumbled upon
NPR’s “Books We Love” (formerly
Book Concierge), I was relieved.
A list of the best books of the year, organized by specific categories. But how do I check whether my local library has a particular book
available as an eBook or audiobook, my preferred formats that don’t require a trip to a physical library? Well, being a software developer, I thought
I’d throw together a quick little web page, load up some JSON and use a little JavaScript to check if my library has the eBooks corresponding to NPR’s list.
That basic idea evolved over time to become what you see on this page now. It was pretty primitive at first. It would load up the JSON data from NPR,
spit out some HTML for each book, and send some HTTP requests to my local library's website to check availability for all the books.
It originally only supported the one library district where I live.
Then, as I got memberships at some other regional libraries, I expanded it to include those three library systems, but they were all hard-coded. So I
added a method to search for OverDrive-enabled library systems based on any given location.
Tip: In my state, you can get a library card from almost all other public library systems in the state. Just go visit a physical
library branch, show proof of residence, and you can get a card. Membership in multiple
library systems will increase your chances of finding an eBook or audiobook.
OverDrive offers a Developer API that I thought I could use
to make things a little smarter and more elegant than screen scraping. Unfortunately, the API is geared more towards acting as an individual, a user,
rather than as a system. So, my actual usage of the API is rather limited, mostly to finding OverDrive-enabled libraries near a specific location.
I didn't want the added complexity of authenticating users against individual library accounts.
You can use this mashup of NPR’s annual “Books We Love”
and OverDrive to find great books to read that match your interests, and
check your local libraries (or any OverDrive-enabled library) to find if they have the titles available in
eBook or audiobook formats.
I’ve also included links to Goodreads, WorldCat (a collection of thousands of libraries’ collections in one place), LibraryThing (an online service to
help people catalog their books), and BookFinder, in case you’d like to purchase a physical copy of a book.
Note: In some cases, OverDrive may provide false matches for a book. This is because NPR’s data only includes ISBN numbers for print editions of a book and
eBook versions have completely different ISBN numbers. The OverDrive API
does not support searching by print ISBNs,
so I’ve had to implement search by title and author. Depending on how the title and author are parsed, you might get results for different books
than the one intended.
OverDrive serves over than
81,000 libraries and schools in 106 countries
, so chances are good that you have a library near you that uses OverDrive.
I have some future enhancements I’d like to make, time permitting:
- Retrieve more book metadata from OverDrive’s API
- Select multiple libraries to search, and display availability from those libraries at one time Done!
- Remember and load the last location and libraries that you'd selected in an earlier session Done!
- Select multiple years’ worth of books
- Filter the books by more than one tag, such as "Historical Fiction" and "Kids Books" Done!
- Upgrade to React! Handlebars was nice when I first started this as a POC years and years ago, but I should move on. It just a matter of having the time.
... Show less
* Neither this website, its owner, operator and/or maintainer, nor NPR endorse any titles on this list.