Open-source Type-safe SDK for Obsidian

Automate Your Obsidian Vaults Like a System

A powerful TypeScript SDK to build workflows on top of Obsidian — manage notes, files, links, search, templates, and local knowledge graphs with clean programmatic APIs.

Install via npm

npm install obsidian-sdk
import { Obsidian } from "obsidian-sdk";

const obsidian = new Obsidian({
  vault: "newvault",
});

// Create a note
await obsidian.notes.create({
  path: "Notes/Idea.md",
  content: "# New Idea"
});

// Read a note
const note = await obsidian.notes.read({
  path: "Notes/Idea.md"
});

// Append content
await obsidian.notes.append({
  path: "Notes/Idea.md",
  content: "\n## Updates\nThis is evolving."
});

Everything you need to automate your Obsidian vault

Obsidian SDK turns your vault into a programmable system — automate notes, build local context engines, and manage knowledge like infrastructure.

Obsidian SDK · Automation Layer

Turn your vault into a programmable knowledge system.

Automate notes, build workflows, query relationships, and treat your vault like a database.

Context-Aware Vault

Extract meaning from notes using search, tags, and structured graph traversal.

Local Context Engine

Build intelligent context from your vault using search, tags, and graph-aware queries.

Vault Automation

Create, edit, move, and organize notes programmatically with a simple API layer.

Graph-Aware Linking

Work with backlinks, orphan notes, and relationships like a knowledge graph database.

SDK Modules Overview

Notes

Full CRUD operations for markdown notes with YAML front-matter support.

Files

List and filter all vault files with metadata like size and timestamps.

FileOps

Low-level file operations like move, copy, read, and prepend.

Search

Full-text search, tag queries, and contextual search across vault.

Linking

Backlinks, outgoing links, orphans, and graph-based queries.

Templates

Insert and render reusable markdown templates programmatically.

Workspace

Save and restore UI layouts for context switching.

Dev Tools

Debug utilities like eval, DevTools toggle, and screenshots.

obsidian-sdk.ts
import { Obsidian } from "obsidian-sdk";

const obsidian = new Obsidian({
  vault: "newvault",
});

await obsidian.notes.create({
  path: "Notes/Idea.md",
  content: "# New Idea"
});

const note = await obsidian.notes.read({
  path: "Notes/Idea.md"
});

await obsidian.notes.append({
  path: "Notes/Idea.md",
  content: "\n## Updates\nThis is evolving."
});
hero

OBSIDIAN-SDK

Scroll to explore

Open Source · Community Driven

Built in public, by developers like you

Obsidian SDK is fully open-source — designed for extensibility, contributions, and real-world automation workflows. Every feature evolves with the community.

Open Contributions

Add modules, fix CLI bindings, or extend APIs.

Plugin Friendly

Extend SDK behavior with custom automation layers.

COMMON CURIOSITIES_

What is Obsidian SDK used for?

It lets you programmatically control your Obsidian vault — create notes, manage files, run searches, and build automation workflows using a TypeScript API over the CLI.

Does it modify my vault directly?

Can I build automation workflows with it?

Is it only for Obsidian desktop?

Can I use it for AI or context systems?

Is the SDK extensible?

Does it support plugins or templates?

Turn your Obsidian vault into a programmable system.

Obsidian SDK is an open-source TypeScript layer over the CLI — built for automation, context engines, and knowledge workflows.

Open source SDK built for developers • Made withby Sayan