|
|
#1 |
|
Junior Member
![]() Posts: 8
Karma: 10
Join Date: Apr 2026
Device: Kobo Libra Colour
|
Kobo + OverDrive with Multiple Libraries
Hey all...
So, I know this subject may have been beaten to death at this point, and to be honest, I've read a lot through this forum but not sure if there's been any definitive fix when it comes to this. I've been combing the Internet and I'm prepared to go far in terms of trying to get this functioning as it should (outside of Kobo specific application code / firmware changes that might be impossible to change). I'm quite competent when it comes to Linux based systems as well as SQL, so I'm not afraid to dig around in this thing to try to get it into a proper state. So here's the story so far... as of March, it appears there's been one of the latest work arounds (at least that I'm aware of), that allows a user to log into Libby/OverDrive with user credentials instead of their library card, with the sole intention of adding more than one Library to Kobo. Apparently, Kobo or OverDrive has already made attempts to prevent this from working according to this issue on github (which I've been contributing to but haven't had a ton of luck in getting support. I may be going in the wrong direction in my attempts at getting this to work, but for those that understand the database layout of KoboReader.sqlite, I've been tinkering with the records (adding more) into both the OverDriveLibrary and OverDriveCards tables, in attempt to have Kobo reach out as appropriate to each of the libraries I have selected and let me borrow the books they have to offer. I've made (what I'd like to believe), some progress... I had at one point added a record for one of the partner libraries that associates with the library I have a card for... I think the problem I'm having (assuming if this is even going to work, at all) is I'm unsure what values I should be using for OverDriveLibrary.LibraryKey OverDriveCards.LibraryKey OverDriveCards.CardId OverDriveCards.BestLibraryKey ... and in the case of cards I'm attempting to add, the OverDriveCards.Name values. Could anyone, with some knowledge of what I'm talking about, and has a Kobo reader that's currently setup and configured for multiple libraries through OverDrive on their device, give me some advice in regards to the records that they currently have in their KoboReader database? Would really appreciate any advice that others might have, as well as any suggestions to try, etc... really want to get this working! Thanks! |
|
|
|
|
|
#2 |
|
Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 19
Karma: 1620
Join Date: Apr 2023
Device: Kobo Clara 2E & Libra 2
|
I have had multiple library cards working on my Kobo device since 2022.
In December 2023 I tried adding a new library card to my OverDrive account with no success. I could still use an OverDrive account (email/password) but I just couldn't add a new card. At this time I attempted what I believe you're trying to do by manually inserting library details in the OverDriveLibrary and OverDriveCards tables. Unfortunately, I was never able to get it to work. I believe Kobo resolved the December 2023 issue around August 2024 and I was once again able to add the new library card to my OverDrive account. In July 2025 OverDrive removed the ability to log onto your Kobo device using an OverDrive account (email/password) effectively removing the ability to set up multiple library cards on Kobo devices. Now, I will outline what I attempted in December 2023 to manually update the OverDriveLibrary and OverDriveCards tables in order to add the new library. Since I already had multiple library cards linked, I took a look at the database tables to see what the values for a linked library card looked like. The OverDriveLibrary table contains a record for the currently active library. The OverDriveCards table contains records for the libraries currently linked to an OverDrive account. Here are the values from the tables for my primary library: Data View of OverDriveLibrary (linked cards) 1. Selected = 'true' 2. WebsiteId = 142 3. LibraryKey = 'ottawa' 4. Name = 'Ottawa Public Library' Data View of OverDriveCards (linked cards) 1. CardId = 87456798 2. LibraryKey = 'ottawa' 3. BestLibraryKey = 'ottawa' 4. WebsiteId = 142 5. Name = 'Kobo eReader' 6. LastModified = (date) I then logged into OverDrive using the library card number and PIN for my new library so I could see what values got populated in the OverDriveLibrary and OverDriveCards tables. Here are the values from the tables: Data View of OverDriveLibrary (single card) 1. Selected = 'true' 2. WebsiteId = 130223 3. LibraryKey = 'milton' 4. Name = 'Milton Public Library' Data View of OverDriveCards (single card) 1. CardId = 87366557 2. LibraryKey = 'milton' 3. BestLibraryKey = 'milton-visitor' 4. WebsiteId = 130223 5. Name = (library card number) 6. LastModified = (date) Then I logged back into my OverDrive account on my Kobo using an already linked library and attempted to insert the following values into the OverDriveCards table. I left the OverDriveLibrary table alone since it correctly contained the last library I just logged into on my Kobo device being my primary library. Data Insert into OverDriveCards 1. CardId = 87366557 2. LibraryKey = 'milton' 3. BestLibraryKey = 'milton-visitor' 4. WebsiteId = 130223 5. Name = 'Kobo eReader' 6. LastModified = (date) Basically I took the data for Milton Public Library as a single card and changed the value of Name from (library card number) to 'Kobo eReader' which was also the value of Name for my other linked libraries. Unfortunately, this did not link the Milton Public Library to my OverDrive account. Now that I have Milton Public Library properly linked to my OverDrive account I will show you the values in the OverDriveLibrary and OverDriveCards tables for it as a linked library. Data View of OverDriveLibrary (linked cards) 1. Selected = 'true' 2. WebsiteId = 130223 3. LibraryKey = 'milton' 4. Name = 'Milton Public Library' As you can see, these values are the same for a library as either a single library or an OverDrive account linked library. Data View of OverDriveCards (linked cards) 1. CardId = 87367291 2. LibraryKey = 'milton' 3. BestLibraryKey = 'milton-visitor' 4. WebsiteId = 130223 5. Name = 'Kobo eReader' 6. LastModified = (date) As you can see CardId as a linked library is 87367291 whereas CardId as a single library was 87366557. I believe that's why manually inserting library card data failed. There is no way of knowing the CardId of a linked library until you actually link it to your OverDrive account. Simply using the CardId when logging in as a single card isn't the correct value when it's a linked card. Note: In the case of multiple libraries linked to your Kobo, under More->Settings->OverDrive you will only ever see the last library logged into which is the active library. You never see a list of linked libraries. |
|
|
|
|
|
#3 | ||
|
Junior Member
![]() Posts: 8
Karma: 10
Join Date: Apr 2026
Device: Kobo Libra Colour
|
Quote:
https://thunder.api.overdrive.com/v2...s?websiteid=21 Here's a cookie I decoded that contained the selectedCardId value.. not sure if it's really the value we're looking for or if it would work at any capacity... Question: when you do have multiple libraries linked, I know you said you'd only see the one library in More->Settings->OverDrive, but going through the OverDrive store, is there any other indication of you actually having access to the other libraries you have a membership with? For example, something that actually indicates in the store that you're borrowing from X library? Quote:
|
||
|
|
|
|
|
#4 | |
|
Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 19
Karma: 1620
Join Date: Apr 2023
Device: Kobo Clara 2E & Libra 2
|
I only ever poked around in the OverDrive tables in the database and never came across selectedCardId.
In your case, does selectedCardId have the same value for the library you're testing as the value of CardId in the OverDriveCards table? Quote:
You need to use the Libby app on another platform to browse, place holds and borrow books from the other linked libraries. When you borrow a book in Libby from a linked library you then need to sync your Kobo device in order for the borrowed book to show up on your Kobo. Since I have multiple libraries linked on my Kobo I use the Libby app to borrow books and then sync my Kobo to read the books on my device. I never use the built-in OverDrive functionality on my Kobo except when I originally linked my library cards. |
|
|
|
|
|
|
#5 | |
|
Junior Member
![]() Posts: 8
Karma: 10
Join Date: Apr 2026
Device: Kobo Libra Colour
|
Quote:
If I'm not mistaken, the Calibre OverDrive/Libby plug-in that was written like 10 years ago still appears to do what's intended.. can't figure out why Kobo makes this so... Broken. |
|
|
|
|
|
|
#6 | |
|
Junior Member
![]() Posts: 8
Karma: 10
Join Date: Apr 2026
Device: Kobo Libra Colour
|
@toady42 ... Just to confirm, are the OverDrive config options you have in your "Kobo eReader.conf" file in the .kobo directory the same as what I have pasted?
Quote:
|
|
|
|
|
|
|
#7 |
|
Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 19
Karma: 1620
Join Date: Apr 2023
Device: Kobo Clara 2E & Libra 2
|
Yes, the OverDrive config options in my .kobo\Kobo\Kobo eReader.conf file is the same as what you have pasted.
|
|
|
|
|
|
#8 | |
|
Junior Member
![]() Posts: 8
Karma: 10
Join Date: Apr 2026
Device: Kobo Libra Colour
|
Quote:
Could maybe mean I just have to start from scratch with the login and try again. At any rate, will keep an update of I find anything useful. Thanks again and much appreciated for the info you provided. |
|
|
|
|
|
|
#9 | |
|
Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 19
Karma: 1620
Join Date: Apr 2023
Device: Kobo Clara 2E & Libra 2
|
Quote:
If you are logged into the same library on your Kobo device via OverDrive as where you borrowed the book on the Libby app, OverDrive will not find the title if the Kobo store does not have the title at all or it has a different edition than your library. From Kobo chat regarding how books must match between Libby and the Kobo store in order to sync: "When you borrow a book through Libby and sync it to your Kobo eReader via OverDrive, we use specific metadata to match it with our store catalog. For a book to sync wirelessly, it must have the same ISBN-13 and publication date as what's available in our global marketplace. Even when ISBNs match, a mismatched product ID can still prevent syncing. If the borrowed version doesn't match what's currently in our catalog with these exact details, the wireless sync won't work. In that case, you can still transfer the book using Adobe Digital Editions via USB." Also, if a book is recently added to a library's collection, including newly published books, it can take a day or two from the date the book was added to sync with your Kobo. In my case, the only time a book hasn't synced for me with one of the linked libraries on my Kobo is as follows:
Good luck trying to get multiple library cards linked and keep us posted on your progress
|
|
|
|
|
|
|
#10 |
|
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,885
Karma: 17565272
Join Date: Sep 2022
Device: Kobo Libra 2
|
|
|
|
|
|
|
#11 | |
|
Junior Member
![]() Posts: 8
Karma: 10
Join Date: Apr 2026
Device: Kobo Libra Colour
|
Quote:
Much appreciated for all the detailed information you've provided. I'm trying various different things to see if I can get it to work, so far haven't had a lot of luck, and on top of that a couple life events occurred recently that has sidetracked me a little. But I won't be dropping my efforts into trying to get this to work so will definitely report back with any success stories. I will say that I have had success in adding a couple patron libraries affiliated with my counties library card, and unless I'm miss understanding, I'm definitely seeing many more borrow options and categories in the OverDrive section of Kobo discovery. I've been playing with just adding only 1 or 2 of the total amount I'm able to login with my card. However, when attempting to actually borrow a book I'm getting an error in the logs, can't recall exactly what the error was at this time but I believe it either has to do with the LibraryKey value I'm using or the Authorization Token that Kobo is trying to use to borrow the books. You wouldn't happen to know how Kobo is actually trying to authenticate with OverDrive during that initial library login on the Kobo would you? I see that there are some tokens in the users table of the database, but I don't think those are used for the login, I could be mistaken but there should be a auth bearer token somewhere that Kobo is using to actually authorize itself with Overdrive/Libby. If I had to guess this might be part of the puzzle to all this, if you tried to login to one of your libraries on Libby using your standard browser, you'll be making requests to libbyapp.com with that token and if for example you use that same token against the "https://sentry.libbyapp.com/chip/sync" endpoint you'll be presented with information such as CardId, and other information depending on which data you're posting to it. (Don't have full details in front of me regarding it so can't post it all at the moment). Thing is that programmatically I'm not sure how Kobo is actually authenticating against these types of requests. I don't see anything else side from the few records in the user table that would resemble the token it's using to authenticate with.. |
|
|
|
|
|
|
#12 | |
|
Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 19
Karma: 1620
Join Date: Apr 2023
Device: Kobo Clara 2E & Libra 2
|
Quote:
Eventually I came to the conclusion, and maybe it's an incorrect conclusion, that it's a two-step process: authentication and validation. Kobo authenticates with OverDrive then it validates against the library cards that are linked to your OverDrive account. If the library card is not linked to your OverDrive account then it's a no-go. I came to this conclusion because during testing I created a new Kobo account and a new OverDrive account. This is where I get the spinning wheel screen trying to Add a Library Card like everyone else using a newly created OverDrive account. So, I decided to log into my already-existing OverDrive account with library cards already linked and when I initially chose my library and then used the workaround to login using my OverDrive account I did not have to Add a Library Card. It was like I was automatically logged into the library since it was already linked to my OverDrive account and any books I currently had borrowed from the linked libraries were synced to my Kobo. I did not have to log into each library individually, even though I was using a new Kobo account, since they were already linked to my OverDrive account. Last edited by toady42; 04-26-2026 at 09:49 PM. |
|
|
|
|
![]() |
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Clara HD sync multiple libraries using Overdrive | erdos | Kobo Reader | 1 | 01-13-2023 05:06 PM |
| Using multiple Overdrive libraries | lesley9 | Kobo Reader | 17 | 05-01-2022 04:26 PM |
| Libra Overdrive: issues with multiple libraries | JohannB | Kobo Reader | 1 | 08-06-2021 09:38 AM |
| Searching multiple libraries on Overdrive | CCmakes3 | Audiobook Hardware & Software | 3 | 09-17-2018 09:28 PM |
| KAO overdrive - multiple libraries? | bhyde | Kobo Reader | 13 | 07-28-2017 10:21 AM |