← Back to context

Comment by ajohnson1200

5 days ago

I built a personal / hobby site for books a couple years ago that was inspired by pinboard.io, and leaned heavily on ISBNDB (their API), during which I learned a lot about isnbn's and books, at least through the lens of what the ISBN DB API offers:

- searching by title, ie: "The last unicorn" will return books across many years, and many editions, and with lots of different titles, examples:

The Last Unicorn (thorndike Press Large Print Science Fiction Series) THE LAST UNICORN The Last Unicorn (40th Anniversary Edition) The Last Unicorn the Lost Journey The Last Unicorn: The Lost Version The Last Unicorn das Einhorn im Spiegel der Popkultur

and then books that have a similar title but are by completely different authors:

The Last Unicorn: A Search for One of Earth's Rarest Creatures

- there's no way to programatically link an ISBN or ISBN13 to all of the other variants of that book across years or editions ( "First Edition", "1st U. S. printing", "6th Printing", etc..) or bindings ("Hardcover", "Mass Market Paperback", "Library Binding", "Kindle Edition", "Audio Cassette", etc..) or languages ("en", "English", "zh", etc..)

- I wrote some code that would consume the 1000 items in the ISBNDB API search results, and attempt to reduce the list of search results based on the the language, the title, and author(s) using Jaccard similarity, and then sorted by year, and grouped by binding, which mostly worked to be able to see all editions for a book, but it's super messy.

Going to have to see if I can use OpenLibrary instead, looks like a great option.