Skip to main content
API referenceSearch

Search Semantic

Last updated

GET
/api/v1/search/semantic

Search the registry by MEANING rather than by keyword: ?q= is embedded and ranked by cosine similarity, so it finds surfaces whose text never contains your terms. The complement to /api/v1/search, which is lexical -- reach for that one when you know the exact name. Each result carries its score, type, netuid/slug, title/subtitle, URL, categories, and service kinds; model names the embedding model. ?limit caps the list. Mirrored by the semantic_search MCP tool. Served live (no static file); 503 ai_unavailable where no AI binding is configured.

Query Parameters

q?string

Free-text search query, matched case-insensitively against the collection's indexed text fields. Whitespace-separated terms narrow the result (AND), and an empty or whitespace-only value is treated as no filter rather than as a search matching nothing.

limit?string

Maximum number of rows to return in one page. Routes differ in how they handle a larger value: some reject it with 400 invalid_query, others clamp to the maximum and answer 200. Read the limit echoed in the response body rather than assuming the page is the size you asked for.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/search/semantic"
{  "data": {    "count": 1,    "model": "example",    "query": "example",    "results": [      {        "categories": [          "example"        ],        "netuid": 7,        "score": 100,        "service_kinds": [          "example"        ],        "slug": "example-subnet",        "title": "Example Subnet",        "type": "example"      }    ]  },  "meta": {    "artifact_path": "example",    "cache": "short",    "contract_version": "2026-06-29.1",    "generated_at": "2026-06-01T00:00:00.000Z",    "pagination": {      "collection": "example",      "cursor": 1,      "limit": 1,      "next_cursor": 1,      "order": "asc",      "returned": 1,      "sort": "example",      "total": 1    },    "published_at": "2026-06-01T00:00:00.000Z",    "source": "live-cron-prober",    "stale_contract": {      "built_under": "example",      "live": "example"    }  },  "ok": true,  "schema_version": 1}