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.

Install

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


  • Batch Literature Management - When you need to automate handling large numbers of literature entries, pyzotero can batch search, update, or export references. It’s well-suited for researchers organizing their literature libraries or preparing literature reviews.
  • Integration into Research Workflows - Integrate Zotero into your Python data analysis or academic writing workflow. For example, extract citation data from Zotero for analysis, or automatically add citation information from new research into your library.
  • Citation Export and Format Conversion - Automatically export Zotero literature into formats such as BibTeX and CSL-JSON for LaTeX document typesetting or generating reference lists, with support for custom filtering criteria.
  • Core Features


  • Full Zotero API Support - With pyzotero, you can read, create, update, and delete literature items; manage collections and tags; upload PDF attachments; and support full-text indexing and searching, covering all capabilities of the Zotero Web API v3.
  • Flexible Authentication and Access Modes - Provides a Web API authentication mode (requires an API Key) and a local read-only mode (no authentication needed). It supports both personal libraries and group libraries, making it suitable for different permission needs and development environments.
  • Multiple Output Formats and Extensions - In addition to the core Python library, it also offers CLI command-line tools and MCP server support. This makes it convenient to perform full-text search and integrate LLM clients in the local Zotero 7 environment.
  • 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.

      pyzotero - Zotero Literature Management Python Automation API Tool - Open Skills