📚 ReadMyTBR

← Back to app

Help & frequently asked questions

Getting started

  1. Export your TBR list from StoryGraph. Go to your Profile → Export your data, and download the CSV. Only books on your To-Read shelf will be checked.
  2. Find your library's URL and add it.
    1. Go to libbyapp.com in a browser (this works even if you normally use the Libby phone app).
    2. Click "Search for a Library" and type your library system's name, or your city/zip code.
    3. Select your library from the results list.
    4. Once it loads, copy the URL straight from your browser's address bar — it'll look like https://libbyapp.com/library/yourkey.
    5. Paste that URL into a library row in the My Libraries panel here. The name fills in automatically — click Save Libraries once you're done.
    Have a card at more than one library? Repeat this for each one — click "+ Add Library" to add another row.
  3. Upload your CSV and click Run Check. Books are checked from the top of the file down. Use the delay slider and the "Check first N books" option if you have a long list and want to go easy on Libby/Amazon's servers.
  4. Click through your results. Each availability badge (eBook, Audio, Kindle Unlimited) links straight to the book on Libby or Amazon.
  5. Pause, resume, or stop anytime. Your progress is saved automatically in your browser as you go, so closing the tab or reopening the app later brings back your last results — and the same CSV, ready to check again.

FAQ

Why is the "Run Check" button greyed out?

It needs two things: a CSV file, and at least one library that has both a name and a valid Libby URL filled in. If a library's name is empty, it should auto-fill a few seconds after you paste the URL — if it doesn't, the library key may not be recognized.

Why do I see Kindle Unlimited errors, like "Amazon bot protection blocked this request"?

Amazon actively blocks a lot of automated traffic, so Kindle Unlimited checks are best-effort — sometimes they work, sometimes they don't. If it's unreliable for you, turn on "Skip Kindle Unlimited check" to skip it entirely and speed up your runs.

What happens if I pause or close the tab partway through a check?

Your results are saved to your browser automatically, whether a check finishes, gets paused, or is stopped early. Reopening the app shows your last results and reloads the same CSV, so you can pick up right where you left off or re-run the whole thing.

Where is my data stored? Is it private?

Everything — your libraries, your CSV, and your results — is stored locally in your own browser. Nothing is kept on the server between requests; a check only sends your CSV data to the server for the duration of that one check.

Why doesn't my library show up, or its key looks wrong?

This only works with libraries that use Libby/OverDrive — not all library systems do, so some won't have a Libby URL at all.

If the badge next to a library says "no key," the URL pasted in isn't one Libby recognizes. To get the right one: go to libbyapp.com, click "Search for a Library," find and select your library, then copy the URL straight from your browser's address bar once the library's page loads — it should look like https://libbyapp.com/library/yourkey. Pasting just the last part (the key itself, after /library/) also works.

What CSV format does this need?

A StoryGraph "to-read" shelf export, with Title, Authors, Format, Read Status, and Date Added columns. Only rows marked to-read are checked.

Is this affiliated with StoryGraph, Libby, or Amazon?

No — this is an independent tool built for personal use, and isn't affiliated with or endorsed by StoryGraph, OverDrive/Libby, or Amazon.