---
title: "Search Busabase"
method: GET
path: "/api/v1/search"
tags: ["Search"]
---

# Search Busabase

`GET /api/v1/search`

## Request

- Base URL: `https://api-docs.busabase.com`
- URL: `https://api-docs.busabase.com/api/v1/search`
- Auth: none declared

## Query parameters

- `query` string: Full-text query. An empty string matches nothing.
- `mode` 'quick' | 'full': Search depth. `quick` skips live file-body scans for typeahead; `full` preserves complete search behavior.
- `surface` 'quick' | 'advanced': Optional first-party UI surface for aggregate quality metrics. API/CLI callers should omit it.
- `limit` integer: Results per page. Capped at 100; note the default is 20, not 50.
- `offset` integer: 0-indexed skip count. This endpoint pages by offset, not by cursor.
- `sources` union: Restrict which content is searched. Omitting it searches ALL sources. Repeat the parameter to pass several (`?sources=records&sources=files`); a single occurrence is accepted as a bare value.
  - string[]
  - 'records' | 'files' | 'names' | 'nodes'
- `sort` 'relevance' | 'updated_desc' | 'updated_asc' | 'created_desc' | 'created_asc': Result order. `relevance` (default) keeps each source's own ranking — for records that is the full-text rank, for everything else most-recently-updated first. The four explicit orders sort every source by the same column so a mixed result set is comparable.
- `updatedAfter` string, date-time: Inclusive lower bound, ISO 8601. A UTC `Z` or an explicit offset; not a bare local time.
- `updatedBefore` string, date-time: Inclusive upper bound, ISO 8601. A UTC `Z` or an explicit offset; not a bare local time.
- `createdBy` string: Restrict to one creator. Matches the actor id, which may be an agent or API key.
- `inNodeId` string: Limit to this node and its descendants.

## Response `200`

Paginated search results across records, change requests, Bases, File nodes, and Assets.

- object
  - `query` string, required
  - `limit` number, required
  - `offset` number, required
  - `hasMore` boolean, required
  - `results` object[], required
    - `id` string, required
    - `kind` 'record' | 'change_request' | 'base' | 'file' | 'node', required
    - `title` string, required
    - `body` string, required
    - `eyebrow` string, required
    - `href` string, required
    - `updatedAt` string, required
    - `createdBy` string
  - `contentTruncated` boolean

---

[API](https://skmtc.dev/busabase/apis/busabase-api.md) · [All operations](https://skmtc.dev/busabase/apis/busabase-api/llms.txt) · [OpenAPI document](https://skmtc.dev/busabase/apis/busabase-api/revisions/bc6a7d5ff4c1?raw)
