LiveKit docs › Developer tools › LiveKit CLI › Docs search

---

# Docs search

> Search and browse LiveKit documentation from the terminal with the lk docs command.

## Overview

The `lk docs` command provides full access to the LiveKit documentation directly from your terminal. It's powered by the [LiveKit Docs MCP server](https://docs.livekit.io/mcp) and supports browsing, searching, fetching pages, code search, and changelog access.

All commands output markdown by default. Use the `--json` flag on any command for structured JSON output.

## Output modes

Every `lk docs` command supports two output modes:

- **Markdown** (default) — Human-readable output optimized for terminal display and coding agents. More concise and token-efficient.
- **JSON** (`--json`) — Structured output for programmatic use, scripting, and integration with other tools.

```shell
# Markdown (default)
lk docs search "voice agents"

# JSON
lk docs search "voice agents" --json

```

JSON mode is useful when you need to parse results in a script or pipe structured data to another program. The default markdown mode is recommended for interactive use and coding agents, as it's more concise and consumes fewer tokens.

## Commands

The `lk docs` subcommand includes the following commands.

### overview

Get a complete overview of the documentation site with a full table of contents and page descriptions. This is a good starting point for browsing the docs.

```shell
lk docs overview

```

### search

Search the documentation by keyword. Returns page titles, hierarchical placement, and content snippets. Use `lk docs get-page` to fetch the full content of any result.

```shell
lk docs search "voice agents"

```

| Option | Description |
| `--query, -q` | Search query text. Can also be passed as a positional argument. |
| `--page, -p` | Page number for pagination, starting at 0. |
| `--hits-per-page` | Number of results per page (1-50, default 20). |

Search should be used alongside `lk docs overview` for browsing, not as a replacement. The search index covers a large amount of content, so combine search with direct page fetching for best results.

### get-page

Fetch one or more documentation pages and render them as markdown. Accepts relative paths from the docs site or GitHub URLs from public LiveKit repositories.

```shell
# Fetch a single page
lk docs get-page /agents/start/voice-ai-quickstart

# Fetch multiple pages
lk docs get-page /agents/build/tools /agents/build/vision

# Fetch from a GitHub URL
lk docs get-page https://github.com/livekit/agents/blob/main/README.md

```

> ℹ️ **Note**
> 
> Auto-generated SDK reference pages (such as `/reference/client-sdk-js` or `/reference/python`) are hosted externally and can't be fetched with this command.

### code-search

Search code across public LiveKit GitHub repositories. Use code identifiers like class names, function names, and method calls rather than natural language descriptions.

```shell
# Search across all repos
lk docs code-search "class AgentSession"

# Search a specific repo
lk docs code-search "def on_enter" --repo livekit/agents

# Filter by language and get full file contents
lk docs code-search "@function_tool" --language Python --full-file

```

| Option | Description |
| `--query, -q` | Search term. Use code identifiers, not natural language. |
| `--repo, -r` | Target repository (for example, `livekit/agents`) or `ALL` to search everywhere. Defaults to `ALL`. |
| `--language, -l` | Language filter (for example, `Python`, `TypeScript`). |
| `--scope` | Search scope: `content` (default), `filename`, or `both`. |
| `--limit` | Maximum results to return (1-50, default 20). |
| `--full-file` | Return full file contents instead of snippets. |

### changelog

Get recent releases and changelog entries for a LiveKit SDK or package.

```shell
# By repository ID
lk docs changelog livekit/agents

# By package identifier
lk docs changelog pypi:livekit-agents

# Fetch more releases
lk docs changelog npm:@livekit/components-react --releases 5

```

| Option | Description |
| `--releases` | Number of releases to fetch (1-20, default 2). |
| `--skip` | Number of releases to skip for pagination. |

### list-sdks

List all LiveKit SDK repositories with their package names. Useful for cross-referencing dependencies and finding the right SDK.

```shell
lk docs list-sdks

```

### pricing-info

Get LiveKit Cloud pricing information including plans, feature comparison matrix, inference model pricing, and calculator assumptions.

```shell
lk docs pricing-info

```

### submit-feedback

Submit constructive feedback on the LiveKit documentation. Do not include any personal or proprietary information.

```shell
# General feedback
lk docs submit-feedback "The voice agents quickstart needs a Node.js example"

# Feedback for a specific page
lk docs submit-feedback --page /agents/build/tools "Missing info about error handling"

```

| Option | Description |
| `--page` | The docs page the feedback is about (for example, `/agents/build/tools`). |
| `--feedback, -f` | Feedback text (max 1024 characters). Can also be passed as a positional argument. |

## Typical workflow

A typical workflow for exploring the documentation:

1. Start with an overview of the docs site:

```shell
lk docs overview

```
2. Search for a topic:

```shell
lk docs search "voice agents"

```
3. Fetch a specific page to read the full content:

```shell
lk docs get-page /agents/start/voice-ai-quickstart

```
4. Search for code examples across LiveKit repositories:

```shell
lk docs code-search "class AgentSession" --repo livekit/agents

```

---

This document was rendered at 2026-06-07T11:32:07.669Z.
For the latest version of this document, see [https://docs.livekit.io/reference/developer-tools/livekit-cli/docs.md](https://docs.livekit.io/reference/developer-tools/livekit-cli/docs.md).

To explore all LiveKit documentation, see [llms.txt](https://docs.livekit.io/llms.txt).