Obsidian
Interact with your Obsidian vault via the Local REST API
Read, create, update, search, and delete notes in your Obsidian vault. Manage periodic notes, execute commands, and patch content at specific locations. Requires the Obsidian Local REST API plugin.
Append content to the currently active file in Obsidian
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | API key from Obsidian Local REST API plugin settings |
baseUrl | string | Yes | Base URL for the Obsidian Local REST API |
content | string | Yes | Markdown content to append to the active file |
| Parameter | Type | Description |
|---|
appended | boolean | Whether content was successfully appended |
Append content to an existing note in your Obsidian vault
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | API key from Obsidian Local REST API plugin settings |
baseUrl | string | Yes | Base URL for the Obsidian Local REST API |
filename | string | Yes | Path to the note relative to vault root (e.g. "folder/note.md") |
content | string | Yes | Markdown content to append to the note |
| Parameter | Type | Description |
|---|
filename | string | Path of the note |
appended | boolean | Whether content was successfully appended |
Append content to the current periodic note (daily, weekly, monthly, quarterly, or yearly). Creates the note if it does not exist.
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | API key from Obsidian Local REST API plugin settings |
baseUrl | string | Yes | Base URL for the Obsidian Local REST API |
period | string | Yes | Period type: daily, weekly, monthly, quarterly, or yearly |
content | string | Yes | Markdown content to append to the periodic note |
| Parameter | Type | Description |
|---|
period | string | Period type of the note |
appended | boolean | Whether content was successfully appended |
Create or replace a note in your Obsidian vault
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | API key from Obsidian Local REST API plugin settings |
baseUrl | string | Yes | Base URL for the Obsidian Local REST API |
filename | string | Yes | Path for the note relative to vault root (e.g. "folder/note.md") |
content | string | Yes | Markdown content for the note |
| Parameter | Type | Description |
|---|
filename | string | Path of the created note |
created | boolean | Whether the note was successfully created |
Delete a note from your Obsidian vault
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | API key from Obsidian Local REST API plugin settings |
baseUrl | string | Yes | Base URL for the Obsidian Local REST API |
filename | string | Yes | Path to the note to delete relative to vault root |
| Parameter | Type | Description |
|---|
filename | string | Path of the deleted note |
deleted | boolean | Whether the note was successfully deleted |
Execute a command in Obsidian (e.g. open daily note, toggle sidebar)
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | API key from Obsidian Local REST API plugin settings |
baseUrl | string | Yes | Base URL for the Obsidian Local REST API |
commandId | string | Yes | ID of the command to execute (use List Commands operation to discover available commands) |
| Parameter | Type | Description |
|---|
commandId | string | ID of the executed command |
executed | boolean | Whether the command was successfully executed |
Retrieve the content of the currently active file in Obsidian
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | API key from Obsidian Local REST API plugin settings |
baseUrl | string | Yes | Base URL for the Obsidian Local REST API |
| Parameter | Type | Description |
|---|
content | string | Markdown content of the active file |
filename | string | Path to the active file |
Retrieve the content of a note from your Obsidian vault
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | API key from Obsidian Local REST API plugin settings |
baseUrl | string | Yes | Base URL for the Obsidian Local REST API |
filename | string | Yes | Path to the note relative to vault root (e.g. "folder/note.md") |
| Parameter | Type | Description |
|---|
content | string | Markdown content of the note |
filename | string | Path to the note |
Retrieve the current periodic note (daily, weekly, monthly, quarterly, or yearly)
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | API key from Obsidian Local REST API plugin settings |
baseUrl | string | Yes | Base URL for the Obsidian Local REST API |
period | string | Yes | Period type: daily, weekly, monthly, quarterly, or yearly |
| Parameter | Type | Description |
|---|
content | string | Markdown content of the periodic note |
period | string | Period type of the note |
List all available commands in Obsidian
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | API key from Obsidian Local REST API plugin settings |
baseUrl | string | Yes | Base URL for the Obsidian Local REST API |
| Parameter | Type | Description |
|---|
commands | json | List of available commands with IDs and names |
↳ id | string | Command identifier |
↳ name | string | Human-readable command name |
List files and directories in your Obsidian vault
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | API key from Obsidian Local REST API plugin settings |
baseUrl | string | Yes | Base URL for the Obsidian Local REST API |
path | string | No | Directory path relative to vault root. Leave empty to list root. |
| Parameter | Type | Description |
|---|
files | json | List of files and directories |
↳ path | string | File or directory path |
↳ type | string | Whether the entry is a file or directory |
Open a file in the Obsidian UI (creates the file if it does not exist)
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | API key from Obsidian Local REST API plugin settings |
baseUrl | string | Yes | Base URL for the Obsidian Local REST API |
filename | string | Yes | Path to the file relative to vault root |
newLeaf | boolean | No | Whether to open the file in a new leaf/tab |
| Parameter | Type | Description |
|---|
filename | string | Path of the opened file |
opened | boolean | Whether the file was successfully opened |
Insert or replace content at a specific heading, block reference, or frontmatter field in the active file
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | API key from Obsidian Local REST API plugin settings |
baseUrl | string | Yes | Base URL for the Obsidian Local REST API |
content | string | Yes | Content to insert at the target location |
operation | string | Yes | How to insert content: append, prepend, or replace |
targetType | string | Yes | Type of target: heading, block, or frontmatter |
target | string | Yes | Target identifier (heading text, block reference ID, or frontmatter field name) |
targetDelimiter | string | No | Delimiter for nested headings (default: "::") |
trimTargetWhitespace | boolean | No | Whether to trim whitespace from target before matching (default: false) |
| Parameter | Type | Description |
|---|
patched | boolean | Whether the active file was successfully patched |
Insert or replace content at a specific heading, block reference, or frontmatter field in a note
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | API key from Obsidian Local REST API plugin settings |
baseUrl | string | Yes | Base URL for the Obsidian Local REST API |
filename | string | Yes | Path to the note relative to vault root (e.g. "folder/note.md") |
content | string | Yes | Content to insert at the target location |
operation | string | Yes | How to insert content: append, prepend, or replace |
targetType | string | Yes | Type of target: heading, block, or frontmatter |
target | string | Yes | Target identifier (heading text, block reference ID, or frontmatter field name) |
targetDelimiter | string | No | Delimiter for nested headings (default: "::") |
trimTargetWhitespace | boolean | No | Whether to trim whitespace from target before matching (default: false) |
| Parameter | Type | Description |
|---|
filename | string | Path of the patched note |
patched | boolean | Whether the note was successfully patched |
Search for text across notes in your Obsidian vault
| Parameter | Type | Required | Description |
|---|
apiKey | string | Yes | API key from Obsidian Local REST API plugin settings |
baseUrl | string | Yes | Base URL for the Obsidian Local REST API |
query | string | Yes | Text to search for across vault notes |
contextLength | number | No | Number of characters of context around each match (default: 100) |
| Parameter | Type | Description |
|---|
results | json | Search results with filenames, scores, and matching contexts |
↳ filename | string | Path to the matching note |
↳ score | number | Relevance score |
↳ matches | json | Matching text contexts |
↳ context | string | Text surrounding the match |