Introduction
The official developer documentation for the Obsidian SDK — a type-safe wrapper around the Obsidian CLI.
Obsidian SDK Documentation
Welcome to the Obsidian SDK documentation. This SDK provides a comprehensive, type-safe interface to Obsidian's CLI, enabling you to programmatically manage vaults, notes, files, search, linking, and more.
Modules
| Module | Description |
|---|---|
| Quick Start | Get up and running in 2 minutes. |
| Notes | Full CRUD for markdown notes. |
| Files | Enumerate and filter vault files. |
| Daily | Daily notes and task management. |
| Linking | Backlinks, orphans, graph queries. |
| Search | Full-text and contextual search. |
| Vaults | List and switch vaults. |
| FileOps | Move, copy, trash file operations. |
| Templates | Insert and manage templates. |
| Plugins | Enable, disable, query plugins. |
| Dev | Developer/debug utilities. |
| History | File version history. |
| Workspace | Workspace layout management. |
| Sync | Obsidian Sync integration. |
| Random | Random note utilities. |
| Metrics | Vault metrics and stats. |
| SystemInfo | System and environment info. |
Each module follows the same pattern: instantiate via the Obsidian class and call async methods.
import { Obsidian } from "obsidian-sdk";
const obsidian = new Obsidian({ vault: "myVault" });
const files = await obsidian.files.list();For the full CLI reference, visit the Obsidian CLI docs.