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
| Name | Type | Required | Description |
|---|---|---|---|
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
| Name | Type | Required | Description |
|---|---|---|---|
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:
| Feature | Example |
|---|---|
| Boolean AND | go AND search |
| Boolean NOT | rust NOT unsafe |
| Phrase | "pull request" |
| Prefix | tang* |
| Field-scoped | title:parser |
Errors
| Status | Condition |
|---|---|
| 400 | Missing q, invalid limit/offset, or unknown parameter. |
| 500 | Internal search failure. |