explaingit

oldantique/zotkit

Analysis updated 2026-05-18

17PythonAudience · researcherComplexity · 2/5LicenseSetup · moderate

TLDR

A command line tool for managing your Zotero reference library, including uploading and downloading attachment files, entirely without opening the Zotero desktop app.

Mindmap

mindmap
  root((zotkit))
    What it does
      Headless Zotero management
      Uploads and downloads files
      No desktop app needed
    Tech stack
      Python
      pyzotero
      WebDAV
    Use cases
      Search and tag from CLI
      Sync attachment files
      Enforce tag conventions
    Audience
      Researchers
      Academics
      AI agent users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Search, create, and tag Zotero library items from a terminal without opening the desktop app.

USE CASE 2

Upload and download attachment PDFs to a personal WebDAV server or Zotero Storage.

USE CASE 3

Enforce a consistent tag taxonomy so tags stay organized across manual or automated edits.

USE CASE 4

Let an AI coding assistant like Claude Code manage and file papers into your Zotero library.

What is it built with?

PythonpyzoteroWebDAV

How does it compare?

oldantique/zotkit0petru/sentimoagi-eval-official/forte
Stars171717
LanguagePythonPythonPython
Setup difficultymoderatemoderatehard
Complexity2/53/54/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires creating a Zotero Web API key and, for WebDAV attachments, copying sync settings from the Zotero desktop app once.

MIT license: use freely for any purpose, including commercial use, as long as you keep the copyright notice, a link back is appreciated if you build on the WebDAV part.

In plain English

Zotkit is a command line tool and Python library for managing your Zotero library, a popular reference manager researchers and academics use to organize citations and papers, without needing the Zotero desktop app open at all. The word headless in the description means it talks directly to Zotero's own web service, so you can search, add, tag, and organize your references from any terminal on macOS, Windows, or Linux, including a remote server where no graphical app could run. Beyond just managing entries, zotkit can also upload and download the actual PDF or document files attached to your references, either through Zotero's own storage system or through a personal WebDAV server if that is how your attachments sync, something the official web service alone cannot do. It is built with safety in mind for scripted or automated use: creating new items defaults to a dry run mode that only shows what would happen, changes are made in batches, and version checks prevent one process from silently overwriting another's edits. You can also define a strict set of allowed tags in a configuration file so tags stay consistent even if an automated tool or a distracted person is managing the library. Installing it is simple through Python's package tools, since it works the same way across operating systems with no special setup per platform. After installing, you fill in a small configuration file with your Zotero API key and, optionally, your WebDAV details, then run a built-in doctor command that checks everything is set up correctly and tells you what to fix if something is wrong. Notably, this tool is explicitly designed to be driven by AI coding assistants like Claude Code, including a ready-made skill file you can copy into your assistant's configuration so it can search, file, and attach papers to your Zotero library on your behalf while respecting your tagging rules. It is released under the MIT license and is not affiliated with or endorsed by Zotero itself. Researchers, academics, and anyone managing a large personal paper library, especially those comfortable scripting things or using AI agents, would get the most benefit from this tool.

Copy-paste prompts

Prompt 1
Walk me through installing zotkit and configuring my Zotero API key and WebDAV settings.
Prompt 2
Help me write a conventions.toml file to enforce a consistent tag taxonomy for my library.
Prompt 3
Show me how to use zotkit from Python to search my library and attach a PDF to an item.
Prompt 4
Explain how zotkit's dry-run and versioning safety features prevent accidental data loss.

Frequently asked questions

What is zotkit?

A command line tool for managing your Zotero reference library, including uploading and downloading attachment files, entirely without opening the Zotero desktop app.

What language is zotkit written in?

Mainly Python. The stack also includes Python, pyzotero, WebDAV.

What license does zotkit use?

MIT license: use freely for any purpose, including commercial use, as long as you keep the copyright notice, a link back is appreciated if you build on the WebDAV part.

How hard is zotkit to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is zotkit for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.