pyzotero
Interact with Zotero reference management libraries using the pyzotero Python client. Retrieve, create, update, and delete items, collections, tags, and attachments via the Zotero Web API v3. Use this skill when working with Zotero libraries programmatically, managing bibliographic references, exporting citations, searching library contents, uploading PDF attachments, or building research automation workflows that integrate with Zotero.
Author
Category
Development ToolsInstall
Hot:30
Download and extract to your skills directory
Copy command and send to AI Agent for auto-install:
Download and install this skill https://openskills.cc/api/download?slug=k-dense-ai-skills-pyzotero&locale=en&source=copy
pyzotero - Zotero Literature Management Python Automation Tool
Skills Overview
pyzotero is a Python client that programmatically manages a Zotero library via the Zotero Web API v3. It supports literature search, creation, updating, and deletion, as well as collection, tag, and attachment management.
Use Cases
Core Features
Frequently Asked Questions
What prerequisites does pyzotero require?
To use pyzotero, you need Python 3.10 or higher, and install the library with
uv add pyzotero or pip install pyzotero. Full functionality also requires getting an API Key and Library ID from the Zotero Settings page, and setting the environment variables ZOTERO_API_KEY, ZOTERO_LIBRARY_ID, and ZOTERO_LIBRARY_TYPE (user or group).What is the difference between local mode and Web API mode?
In Web API mode, you need an API Key and you get full read/write operations, suitable for managing personal or group online Zotero libraries. Local mode (
local=True) is read-only and does not require an API Key; it’s for reading data from a local Zotero database. If you use Zotero 7, you can also choose the CLI or MCP server mode, which supports local full-text search without relying on the Web API.How do I export BibTeX format using pyzotero?
Exporting BibTeX with pyzotero is straightforward: first call
zot.add_parameters(format='bibtex') to set the output format. Then run zot.top(limit=50) or another query method. The returned bibtex object is a BibDatabase from bibtexparser, and you can access specific BibTeX entries via bibtex.entries for further processing or writing to a file.