OPDS

OPDS is an open standard for browsing and consuming content on your server from external readers. OPDS support is enabled by default on all Kavita installs.

This will grant all your users a unique URL and API key to access your server from external readers.

opds

From this UI, a user can use the copy button to quickly copy it into their clipboard. If the admin has set the hostname of the server, then the OPDS URL will be the full domain name.

Kavita supports OPDS and the expanded page streaming specification called OPDS-PS. The expanded OPDS-PS can support images, but not as many clients have support for it.

While OPDS and OPDS-PS cover a lot of use cases, the absolute best way to interact with the content on your server is through Kavita’s API. Clients that use the API have a richer experience and can support new advanced features as they are added to Kavita.

Kavita Implementation

Since Kavita supports rich collections like Smart Filters, Collections, Want to Read, Reading Lists, and Series, the OPDS feed will have different entries for each. Search works across these entities (assuming OpenSearch support) and all feeds have pagination support.

Kavita also offers a few enhancements not traditionally found in other OPDS Servers:

Continue From

If you have reading progress on a Series/Volume/Reading List, Kavita will generate a β€œContinue From X” item at the top of the first page. This is an alias of the underlying file and allows you to skip scrolling until you find your location.

Progress Encoded Icons

Kavita also encodes reading progress directly into the title (since metadata support is limited in clients). Kavita will encode the following icons at the start of the OPDS Item title: ⭘ - No Progress β—” - less than or equal to 25% Progress β—‘ - less than or equal to 50% Progress β—• - less than or equal to 100% Progress ⬀ - Fully Read

OPDS capable clients

Android

NameOpdsOpds-PSEpubProgress SyncAPI
Libreraβœ“βœ—βœ“βœ—βœ—
Moon Readerβœ“βœ—βœ“βœ—βœ—
Kubo Readerβœ—βœ—βœ—βœ—
Mihonβœ—*βœ—βœ—βœ“**βœ“
CDisplayExβœ—*βœ—βœ—βœ“βœ“

* Does not use opds. However, for ease of setup, the same link retrieved from this setting is used
** Progress syncing is done per chapter, not per page

iOS

NameOpdsOpds-PSEpubProgress SyncAPI
Chunkyβœ“βœ“βœ—βœ“βœ—
Panelsβœ“βœ“βœ—βœ“βœ—
Yomuβœ“βœ—βœ“βœ—βœ—
Paperbackβœ—βœ—βœ—βœ“**βœ“
Aidokuβœ—βœ—βœ—βœ“**βœ“

* Does not use opds. However, for ease of setup, the same link retrieved from this setting is used
** Progress syncing is done per chapter, not per page

Other

NameOpdsOpds-PSEpubProgress SyncAPI
KOReaderβœ“βœ“βœ“βœ“βœ—

Have a suggestion for an app that we can connect with? Drop by the Feature Request Discussions page and suggest it or upvote existing requests.