Book lookup returns only audiobook editions, so the /ebook facade scope is always empty. Every result across four titles comes back mediaType: audiobook / isEbook: false, in both the gr and hc dialects, on a fresh install with an Ebook metadata profile and an E-Book quality profile present.
Is ebook metadata expected to work today? I could not tell from the docs whether this is not-yet-implemented, a provider limitation, or something misconfigured on my side, and the answer changes whether I keep an ebook library pointed at Chaptarr at all.
Version
0.9.911.0, branch develop, docker chaptarr/chaptarr:latest on linux/arm64 (Apple M4, OrbStack). Fresh install, 2026-08-17.
What I measured
Same API key, GET /api/v1/book/lookup?term=..., result counts:
| base URL |
dune |
the martian |
educated |
project hail mary |
/readarr/gr/ebook |
0 |
0 |
0 |
0 |
/readarr/hc/ebook |
0 |
- |
- |
- |
/ebook |
0 |
- |
- |
- |
/readarr/gr/audiobook |
5 |
5 |
5 |
4 |
plain /api/v1 |
5 |
- |
- |
4 |
The plain endpoint appears to explain the empty scopes, term=dune:
'Dune (Dune, #1)' mediaType: audiobook editions: 1 isEbook: [False]
'Dune Messiah (Dune #2)' mediaType: audiobook editions: 1 isEbook: [False]
'Children of Dune (#3)' mediaType: audiobook editions: 1 isEbook: [False]
Every edition returned is an audiobook, so ServarrMediaTypeScopeMiddleware has nothing to scope to on the ebook side.
Configuration, in case it is mine
- Metadata profiles are the shipped defaults:
Audiobook Default (profileType: 1), Ebook Default (profileType: 2), None.
- Quality profile
E-Book allows Unknown Text, PDF, MOBI, EPUB, AZW3.
- Two typed root folders:
folderType: 2 for ebooks, folderType: 1 for audiobooks. Both report accessible: true.
So the ebook side looks configured, which is why I suspect the metadata service rather than my setup. Happy to run anything else useful, or to move this to a discussion if it is a known limitation.
Separate, and possibly worth its own issue
The Readarr-compatibility shim looks unreachable for POST /author. ApplyFacadeAuthorSingleFields maps rootFolderPath -> ebookRootFolderPath and qualityProfileId -> ebookQualityProfileId in the action body, but the FluentValidation rules that reject a legacy-only payload run as an action filter first. A stock Readarr-shaped client posting to /readarr/gr/ebook/api/v1/author therefore gets a 400 with "At least one quality profile must be selected" plus Invalid Path: '{path}', and the mapping never executes. Verified against the facade route on the version above. I worked around it by sending the per-format keys directly. Say the word and I will open that separately.
Thanks for picking this project up after Readarr was retired, the audiobook side has been working well here.
Book lookup returns only audiobook editions, so the
/ebookfacade scope is always empty. Every result across four titles comes backmediaType: audiobook/isEbook: false, in both thegrandhcdialects, on a fresh install with an Ebook metadata profile and an E-Book quality profile present.Is ebook metadata expected to work today? I could not tell from the docs whether this is not-yet-implemented, a provider limitation, or something misconfigured on my side, and the answer changes whether I keep an ebook library pointed at Chaptarr at all.
Version
0.9.911.0, branchdevelop, dockerchaptarr/chaptarr:lateston linux/arm64 (Apple M4, OrbStack). Fresh install, 2026-08-17.What I measured
Same API key,
GET /api/v1/book/lookup?term=..., result counts:/readarr/gr/ebook/readarr/hc/ebook/ebook/readarr/gr/audiobook/api/v1The plain endpoint appears to explain the empty scopes,
term=dune:Every edition returned is an audiobook, so
ServarrMediaTypeScopeMiddlewarehas nothing to scope to on the ebook side.Configuration, in case it is mine
Audiobook Default(profileType: 1),Ebook Default(profileType: 2),None.E-BookallowsUnknown Text, PDF, MOBI, EPUB, AZW3.folderType: 2for ebooks,folderType: 1for audiobooks. Both reportaccessible: true.So the ebook side looks configured, which is why I suspect the metadata service rather than my setup. Happy to run anything else useful, or to move this to a discussion if it is a known limitation.
Separate, and possibly worth its own issue
The Readarr-compatibility shim looks unreachable for
POST /author.ApplyFacadeAuthorSingleFieldsmapsrootFolderPath->ebookRootFolderPathandqualityProfileId->ebookQualityProfileIdin the action body, but the FluentValidation rules that reject a legacy-only payload run as an action filter first. A stock Readarr-shaped client posting to/readarr/gr/ebook/api/v1/authortherefore gets a 400 with "At least one quality profile must be selected" plusInvalid Path: '{path}', and the mapping never executes. Verified against the facade route on the version above. I worked around it by sending the per-format keys directly. Say the word and I will open that separately.Thanks for picking this project up after Readarr was retired, the audiobook side has been working well here.