Search

Search endpoints run PostgreSQL full-text queries over indexed Tangled documents. Results include highlighted snippets and weighted 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

PostgreSQL full-text 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 PostgreSQL web-style query parsing:

FeatureExample
Simple termsgo search
Exclude termrust -unsafe
Phrase"pull request"
Natural-languagerepo issue parser

Errors

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