[Enhancement]: Use Storytel as a metadata-source #823

Open
opened 2026-04-24 23:22:48 +02:00 by adam · 15 comments
Owner

Originally created by @ScuttleSE on GitHub (Dec 18, 2022).

Describe the feature/enhancement

I don't know if this is too niche, but it would be nice to have Storytel.com available as a metadata source.
The site focuses mainly on non-english audiobooks though.

I wrote a "Tag Source" thing for mp3tag for it, and storytel has a really accessible API that allows for searches and gies you the result as json, so the implementation shouldn't be too hard.

https://www.storytel.com/api/search.action?q=L%C3%A5t%20den%20r%C3%A4tte%20komma%20in

That URL will query the database, using q as an input paramter (url-encoded), it will return a json blob.

From the results, you then get [books][n][abook][id] to get details, including URL for cover.

Originally created by @ScuttleSE on GitHub (Dec 18, 2022). ### Describe the feature/enhancement I don't know if this is too niche, but it would be nice to have Storytel.com available as a metadata source. The site focuses mainly on non-english audiobooks though. I wrote a "[Tag Source](https://community.mp3tag.de/t/ws-storytel-json-based/58263/2)" thing for mp3tag for it, and storytel has a really accessible API that allows for searches and gies you the result as json, so the implementation shouldn't be too hard. `https://www.storytel.com/api/search.action?q=L%C3%A5t%20den%20r%C3%A4tte%20komma%20in` That URL will query the database, using q as an input paramter (url-encoded), it will return a json blob. From the results, you then get `[books][n][abook][id]` to get details, including URL for cover.
adam added the enhancement label 2026-04-24 23:22:48 +02:00
Author
Owner

@advplyr commented on GitHub (Dec 18, 2022):

Do you have the API docs for this?

@advplyr commented on GitHub (Dec 18, 2022): Do you have the API docs for this?
Author
Owner

@ScuttleSE commented on GitHub (Dec 18, 2022):

No, the mp3tag Tag Source was written "blindly", with some trial and error.

@ScuttleSE commented on GitHub (Dec 18, 2022): No, the mp3tag Tag Source was written "blindly", with some trial and error.
Author
Owner

@advplyr commented on GitHub (Dec 18, 2022):

Hmm.. I don't see any reference that this is a public API. I'm hesitant on implementing something that will start blocking IPs or throttling or can just change without notice.

@advplyr commented on GitHub (Dec 18, 2022): Hmm.. I don't see any reference that this is a public API. I'm hesitant on implementing something that will start blocking IPs or throttling or can just change without notice.
Author
Owner

@advplyr commented on GitHub (Jan 7, 2023):

Can re-open this if we have a public API

@advplyr commented on GitHub (Jan 7, 2023): Can re-open this if we have a public API
Author
Owner

@tkozybski commented on GitHub (Apr 1, 2023):

Hmm.. I don't see any reference that this is a public API. I'm hesitant on implementing something that will start blocking IPs or throttling or can just change without notice.

@advplyr The API is as public as Audible, as there's no public documentation (AFAIK it's mined from a client). Every time you type a character in the search bar, it sends a new request, so I wouldn't be too worried about rate-limiting. Storytel would make a great metadata source, as it has many languages available.

@tkozybski commented on GitHub (Apr 1, 2023): > Hmm.. I don't see any reference that this is a public API. I'm hesitant on implementing something that will start blocking IPs or throttling or can just change without notice. @advplyr The API is as public as Audible, as there's no public documentation (AFAIK it's mined from a client). Every time you type a character in the search bar, it sends a new request, so I wouldn't be too worried about rate-limiting. Storytel would make a great metadata source, as it has many languages available.
Author
Owner

@InjectingZeunerts commented on GitHub (Apr 19, 2023):

@advplyr - I am also very interested in getting Storytel as an metadata source. Current options (google/audible) lacks quite a lot of swedish audiobooks.

Storytel seems to be active in 23 different countries (some go under different names, like Mofibo in Denmark).

