[Enhancement]: import directly from a user's libro.fm library #1387

Open
opened 2026-04-24 23:43:41 +02:00 by adam · 5 comments
Owner

Originally created by @vbatts on GitHub (Sep 17, 2023).

Describe the feature/enhancement

user story

as a user (myself) that purchases books through https://libro.fm (to support my local bookseller), I would like to have a workflow to automatically (or at least painlessly) download the item to my audiobookshelf instance with the cover art, description, isbn, etc.

current workflow

I must (per book):

  • sit at a computer
  • log in to libro.fm
  • click to the library (about 3-5 mouse clicks)
  • download each book (usually 2 *.zip files with individual chapter *.mp3's)
  • extract the mp3's to a folder name
  • copy to the folder that audiobookshelf uses and "scan" (or import folder through my audiobookshelf instance)
  • then fix all the metadata by reviewing the book info on libro.fm

Caveat

Libro.fm does not currently have an API access. So fetching a user's library, item, and book metadata is not currently a feature, but this is aspirational. And I've reached out to their "contact us" expressing this interest.

Originally created by @vbatts on GitHub (Sep 17, 2023). ### Describe the feature/enhancement ## user story as a user (myself) that purchases books through https://libro.fm (to support my local bookseller), I would like to have a workflow to automatically (or at least painlessly) download the item to my audiobookshelf instance with the cover art, description, isbn, etc. ## current workflow I must (per book): - sit at a computer - log in to libro.fm - click to the library (about 3-5 mouse clicks) - download each book (usually 2 `*.zip` files with individual chapter `*.mp3`'s) - extract the mp3's to a folder name - copy to the folder that audiobookshelf uses and "scan" (or import folder through my audiobookshelf instance) - then fix all the metadata by reviewing the book info on libro.fm ## Caveat Libro.fm does not currently have an API access. So fetching a user's library, item, and book metadata is not _currently_ a feature, but this is aspirational. And I've reached out to their "contact us" expressing this interest.
adam added the enhancement label 2026-04-24 23:43:41 +02:00
Author
Owner

@advplyr commented on GitHub (Sep 17, 2023):

My first thought is that this is outside of the scope of Abs. There are some open feature requests related to this though:

You mention that you are manually scanning the library. Is there a reason you are not able to use the watcher that would automatically scan in the new book?

@advplyr commented on GitHub (Sep 17, 2023): My first thought is that this is outside of the scope of Abs. There are some open feature requests related to this though: - Auto quick match books when they are scanned in https://github.com/advplyr/audiobookshelf/issues/1490 (will likely implement) - Webhook support https://github.com/advplyr/audiobookshelf/issues/1857 (will implement) - Rename folder structure based on book metadata https://github.com/advplyr/audiobookshelf/issues/312 (unsure) - Scanner unzipping files https://github.com/advplyr/audiobookshelf/discussions/954 (unsure) You mention that you are manually scanning the library. Is there a reason you are not able to use the watcher that would automatically scan in the new book?
Author
Owner

@vbatts commented on GitHub (Sep 18, 2023):

good references of enhancements that would help that process out a lot!

As for the watcher, I'll have to investigate that functionality.

@vbatts commented on GitHub (Sep 18, 2023): good references of enhancements that would help that process out a lot! As for the watcher, I'll have to investigate that functionality.
Author
Owner

@naglis commented on GitHub (Dec 21, 2023):

FWIW, I checked the Libro.fm Android app (v7.6.1, build: 194) to figure out the endpoints of their private API. The three essential calls are:

@naglis commented on GitHub (Dec 21, 2023): FWIW, I checked the Libro.fm Android app (v7.6.1, build: 194) to figure out the endpoints of their private API. The three essential calls are: - `POST /oauth/token` - [login](https://git.sr.ht/~naglis/librofmdl/tree/f00c3332c11233b5d0524cffb5598e47222731ec/item/librofmdl.py#L110) to get the auth token; - `GET /api/v7/library` - [list purchased publications](https://git.sr.ht/~naglis/librofmdl/tree/f00c3332c11233b5d0524cffb5598e47222731ec/item/librofmdl.py#L127) in the user's library; - `GET /api/v9/download-manifest` [get download URLs](https://git.sr.ht/~naglis/librofmdl/tree/f00c3332c11233b5d0524cffb5598e47222731ec/item/librofmdl.py#L140) for a publication, indicated by ISBN.
Author
Owner

@donkevlar commented on GitHub (Jul 20, 2024):

If someone stumbles on this thread again, I found a repo which might be useful for the self hosters out there.

https://github.com/jedwards1230/libro-client

Im going to try it out, but from my initial testing it could help you setup an automated workflow for importing your purchased books.

@donkevlar commented on GitHub (Jul 20, 2024): If someone stumbles on this thread again, I found a repo which might be useful for the self hosters out there. https://github.com/jedwards1230/libro-client Im going to try it out, but from my initial testing it could help you setup an automated workflow for importing your purchased books.
Author
Owner

@burntcookie90 commented on GitHub (Nov 25, 2024):

wrote a little tool to manage this workflow for me https://github.com/burntcookie90/librofm-downloader

@burntcookie90 commented on GitHub (Nov 25, 2024): wrote a little tool to manage this workflow for me https://github.com/burntcookie90/librofm-downloader
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#1387