Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Note API

fengshuzifengshuzi22 downloads

Expose a localhost HTTP API (API-key protected) to view, create, edit and delete vault notes.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates1

Expose your vault through a localhost HTTP API (API-key protected) — view, create, edit and delete notes, resolve wiki links and serve binary assets from external tools.

Pairs with Note Tab, an Infinity-style Chrome new tab for your journals:

Note Tab new tab

Features

  • Localhost only — the HTTP server binds to 127.0.0.1, never to the LAN.
  • API-key required — every request needs Authorization: Bearer <key>; the key is auto-generated on first run and can be copied or regenerated in settings.
  • Full note CRUD over the Vault API (markdown files only).
  • Wiki-link resolution — uses Obsidian's own metadataCache.getFirstLinkpathDest, so shortest-path links like [[001 皮囊]] resolve exactly as they do in the app.
  • Binary asset serving — images, PDFs, audio/video from the vault over HTTP.
  • Daily-notes config — reads the vault's daily-notes folder/format so clients can find journals.
  • Desktop only.

API

Base URL: http://127.0.0.1:27124 (port configurable).

All endpoints require Authorization: Bearer <api-key>. For GET requests the key may also be passed as ?key= (needed by <img> tags, which cannot send headers).

Method Path Description
GET /api/status Health check: vault name, plugin version.
GET /api/notes?q=&folder=&content=1&limit= List notes. q matches path and content; content=1 includes note bodies; limit caps results (max 500).
GET /api/notes/<path> Read a note's content.
POST /api/notes Create a note. Body: {"path": "folder/note.md", "content": "..."}. Parent folders are created automatically.
PUT /api/notes/<path> Replace a note's content. Body: {"content": "..."}.
DELETE /api/notes/<path> Move a note to trash (respects the system/Obsidian trash setting).
GET /api/resolve?path=<linkpath>&source=<note> Resolve a wiki/markdown link to a real vault path (shortest-path aware).
GET /api/assets/<path> Serve a vault file as binary (images, PDF, audio, video).
POST /api/assets?filename=<name>&folder=assets Upload raw bytes (Content-Type: application/octet-stream) as a vault file. Defaults to assets/; auto-renames on conflict.
GET /api/daily-notes/config Daily-notes folder + filename format.
GET /api/journals?limit=&offset= List journal entries only: files in the daily-notes folder whose basename parses as a date in the configured format, sorted by that date desc. limit defaults to 50 (max 500). Response includes total, folder, and format.

Examples

KEY="<paste from settings>"

curl -H "Authorization: Bearer $KEY" http://127.0.0.1:27124/api/status

curl -H "Authorization: Bearer $KEY" "http://127.0.0.1:27124/api/notes?q=%23读书&content=1&limit=50"

curl -H "Authorization: Bearer $KEY" http://127.0.0.1:27124/api/notes/journals/2026-07-25.md

curl -X POST -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"path":"Inbox/hello.md","content":"# Hello"}' \
  http://127.0.0.1:27124/api/notes

curl -X PUT -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"content":"# Updated"}' \
  http://127.0.0.1:27124/api/notes/Inbox/hello.md

curl -X DELETE -H "Authorization: Bearer $KEY" http://127.0.0.1:27124/api/notes/Inbox/hello.md

# Resolve a shortest-path link, then fetch the image
curl -H "Authorization: Bearer $KEY" \
  "http://127.0.0.1:27124/api/resolve?path=pasted-image.png&source=journals/2026-07-25.md"
open "http://127.0.0.1:27124/api/assets/assets/pasted-image.png?key=$KEY"

Settings

  • Server status — start/stop the HTTP server.
  • Port — localhost port (default 27124); apply & restart after changing.
  • API key — required for every request. Fresh installs start with the shared default addwxfengshu4511 (so clients like note-tab connect out of the box); regenerate here if you see that as a risk.
  • Start on launch — auto-start the server when the vault opens.

Installation

  1. Download main.js, manifest.json, styles.css from the latest release.
  2. Place them in <vault>/.obsidian/plugins/note-api/.
  3. Enable Note API in Settings → Community plugins.
  4. Copy the API key from the plugin settings and configure your client.

Development

npm install
npm run dev      # watch build
npm run build    # strict lint + typecheck + production bundle to dist/
npm run deploy   # build + copy into local vaults
npm run release  # build + GitHub release via gh CLI

License

MIT


Note API(中文说明)

把 vault 通过本地 HTTP API 暴露给外部工具:查看、新建、编辑、删除笔记,解析 wiki 链接,并提供图片等二进制资源访问。默认只监听 127.0.0.1,所有请求必须携带 API key(Authorization: Bearer <key>,设置页可复制/重新生成)。

配套 Chrome 扩展 Note Tab:Infinity 风格新标签页,默认打开今日日记,支持 markdown 渲染、双击编辑、标签、热力图、wiki 链接和图片显示。

接口、示例与设置说明见上方英文部分。

HealthExcellent
ReviewPassed
About
Expose your vault via a localhost HTTP API bound to 127.0.0.1 and protected by an auto-generated API key to view, create, edit, and delete Markdown notes. Resolve Obsidian wiki links exactly, serve binary assets (images, PDFs, audio/video) over HTTP, and read daily-notes config for journal clients.
IntegrationsFilesAttachments
Details
Current version
1.0.6
Last updated
6 days ago
Created
6 days ago
Updates
1 release
Downloads
22
Compatible with
Obsidian 1.13.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
fengshuzifengshuzi
github.com/fengshuzi
GitHubfengshuzi
  1. Community
  2. Plugins
  3. Integrations
  4. Note API

Related plugins

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

Pixel Perfect Image

Pixel perfect 100% image resizing, copy to clipboard, show image in Finder/Explorer, and much more.

Google Drive Sync

Syncs a vault into Google Drive for cross-platform use (works for iOS).

Claude Code IDE

Connect your vault to Claude Code and share editor context with the CLI.

Image auto upload

Upload images from your clipboard by PicGo.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

BRAT

Easily install a beta version of a plugin for testing.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Advanced URI

Control everything with URI.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.