@InjectingZeunerts commented on GitHub (Apr 19, 2023): @advplyr - I am also very interested in getting Storytel as an metadata source. Current options (google/audible) lacks quite a lot of swedish audiobooks. Storytel seems to be active in 23 different countries (some go under different names, like Mofibo in Denmark).
Author
Owner

@advplyr commented on GitHub (Apr 19, 2023):

Audible is technically not public but has been stable for a while and someone put up docs for it.

I'm open to trying this out if someone wants to add a Storytel provider. It would be nice to have a spec. Can we use different regions?

@advplyr commented on GitHub (Apr 19, 2023): Audible is technically not public but has been stable for a while and someone put up docs for it. I'm open to trying this out if someone wants to add a Storytel provider. It would be nice to have a spec. Can we use different regions?
Author
Owner

@Revisor01 commented on GitHub (Oct 18, 2023):

Looking at the api i found that we can use regions with:

request_locale=de,en,se,etc

https://www.storytel.com/api/search.action?request_locale=de&q=%s

as word seperator use +

@Revisor01 commented on GitHub (Oct 18, 2023): Looking at the api i found that we can use regions with: request_locale=de,en,se,etc https://www.storytel.com/api/search.action?request_locale=de&q=%s as word seperator use +
Author
Owner

@ScuttleSE commented on GitHub (Oct 18, 2023):

I can't code javascript, but I can probably write a API "definition" of some kind...what parameters are needed?

@ScuttleSE commented on GitHub (Oct 18, 2023): I can't code javascript, but I can probably write a API "definition" of some kind...what parameters are needed?
Author
Owner

@mcfrojd commented on GitHub (Mar 12, 2024):

Is this something that is going to be able to solve now with the new "custom metadata source" feature that was introduced in the latest version?
I would love if this worked in abs to eliminate the step to use mp3tag and the storytel tag source there.

@mcfrojd commented on GitHub (Mar 12, 2024): Is this something that is going to be able to solve now with the new "custom metadata source" feature that was introduced in the latest version? I would love if this worked in abs to eliminate the step to use mp3tag and the storytel tag source there.
Author
Owner

@nichwall commented on GitHub (Mar 12, 2024):

Yes, this could be solved by adding a custom metadata source. https://www.audiobookshelf.org/guides/custom-metadata-providers

The custom provider can be in any language, it just needs to provide the following API to ABS (https://github.com/advplyr/audiobookshelf/blob/master/custom-metadata-provider-specification.yaml)

@nichwall commented on GitHub (Mar 12, 2024): Yes, this could be solved by adding a custom metadata source. https://www.audiobookshelf.org/guides/custom-metadata-providers The custom provider can be in any language, it just needs to provide the following API to ABS (https://github.com/advplyr/audiobookshelf/blob/master/custom-metadata-provider-specification.yaml)
Author
Owner

@rayha2000 commented on GitHub (Jan 8, 2025):

Any chances of getting Storytel as metadata provider? Either as a common provider or a custom made one?

@rayha2000 commented on GitHub (Jan 8, 2025): Any chances of getting Storytel as metadata provider? Either as a common provider or a custom made one?
Author
Owner

@Revisor01 commented on GitHub (Feb 19, 2025):

Hi,

I've created a custom Storytel metadata provider for Audiobookshelf (using the custom provider feature):

https://github.com/Revisor01/abs-storytel-provider

Features:

  • Storytel API integration
  • Multi-language support (configure the STORYTEL_LOCALE environment variable)
  • Clean title formatting, genre/tag org, etc.
  • Note: Title formatting is optimized for German titles. Locale is configurable via the STORYTEL_LOCALE environment variable. en, se, fr, and it are also likely working.

See the README for setup. Issues/suggestions/prs welcome in the repo!

@Revisor01 commented on GitHub (Feb 19, 2025): Hi, I've created a custom Storytel metadata provider for Audiobookshelf (using the custom provider feature): https://github.com/Revisor01/abs-storytel-provider Features: * Storytel API integration * Multi-language support (configure the `STORYTEL_LOCALE` **environment variable**) * Clean title formatting, genre/tag org, etc. * **Note: Title formatting is optimized for German titles. Locale is configurable via the `STORYTEL_LOCALE` environment variable. `en`, `se`, `fr`, and `it` are also likely working.** See the README for setup. Issues/suggestions/prs welcome in the repo!
Author
Owner

@rayha2000 commented on GitHub (Mar 14, 2025):

Hi Simon,

Thank you for implementing Storytel as a custom metadata provider in ABS.
I have installed ABS on my MS Windows Server:
http://haugli.familyds.com:8086
But I am not familiar with Docker and I haven't installed this. Are there
other ways to install this provider on my Windows Server? I cannot find
any descriptions other than Docker on https://github.com/Revisor01/abs-
storytel-provider or
https://www.audiobookshelf.org/guides/custom-metadata-providers/ how to
install these providers.

I have also tried to use a community hosted provider by fito0912:
https://provider.vito0912.de/storytel/no, but with no luck.

Can you please help me?

Med vennlig hilsen Raymond

email @.*** | mob 90825962

On Wed, 19 Feb 2025 at 22:02, Simon Luthe @.***> wrote:

Hi,

I've created a custom Storytel metadata provider for Audiobookshelf (using
the custom provider feature):

