Difference between revisions of "OPDS"

From Kiwix
Jump to navigation Jump to search
(→‎End points: Documented /catalog/v2 endpoints)
(→‎End points: Documented support for multiple languages; improved formatting)
Line 7: Line 7:
=== /catalog/v2 ===
=== /catalog/v2 ===


* https://library.kiwix.org/catalog/v2/root.xml lists all other /catalog/v2 endpoints.
* https://library.kiwix.org/catalog/v2/root.xml lists all other <code>/catalog/v2</code> endpoints.


* https://library.kiwix.org/catalog/v2/searchdescription.xml describes the /catalog/v2/entries endpoint.
* https://library.kiwix.org/catalog/v2/searchdescription.xml describes the <code>/catalog/v2/entries</code> endpoint.


* https://library.kiwix.org/catalog/v2/entries provides access to full entries. It accepts the following GET parameters:
* https://library.kiwix.org/catalog/v2/entries provides access to full entries. It accepts the following GET parameters:
** <code>q=<PATTERN></code> which proposes a keyword based search in the catalogue (on title and description).
** <code>q=<PATTERN></code> which proposes a keyword based search in the catalogue (on title and description).
** <code>lang=fra</code> which proposes a language filter. Use an ISO639-3 language value (like in ZIM metadata).
** <code>lang=fra</code> defines a language filter. Use an ISO639-3 language value (like in ZIM metadata). Multiple languages can be specified as a comma separated list (e.g. <code>lang=fra,deu</code>)
** <code>tag=wikipedia</code> to list only entries with all of the specified tags.
** <code>tag=wikipedia;_videos:no</code> to list only entries with all of the specified tags.
** <code>notag=ted;_videos:yes</code> to filter out (exclude) entries with any of the specified tags.
** <code>category=phet</code> to list all entries with specified category.
** <code>category=phet</code> to list all entries with specified category.
** <code>notag=</code>_videos:yes to filter out entries with any of the specified tags.
** <code>name=wikipedia_ny_all</code> to list only entries with the specified name (exact match).
** <code>name=wikipedia_ny_all</code> to list only entries with the specified name (exact match).
** <code>maxsize=1234567890</code> to filter out entries larger than the specified size.
** <code>maxsize=1234567890</code> to filter out entries larger than the specified size.
Line 31: Line 31:


* https://library.kiwix.org/catalog/root.xml lists all books.
* https://library.kiwix.org/catalog/root.xml lists all books.
* https://library.kiwix.org/catalog/searchdescription.xml describes the /catalog/search endpoint.
* https://library.kiwix.org/catalog/searchdescription.xml describes the <code>/catalog/search</code> endpoint.
* https://library.kiwix.org/catalog/search allows to filter books. It accepts the same GET parameters as /catalog/v2/entries (see above).
* https://library.kiwix.org/catalog/search allows to filter books. It accepts the same GET parameters as <code>/catalog/v2/entries</code> (see above).


== See also ==
== See also ==

Revision as of 08:49, 2 November 2022

Kiwix-serve provides an OPDS feed. This API allows to retrieve the library metadata, but not the content themselves.

A live instance can be see at https://library.kiwix.org/.

End points

/catalog/v2

  • https://library.kiwix.org/catalog/v2/entries provides access to full entries. It accepts the following GET parameters:
    • q=<PATTERN> which proposes a keyword based search in the catalogue (on title and description).
    • lang=fra defines a language filter. Use an ISO639-3 language value (like in ZIM metadata). Multiple languages can be specified as a comma separated list (e.g. lang=fra,deu)
    • tag=wikipedia;_videos:no to list only entries with all of the specified tags.
    • notag=ted;_videos:yes to filter out (exclude) entries with any of the specified tags.
    • category=phet to list all entries with specified category.
    • name=wikipedia_ny_all to list only entries with the specified name (exact match).
    • maxsize=1234567890 to filter out entries larger than the specified size.
    • count=2 to limit the number of results.
    • start=1 to indicate an offset in search results.

Legacy endpoint

See also