Hacker News new | ask | show | jobs
Show HN: See library availabilities for your Goodreads want-to-read list (projecttbr.com)
204 points by bellamk 982 days ago
This is a Goodreads + Libby app integration which shows you the library availability for each of the books on your Goodreads want to read list.

Basically, I got sick of manually looking up each book on my Want to Read list on the Libby app to see if it was available or how long the wait was. So I made this site which easily gathers all that info for me.

At this point, I'm scraping Goodreads to figure out the "Want to Read" list. Libby provides a nice API though.

Any feedback is appreciated!! I also have a substack that I'm going to use to post updates, so follow along there if you're interested :) projecttbr.substack.com

17 comments

This is amazing initiative, thanks for doing it! I like Libby is an amazing "best kept secret". Also Goodreads used such as this "database" is exactly as it should (at least partially) be used. If I could also connect it with my local _physical_ libraries as well + book stores, etc... it would make discovery so much easier - and I had even bigger piles of books to read than now. ;) So cheers for this!

On the user experience feedback:

- I keep getting "failed to load books", though some stuff did succeed (with libraries I don't care about, not my actual ones), so I wonder where the issue is (The query is https://projecttbr.com/?goodreadsProfile=3669238-gergely&lib... for reference; I'm guessing the libraries are giving the grief)

- "loading" is good, but it would be good to have some kind of indication of progress (is it loading my want to read list? is it going through checking the books? what is it doing?)

- it's nice to see that the settings are saved in the query parameters so one can just bookmark the page and don't have to fill in things again. This could be made more explicit, though, as it might not be obvious or guessable to people

- choosing the ebook type got me stumped a bit, even though I do use Libby for ages and e-readers of all kinds: "which one would I need to choose to be able to read in the Android app?" etc... This might not be this page's issue, but some clarity and UX help could be welcome!

BTW I was able to consistently repro that link not loading. I made a couple changes and it seems to be loading now. Want to try again? Lmk if it still fails for you
Thanks so much for the feedback! Those are good ideas.

And thanks for sharing the link where it failed to load books! I’m going to try and figure out what’s going on with that so the link is helpful

Just wondering what people think: I’m lucky to be able to afford all the books I could ever read (high pay, cheap books, medium reading speed) so I choose to buy books rather than borrow them so that I can support authors.

Is this a common opinion? Should I just borrow from the library, does that support the author in some way I don’t know about?

I also often buy books! Especially if I really like the book or the author. I don’t think this is an unpopular opinion.

I don’t think that borrowing from the library supports the author in some way you don’t know about — it shows interest in the book and leads to copies being purchased but buying the book directly definitely seems like it would have a bigger impact. But borrowing from the library does support the library! And libraries can be really great for their communities :)

I like to buy books, but mainly because I like having a physical book collection. In the past year, I've probably ordered 40 or 50 books from Thriftbooks (yes, I am a fast reader). My bookshelf is now getting full with quality books that I can read again and again, or loan out to friends if they want to read one of my books.
I often borrow books to "try" them and then buy if I like them. Also a surprising number of Library ebooks I can't find otherwise.
What happens when you move? Or are you buying ebooks.
You donate them if they are physical books.
Hi there! I will echo what most others are saying and tell you this is really cool!

It doesn't hurt that I am just trying to get back into reading a bit more also.

I wanted to ask, would the code of this be available? I would love to use this, but I don't use GoodReads to track my to-read list; I have started using bookrastinating.com to track my reading list and activities, and would love to integrate what you've built with bookrastinating (and possibly more since it seems that it is some sort of mastodon/activitypub thing).

Awesome job!

thank you! I'm not planning on making the code available rn, but I definitely want to make it easier for people who don't use Goodreads to use Project TBR. Thanks for letting me know about bookrastinating, I will look into it
Ok, thanks for the reply!
This is amazing, thank you so much for creating this!! I'm going to use this all the time. I have a huge number of books in my want-to-read list; have you thought about adding an option to sort by added date? (or by other things like goodreads rating?)
thank you!! So glad to hear that. I hadn't thought of doing that, but will definitely consider it!
How do I find my Goodreads profile id?
it's everything after show/ in the link to your profile!

e.g. the link to my profile is https://www.goodreads.com/user/show/121455547-bella-vice-van... and my id is 121455547-bella-vice-van-heyde

you can also post a link to your profile or to your want to read shelf and the site will parse the id from that!

The profile ID is actually just the number, 12145554.

You can verify this yourself by going to https://www.goodreads.com/user/show/121455547 or https://www.goodreads.com/user/show/121455547-hello-world.

Hrm, I’m trying https://www.goodreads.com/user/show/9499790-brian

And keep getting an “error, failed to load books” message. Am I adding my profile incorrectly, or is something else going on.

When I try with your id, it works.

Great idea, btw, I can’t wait to try it

does this link work for you?

https://projecttbr.com/?goodreadsProfile=9499790-brian&libra...

I assume you'll have to change the library -- I'll try to repro and fix that issue! That shouldn't happen

and thanks!!

That works, but when I try my library, I get the same error “ Failed to load books. Please try again or contact support@projecttbr.com if the issue persists.”

https://projecttbr.com/?goodreadsProfile=9499790-brian&libra...

This is quite nice! Now that I know there's an overdrive API maybe I will pitch adding a functionality like this to Open library :)

