[Enhancement]: Kobo and Amazon for options as book metadata providers #2535

Closed
opened 2026-04-25 00:08:06 +02:00 by adam · 8 comments
Owner

Originally created by @LadyHaywood on GitHub (Jan 29, 2025).

Type of Enhancement

None

Describe the Feature/Enhancement

I would like to be able to import ebook metadata from Kobo and Amazon instead of Google Books or Open Library.

Why would this be helpful?

Audiobookshelf doesn't import all of the metadata the ebooks already has (they're missing their author, series, tags, isbn, and asbn info).
Google Books and Open Library don't always have the versions of the ebooks I'm adding, even less so when it comes to manga.

Future Implementation (Screenshot)

adding kobo and amazon as an option
Image

Audiobookshelf Server Version

v2.18.1

Current Implementation (Screenshot)

Image
Image

Originally created by @LadyHaywood on GitHub (Jan 29, 2025). ### Type of Enhancement None ### Describe the Feature/Enhancement I would like to be able to import ebook metadata from Kobo and Amazon instead of Google Books or Open Library. ### Why would this be helpful? Audiobookshelf doesn't import all of the metadata the ebooks already has (they're missing their author, series, tags, isbn, and asbn info). Google Books and Open Library don't always have the versions of the ebooks I'm adding, even less so when it comes to manga. ### Future Implementation (Screenshot) adding kobo and amazon as an option ![Image](https://github.com/user-attachments/assets/d7e3f2c6-9fbf-4824-9a52-8fed2669e8dc) ### Audiobookshelf Server Version v2.18.1 ### Current Implementation (Screenshot) ![Image](https://github.com/user-attachments/assets/92c19405-22ba-478f-973c-f0febf722919) ![Image](https://github.com/user-attachments/assets/f3902ac7-bce4-4ab2-a264-afe3fa7b7195)
adam added the enhancement label 2026-04-25 00:08:06 +02:00
adam closed this issue 2026-04-25 00:08:06 +02:00
Author
Owner

@nichwall commented on GitHub (Jan 29, 2025):

Is there a public API for Kobo or Amazon ebooks?

@nichwall commented on GitHub (Jan 29, 2025): Is there a public API for Kobo or Amazon ebooks?
Author
Owner

@Vito0912 commented on GitHub (Jan 29, 2025):

For Amazon, you probably want Kindle. For Kindle/Goodreads, there is a custom metadata provider available:

https://www.audiobookshelf.org/guides/custom-metadata-providers/

You can self-host them (preferred), but there are some hosted on the demo server:

https://github.com/audiobookshelf/audiobookshelf-web/pull/121#issue-2781769807

For Kobo, I don't think there is any at the moment (but I also think there is no API for Kobo, as it loads PHP).

@Vito0912 commented on GitHub (Jan 29, 2025): For Amazon, you probably want Kindle. For Kindle/Goodreads, there is a custom metadata provider available: https://www.audiobookshelf.org/guides/custom-metadata-providers/ You can self-host them (preferred), but there are some hosted on the demo server: https://github.com/audiobookshelf/audiobookshelf-web/pull/121#issue-2781769807 For Kobo, I don't think there is any at the moment (but I also think there is no API for Kobo, as it loads PHP).
Author
Owner

@LadyHaywood commented on GitHub (Jan 29, 2025):

For Amazon, you probably want Kindle. For Kindle/Goodreads, there is a custom metadata provider available:

https://www.audiobookshelf.org/guides/custom-metadata-providers/

You can self-host them (preferred), but there are some hosted on the demo server:

audiobookshelf/audiobookshelf-web#121 (comment)

Thanks. I've tried seeing how to set up the goodread/kindle one myself, but idk if it's because I'm using the windows abs setup or what but I couldn't figure out how to get either provider to pull in info so I'm using the already setup links.

@LadyHaywood commented on GitHub (Jan 29, 2025): > For Amazon, you probably want Kindle. For Kindle/Goodreads, there is a custom metadata provider available: > > https://www.audiobookshelf.org/guides/custom-metadata-providers/ > > You can self-host them (preferred), but there are some hosted on the demo server: > > [audiobookshelf/audiobookshelf-web#121 (comment)](https://github.com/audiobookshelf/audiobookshelf-web/pull/121#issue-2781769807) Thanks. I've tried seeing how to set up the goodread/kindle one myself, but idk if it's because I'm using the windows abs setup or what but I couldn't figure out how to get either provider to pull in info so I'm using the already setup links.
Author
Owner

@advplyr commented on GitHub (Jan 30, 2025):

Since we don't have public APIs we can use for those I'm going to close this out.
This is why we support custom providers. I would like to make those easier in the future to use by allowing them as installable plugins.

For additional context:
We don't want to implement providers that require web scraping so there needs to be an API. We would support unofficial APIs if they are stable (the audible API is unofficial).

