Search

Search endpoints run FTS5 keyword queries over indexed Tangled documents. Results include highlighted body snippets and BM25 relevance scores. If Constellation is configured, repository results are enriched with star counts.

GET /search

Unified search across all indexed Tangled documents.

Delegates to keyword search. The mode parameter is accepted but only "keyword" is supported.

Query parameters

NameTypeRequiredDescription
q string yes Search query. Supports boolean operators, phrases, and prefix matching.
mode string Search mode. Only "keyword" is supported.
limit int Results per page (1–100). Default 20.
offset int Pagination offset. Default 0.
collection string Filter by ATProto collection NSID.
type string Filter by record type: repo, issue, pull, profile, string.
author string Filter by author handle or DID.
repo string Filter by repository name.
language string Filter by programming language.
state string Filter by state: open, closed, merged.
from string Created after (ISO 8601).
to string Created before (ISO 8601).

GET /search/keyword

FTS5 keyword search over indexed Tangled documents.

Same parameters and response shape as GET /search. Use this route to bypass mode negotiation.

Query parameters

NameTypeRequiredDescription
q string yes Search query. Supports boolean operators, phrases, and prefix matching.
limit int Results per page (1–100). Default 20.
offset int Pagination offset. Default 0.
collection string Filter by ATProto collection NSID.
type string Filter by record type: repo, issue, pull, profile, string.
author string Filter by author handle or DID.
repo string Filter by repository name.
language string Filter by programming language.
state string Filter by state: open, closed, merged.
from string Created after (ISO 8601).
to string Created before (ISO 8601).

Query syntax

The keyword search uses SQLite FTS5 query syntax:

FeatureExample
Boolean ANDgo AND search
Boolean NOTrust NOT unsafe
Phrase"pull request"
Prefixtang*
Field-scopedtitle:parser

Errors

StatusCondition
400Missing q, invalid limit/offset, or unknown parameter.
500Internal search failure.