Skip to main content
Ayase Quart provides two search backends: full-text search (FTS) using Tantivy and SQL search for exact matching.
GET /fts
Performs a full-text search using the Tantivy index. Fast but may not include the most recent posts.
boards
string
required
Comma-separated list of board shortnames or a single board (depending on configuration)
comment
string
Search term for post content (2-1024 characters). Supports Tantivy query syntax.
title
string
Search term for post subject/title (2-256 characters)
op_comment
string
Search posts belonging to threads where the OP comment matches this term
op_title
string
Search posts belonging to threads where the OP subject matches this term
num
integer
Specific post number to search for
media_filename
string
Search by attachment filename (2-256 characters)
media_hash
string
Search by file hash (22-32 characters)
tripcode
string
Search by poster tripcode (8-15 characters)
date_after
string
Start date in YYYY-MM-DD format
date_before
string
End date in YYYY-MM-DD format
has_file
boolean
Filter posts with attachments
has_no_file
boolean
Filter posts without attachments
is_op
boolean
Filter for OP posts only
is_not_op
boolean
Filter for reply posts only
is_deleted
boolean
Filter for deleted posts
is_not_deleted
boolean
Filter for non-deleted posts
is_sticky
boolean
Filter for sticky threads
is_not_sticky
boolean
Filter for non-sticky threads
width
integer
Media width in pixels (0-10,000). Use with wop parameter.
wop
string
Width comparison operator: =, >, <, >=, <=
height
integer
Media height in pixels (0-10,000). Use with hop parameter.
hop
string
Height comparison operator: =, >, <, >=, <=
tl
integer
Title length (0-100). Use with tlop parameter.
tlop
string
Title length comparison operator: =, >, <, >=, <=
cl
integer
Comment length (0-2,000). Use with clop parameter.
clop
string
Comment length comparison operator: =, >, <, >=, <=
capcode
string
Filter by poster capcode (e.g., mod, admin)
Display results as a gallery of images only
order_by
string
Sort order: asc or desc
page
integer
Page number for pagination (default: 1, min: 1)
hits_per_page
integer
Results per page (max configured per instance)

Response

Returns an HTML page with:
  • Search form with all parameters
  • Search results with highlighted matches
  • Pagination controls
  • Performance metrics (search time, hit count)
  • Gallery view (if gallery_mode=true)
Full-text search supports advanced Tantivy query syntax:
  • "exact phrase" for exact matching
  • +required -excluded for boolean logic
  • x AND y OR z for complex queries
See the Tantivy QueryParser documentation for complete syntax.

Rate limiting

  • Rate limit: 5 requests per minute
  • Returns HTTP 429 if limit exceeded
GET /sql
Performs an exact SQL search. Slower but always includes the latest posts and provides exact matching.
boards
string
required
Comma-separated list of board shortnames or a single board (depending on configuration)
All other query parameters are identical to the full-text search endpoint.

Response

Returns an HTML page with the same structure as full-text search results.
SQL search performs exact substring matching without tokenization. It’s slower than FTS but guaranteed to return current results.

Rate limiting

  • Rate limit: 3 requests per minute
  • Returns HTTP 429 if limit exceeded

Search query examples

/fts?boards=g&comment=thinkpad

Search with date range

/fts?boards=tech&comment=linux&date_after=2024-01-01&date_before=2024-12-31
/fts?boards=w&has_file=true&gallery_mode=true&width=1920&wop=%3E%3D

Complex boolean query

/fts?boards=lambda&comment=%2Blisp%20%2Bscheme%20-python
/fts?boards=g,tech,lambda&comment=%22functional%20programming%22

Build docs developers (and LLMs) love