@advplyr commented on GitHub (Jan 30, 2025): Since we don't have public APIs we can use for those I'm going to close this out. This is why we support custom providers. I would like to make those easier in the future to use by allowing them as installable plugins. For additional context: We don't want to implement providers that require web scraping so there needs to be an API. We would support unofficial APIs if they are stable (the audible API is unofficial).
Author
Owner

@LadyHaywood commented on GitHub (Jan 30, 2025):

That's understandable and, sorry, I know this is closed now, but there is still the issue where not all info that I listed above like authors and series from an ebook's file get inputted when adding a book to the library. Not sure if that's a bug or just not a thing yet.

@LadyHaywood commented on GitHub (Jan 30, 2025): That's understandable and, sorry, I know this is closed now, but there is still the issue where not all info that I listed above like authors and series from an ebook's file get inputted when adding a book to the library. Not sure if that's a bug or just not a thing yet.
Author
Owner

@Vito0912 commented on GitHub (Jan 30, 2025):

@LadyHaywood

where not all info that I listed above like authors and series from an ebook's file get inputted when adding a book to the library.

Do you mean when matching the book against a metadata provider or are you meaning data embeded in the ebook file?

@advplyr

We would support unofficial APIs if they are stable

When would you say an API is stable? The abstract one seems very stable (at least there are many 200 responses in my logs). Maybe @LadyHaywood can comment on it, as he mentioned he used it. However, in my opinion, it would need some changes for region-based metadata providers, as having the same for Audible and Kindle gets a bit overwhelming then. I cannot say anything about rate limiting on Amazon's site.

Also, I would consider my BigFinish API somewhat stable. It's a bit on the slow side, but it should work and does not throws errors.

@Vito0912 commented on GitHub (Jan 30, 2025): @LadyHaywood > where not all info that I listed above like authors and series from an ebook's file get inputted when adding a book to the library. Do you mean when matching the book against a metadata provider or are you meaning data embeded in the ebook file? @advplyr > We would support unofficial APIs if they are stable When would you say an API is stable? The abstract one seems very stable (at least there are many 200 responses in my logs). Maybe @LadyHaywood can comment on it, as he mentioned he used it. However, in my opinion, it would need some changes for region-based metadata providers, as having the same for Audible and Kindle gets a bit overwhelming then. I cannot say anything about rate limiting on Amazon's site. Also, I would consider my BigFinish API somewhat stable. It's a bit on the slow side, but it should work and does not throws errors.
Author
Owner

@LadyHaywood commented on GitHub (Jan 30, 2025):

Do you mean when matching the book against a metadata provider or are you meaning data embeded in the ebook file?

The metadata of the ebook itself. Fields that wouldn't import from the metadata were the authors, series and it's position, tags, and isbn (and/or asin if it had one). All of this stuff would be filed out in the metadata but when abs reads that file it doesn't fill those fields. Though, I think this has been fixed now. I just now tested it out see if I was remembering the missing fields right and everything is importing as it should now.

Update: Never mind, I had problem and had to reimport the books back into the library. It's still not populating those same fields.

Image
Image

The goodreads and kindle custom providers are so/so. Goodreads work but isn't always on point when trying to find the exact copy since it's only reading from the title and author. You'll have to put in the isbn yourself for it to fine that copy which is fine. The kindle one stopped working? It worked once and would only pull in the asin and cover but nothing else. I haven't gotten it to work again.

@LadyHaywood commented on GitHub (Jan 30, 2025): > Do you mean when matching the book against a metadata provider or are you meaning data embeded in the ebook file? The metadata of the ebook itself. Fields that wouldn't import from the metadata were the authors, series and it's position, tags, and isbn (and/or asin if it had one). All of this stuff would be filed out in the metadata but when abs reads that file it doesn't fill those fields. ~_Though, I think this has been fixed now. I just now tested it out see if I was remembering the missing fields right and everything is importing as it should now._~ **Update: Never mind, I had problem and had to reimport the books back into the library. It's still not populating those same fields.** ![Image](https://github.com/user-attachments/assets/18afc1e8-b5b5-466c-b0a6-ca70abd87973) ![Image](https://github.com/user-attachments/assets/25c1e9a7-1528-4591-9803-5811c10647cb) The goodreads and kindle custom providers are so/so. Goodreads work but isn't always on point when trying to find the exact copy since it's only reading from the title and author. You'll have to put in the isbn yourself for it to fine that copy which is fine. The kindle one stopped working? It worked once and would only pull in the asin and cover but nothing else. I haven't gotten it to work again.
Author
Owner

@advplyr commented on GitHub (Jan 30, 2025):

There is no set criteria. A recent conversation about that here: https://github.com/advplyr/audiobookshelf/issues/3834#issuecomment-2588304213

@advplyr commented on GitHub (Jan 30, 2025): There is no set criteria. A recent conversation about that here: https://github.com/advplyr/audiobookshelf/issues/3834#issuecomment-2588304213
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#2535