https://github.com/Revisor01/abs-storytel-provider

Features:

  • Storytel API integration
  • Multi-language support (configure the STORYTEL_LOCALE environment
    variable
    )
  • Clean title formatting, genre/tag org, etc.
  • Note: Title formatting is optimized for German titles. Locale is
    configurable via the STORYTEL_LOCALE environment variable. en, se, fr, and
    it are also likely working.

See the README for setup. Issues/suggestions/prs welcome in the repo!


Reply to this email directly, view it on GitHub
https://github.com/advplyr/audiobookshelf/issues/1283#issuecomment-2669751342,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHJ7H3QT3CPNRRJVDGFNVX32QTWN7AVCNFSM6AAAAABU22DXQ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMNRZG42TCMZUGI
.
You are receiving this because you commented.Message ID:
@.***>
[image: Revisor01]Revisor01 left a comment (advplyr/audiobookshelf#1283)
https://github.com/advplyr/audiobookshelf/issues/1283#issuecomment-2669751342

Hi,

I've created a custom Storytel metadata provider for Audiobookshelf (using
the custom provider feature):

https://github.com/Revisor01/abs-storytel-provider

Features:

  • Storytel API integration
  • Multi-language support (configure the STORYTEL_LOCALE environment
    variable
    )
  • Clean title formatting, genre/tag org, etc.
  • Note: Title formatting is optimized for German titles. Locale is
    configurable via the STORYTEL_LOCALE environment variable. en, se, fr, and
    it are also likely working.

See the README for setup. Issues/suggestions/prs welcome in the repo!


Reply to this email directly, view it on GitHub
https://github.com/advplyr/audiobookshelf/issues/1283#issuecomment-2669751342,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHJ7H3QT3CPNRRJVDGFNVX32QTWN7AVCNFSM6AAAAABU22DXQ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMNRZG42TCMZUGI
.
You are receiving this because you commented.Message ID:
@.***>

