Files
shelfmark/docs/url-search-parameters.md
Alex e35b4c47a7 Direct source refactor (#895)
- Updated mirror selection
- Removed built-in mirror options, users must provide their own
configurations
- Set Universal search to default, added ability to disable direct
source
- Updated documentation
- Updated makefile
2026-04-15 18:50:13 +01:00

2.1 KiB

URL Search Parameters

You can trigger searches directly via URL by adding query parameters. This enables bookmarking searches and sharing links.

Basic Usage

http://your-server:8084/?q=harry+potter

Supported Parameters

Parameter Description Example
q or query Main search query /?q=dune
author Filter by author name /?author=frank+herbert
title Filter by book title /?title=foundation
isbn Filter by ISBN /?isbn=978-0747532699
lang Filter by language (ISO 639-1 code) /?lang=en
format Filter by file format /?format=epub
content Filter by content type /?content=fiction
content_type Select media type (ebook or audiobook) in Universal mode only /?q=dune&content_type=audiobook
sort Sort order for results /?sort=newest

Multiple Values

Some parameters support multiple values by repeating the parameter:

/?lang=en&lang=de&lang=fr
/?format=epub&format=mobi&format=azw3

Examples

Simple search:

/?q=lord+of+the+rings

Search with author filter:

/?q=dune&author=frank+herbert

Search with format and language:

/?q=harry+potter&format=epub&lang=en

Author search with multiple formats:

/?author=stephen+king&format=epub&format=mobi

Search with sort order:

/?q=science+fiction&sort=newest

Universal search as audiobook:

/?q=dune&content_type=audiobook

Search Mode Behavior

Direct Mode

When Search Mode is set to Direct, all parameters are used to filter results from the configured direct source. content_type is ignored in Direct mode.

Universal Mode

q, sort, and content_type are used. Other parameters (author, title, format, etc.) are silently ignored since metadata providers have their own search capabilities.

Notes

  • URL parameters are read once on page load
  • The URL is not updated when you perform searches manually
  • Spaces should be encoded as + or %20
  • Invalid or unknown parameters are silently ignored