Or would also be nice if your app supported an openlibrary.org list and checked against that!

Thanks! I hadn’t heard of open library before but it seems pretty cool - what’s an open library list? Are you also able to track books you’re interested in there?
A list is just what it sounds like, a set of works or editions. But OL also has the concept of "reading log" which is specific lists that are read/reading/want to read that are preset for people.

You can learn more about lists in general here https://openlibrary.org/lists

This is a list I created recently titled "Understanding the Latin American City" https://openlibrary.org/people/raybb/lists/OL235745L/Underst...

If you want to access the api for lists the docs are at https://openlibrary.org/dev/docs/api/lists but it's also as easy as tacking .json to the end of a url like so:

https://openlibrary.org/people/crowmax22/lists/OL226172L/edi...

awesome! Thanks for the info, I'll look into this
LibraryThing [1] also has a local book search on each book's page.

[1]: https://www.librarything.com/home

Really cool project! Libby is such an underrated tool for reading things for free, especially with the number of online libraries where you can sign up for free in the US.
You mean, outside of your physical address geo region's local library system? Is there a list you could point me to?
Except the wait list to read any book I’ve ever tried to read is typically weeks or months.
You can filter by books that are available immediately too I think
Thank you! Agreed, it’s awesome!
Takes a bit to load but looks straightforward and useful!
How challenging is it to add new libraries?
The API I'm using searches all libraries that use Libby/overdrive (https://www.overdrive.com/) to distribute eBooks. So if your library isn't on there then they probably don't use Libby and the way to get them on this site would be to have your library start using it. Lmk if they are on Libby and not showing up bc that would be an issue and I can fix it :)

Another option is to get a library card at a library that does use Libby -- there are some that offer cards to non-residents solely so you can check out library books but idk exactly which ones

Mind if I ask what API you're using? Is it from Overdrive's API or a third-party? Have an idea I want to explore if there's a decent API.
Yeah me too, I've scraped libby pretty easily but didn't know there was an API.

A niche thing which can affect stuff is some libraries only show their full catalog if you're logged in (and potentially which partner library you're a part of, if the library offers multiple). I don't remember if I just read this in their documentation or when scraping, found at least a few difference so logged in first

What are some ways to find libraries that issue cards to non-residents?
I've been wishing for this for years!
How do I find my profile Id on mobile? It takes me to the app and I can't find it there
if you have an Android, then you'll need to go to Goodreads on your browser, bc the Goodreads Android app doesn't have a way to get a link to your profile as far as I could tell.

If you have an iPhone there's a little snippet of instructions on the home page of projecttbr.com (it's not visible when you look at the example I linked to)

If you go to the my profile page and the click share button it gives you a link, which ends in the profile id number.
No notes other than add a tip jar, I didn't know I needed this, but amazing work.
thanks so much!!
This is great but why isn't "physical book" an option?
unfortunately the API I'm currently using only searches audiobooks/ebooks. I'll definitely consider doing this in the future though! It's just not trivial
Google search does it somehow. Any idea how?
Nope lol. Can you give me an example of a search that shows physical book availability? I’d definitely be interested in figuring out how they do it bc it seems like people are interested in this!
when you search a book title it'll usually show it on the main search

https://www.seroundtable.com/google-search-library-book-avai...

absolutely love it, wouldn’t change a thing. the estimates on availability are really great to see.
thank you!!
If you're interested in library integration with Goodreads there are a couple browser extensions that work pretty well and have unofficial best effort to stay compatible with:

- Library Extension https://www.libraryextension.com/ (closed source, works on Amazon too, lots of features and supports multiple browsers)

- Available Reads http://rhollister.github.io/goodreads/ (open source, specific to Goodreads and Chrome)

That first extension also works with Librarything.
I'm also getting zero results, even after adding the books I currently have on hold in Libby to my "To-Read" list on Goodreads!

Here's some info for bellamk's debugging :)

Search query[0]

My Goodreads "To-Read" shelf[1]

The books on Libby[2][3][4][5]

[0] https://projecttbr.com/?goodreadsProfile=48792727&library=de...

[1] https://www.goodreads.com/review/list/48792727?shelf=to-read

[2] https://libbyapp.com/library/deichman/similar-6414418/page-1...

[3] https://libbyapp.com/library/deichman/similar-2001573/page-1...

[4] https://libbyapp.com/library/deichman/similar-2259750/page-1...

[5] https://libbyapp.com/library/deichman/similar-3326143/page-1...

Could it be because your “to-read” Goodreads shelf is private?
oh yeah I think it's the same for the other person too -- theirs is set to only be visible to Goodreads users
that was it! i had to make my profile public (not my shelf)
That was it for me! Thank you :)
Thank you both for the links!! I’ll look into this
Hope it helps! A cool feature might be to be able to select which shelf to check as well, for giving recommendations to friends from my "Read" shelf, etc. :)

Btw, I was curious to see how it looked when it works. I hope you're not planning to borrow "The Great Believers", "Watchmen", "The Paper Palace" or "Harlem Shuffle" from the New York Public Library[0]. It currently has a listed wait time of 9007199254740991 days, or ~652,615.4 cosmic ages.

[0] https://projecttbr.com/?goodreadsProfile=121455547-bella-vic...

yeah I definitely want this to work for other "lists" of books and other goodreads shelves is a good idea!

And oooops fixed that bug :) thanks for letting me know