@rayha2000 commented on GitHub (Mar 14, 2025): Hi Simon, Thank you for implementing Storytel as a custom metadata provider in ABS. I have installed ABS on my MS Windows Server: http://haugli.familyds.com:8086 But I am not familiar with Docker and I haven't installed this. Are there other ways to install this provider on my Windows Server? I cannot find any descriptions other than Docker on https://github.com/Revisor01/abs- storytel-provider or https://www.audiobookshelf.org/guides/custom-metadata-providers/ how to install these providers. I have also tried to use a community hosted provider by fito0912: https://provider.vito0912.de/storytel/no, but with no luck. Can you please help me? Med vennlig hilsen Raymond --------------------------------------- email ***@***.*** | mob 90825962 On Wed, 19 Feb 2025 at 22:02, Simon Luthe ***@***.***> wrote: > Hi, > > I've created a custom Storytel metadata provider for Audiobookshelf (using > the custom provider feature): > > https://github.com/Revisor01/abs-storytel-provider > > Features: > > - Storytel API integration > - Multi-language support (configure the STORYTEL_LOCALE *environment > variable*) > - Clean title formatting, genre/tag org, etc. > - *Note: Title formatting is optimized for German titles. Locale is > configurable via the STORYTEL_LOCALE environment variable. en, se, fr, and > it are also likely working.* > > See the README for setup. Issues/suggestions/prs welcome in the repo! > > — > Reply to this email directly, view it on GitHub > <https://github.com/advplyr/audiobookshelf/issues/1283#issuecomment-2669751342>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AHJ7H3QT3CPNRRJVDGFNVX32QTWN7AVCNFSM6AAAAABU22DXQ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMNRZG42TCMZUGI> > . > You are receiving this because you commented.Message ID: > ***@***.***> > [image: Revisor01]*Revisor01* left a comment (advplyr/audiobookshelf#1283) > <https://github.com/advplyr/audiobookshelf/issues/1283#issuecomment-2669751342> > > Hi, > > I've created a custom Storytel metadata provider for Audiobookshelf (using > the custom provider feature): > > https://github.com/Revisor01/abs-storytel-provider > > Features: > > - Storytel API integration > - Multi-language support (configure the STORYTEL_LOCALE *environment > variable*) > - Clean title formatting, genre/tag org, etc. > - *Note: Title formatting is optimized for German titles. Locale is > configurable via the STORYTEL_LOCALE environment variable. en, se, fr, and > it are also likely working.* > > See the README for setup. Issues/suggestions/prs welcome in the repo! > > — > Reply to this email directly, view it on GitHub > <https://github.com/advplyr/audiobookshelf/issues/1283#issuecomment-2669751342>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AHJ7H3QT3CPNRRJVDGFNVX32QTWN7AVCNFSM6AAAAABU22DXQ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMNRZG42TCMZUGI> > . > You are receiving this because you commented.Message ID: > ***@***.***> >
Author
Owner

@Vito0912 commented on GitHub (Mar 23, 2025):

I just stumbled upon this issue while checking some old issues:

@rayha2000 In the meantime, I fixed some server errors and implemented hourly healthchecks. It's very likely that my server was down when you tried. You can try again. Sorry ^^

This returned the result for me.

https://provider.vito0912.de/storytel/nn/search?query=En%20dag%20skal%20du%20d%C3%B8

So add https://provider.vito0912.de/storytel/nn and do not forget to add abs as the auth value. Also note that the correct code is nn instead of no (it shouldn't make any difference as both worked, but nn is returned by the API, so ig it's the right one and I did mess up with writing the language codes).

Regarding self-hosting, you can either install WSL (if available for MS server, not sure and run docker) or clone the repository and run the Node.js project directly.

Also note that I use a fork that had more features at the time, and this one has no /book or /audiobook endpoint.

@Vito0912 commented on GitHub (Mar 23, 2025): I just stumbled upon this issue while checking some old issues: @rayha2000 In the meantime, I fixed some server errors and implemented hourly healthchecks. It's very likely that my server was down when you tried. You can try again. Sorry ^^ This returned the result for me. `https://provider.vito0912.de/storytel/nn/search?query=En%20dag%20skal%20du%20d%C3%B8` So add `https://provider.vito0912.de/storytel/nn` and do not forget to add `abs` as the auth value. Also note that the correct code is `nn` instead of `no` (it shouldn't make any difference as both worked, but `nn` is returned by the API, so ig it's the right one and I did mess up with writing the language codes). Regarding self-hosting, you can either install WSL (if available for MS server, not sure and run docker) or clone the repository and run the Node.js project directly. Also note that I use a fork that had more features at the time, and this one has no `/book` or `/audiobook` endpoint.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#823