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

Zotero Bridge

vanakatvanakat16k downloads

Integrate with Zotero through ZotServer.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates22

Obsidian-Zotero integration plugin that provides APIs for other plugins to connect to Zotero.

Prerequisites

Zotero >= 7

Enable Local API feature in settings: Settings > Advanced > Allow other applications on this computer to communicate with Zotero

Zotero <= 6

Install Zotero addon ZotServer

Configuration

The plugin settings screen provides the following options:

  • Connection type – Zotero 6 ZotServer Plugin or Zotero 7 Local API (v3)
  • User or group – which library to search: your personal library or one of your group libraries (Zotero 7 connection type only)
  • Zotero server port – defaults to 23119; don't change unless you really know what you are doing

How to use

Zotero Bridge provides APIs for other plugins to connect to Zotero.

Example of such consumer plugin is Zotero Link.

APIs of this plugin are published with Obsidian plugin api library and can be used anywhere in Obsidian.

PluginApi.ZoteroBridge.v1().search() opens a search modal and returns a promise that resolves with the selected ZoteroItem. Its getValues() method returns an object with the following properties, ready for use in templates:

  • key – Zotero item key
  • libraryUri – library path for zotero:// URIs: groups/<id> for group library items, library for the personal library
  • title – item title
  • shortTitle – item short title
  • date – structured date object with year, month and day properties
  • authors – array of authors, each with firstName, lastName and fullName
  • firstAuthor – first author of the item
  • creatorSummary – creator summary as displayed by Zotero, e.g. "Smith and Jones"

Example use of Zotero Bridge APIs in Templater user scripts:

zotero.js user script:

module.exports = async function () {
    const item = await PluginApi.ZoteroBridge.v1().search();
    return (prop) => dotAccess(prop, item.getValues());
}

function dotAccess(str, obj) {
    return str.split('.').reduce((previousValue, currentValue) => previousValue[currentValue], obj);
}

This function can now be used in templates:

(this example is taken from https://github.com/vanakat/zotero-bridge/pull/2)

<%* const zi = await tp.user.zotero() %>


<% zi('firstAuthor.lastName') %><%* if (zi('authors.length')  == 2) { %> and <% zi('authors')[1].lastName %><%* } else if (zi('authors.length') > 2) { %> et al.<%* } %> <% zi('date.year') %> <% zi('title') %>

How to contribute

  1. Fork and clone this repository
  2. Link this directory to your plugins directory: ln -sfn <this-directory> <your-test-vault>/.obsidian/plugins/zotero-bridge
  3. npm install to install all dependencies
  4. npm run dev will run development server
  5. Reload your Obsidian with test vault open
  6. npm test runs the Jest test suite

Please refer to following helpful resources:

  • Unofficial Obsidian API docs
  • Official Obsidian API definition file
  • ZotServer repository for documentation on API
  • Zotero search API code for the most up-to-date search API documentation
  • Zotero 7 Local API announcement

Other Zotero integration plugins

While working on this plugin I found another Zotero integration one called Zotero Integration. If you are looking for a citation/bibliography integration with Zotero it might be a good option for you.

License

MIT

HealthExcellent
ReviewSatisfactory
About
Expose a standard API for other Obsidian plugins to connect to Zotero, supporting Zotero 7 Local API and older Zotero via ZotServer. Enable plugins and user scripts to search, fetch, and read Zotero item data directly inside Obsidian.
IntegrationsDevelopersResearch
Details
Current version
1.6.10
Last updated
3 weeks ago
Created
4 years ago
Updates
22 releases
Downloads
16k
Compatible with
Obsidian 0.12.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
vanakatvanakat
github.com/MunGell
GitHubvanakat
  1. Community
  2. Plugins
  3. Integrations
  4. Zotero Bridge

Related plugins

BRAT

Easily install a beta version of a plugin for testing.

Local REST API with MCP

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

Zotero Integration

Insert and import citations, bibliographies, notes, and PDF annotations from Zotero.

Self-hosted LiveSync

Sync vaults securely to self-hosted servers or WEBRTC.

ZotLit

Integrate with Zotero, create literature notes, and insert citations from a Zotero library.

Global Proxy

Configure network proxies for users in areas with restricted networks.

Claudian

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

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.

Maps

Adds a map layout to bases so you can display notes as an interactive map view.

Git

Integrate Git version control with automatic backup and other advanced features.