pyzotero

Manage Zotero libraries programmatically via the Zotero Web API v3.

3|Updated Apr 17, 2026
One-click install
npx skills add https://github.com/RamanEbrahimi/raman-marketplace --skill pyzotero-ramanebrahimi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pyzotero
Source: https://github.com/RamanEbrahimi/raman-marketplace/tree/main/plugins/agentic-research/skills/scientific-skills/pyzotero
Command: npx skills add https://github.com/RamanEbrahimi/raman-marketplace --skill pyzotero-ramanebrahimi

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires requests, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill streamlines Zotero library management by providing a Python interface to the Zotero API, enabling users to retrieve, create, update, and delete items, collections, tags, and attachments programmatically.

Core Features & Use Cases

  • Programmatic Library Management: Interact with Zotero libraries to perform a wide range of tasks like reading, creating, updating, and deleting items.
  • API Integration: Utilize the Zotero Web API v3 for comprehensive library management.
  • Use Case: Ideal for automating research workflows, such as batch updating references, managing citations, or building custom tools that integrate with Zotero.

Quick Start

Use the pyzotero skill to retrieve top-level items from your Zotero library:

from pyzotero import Zotero

zot = Zotero(library_id='your_library_id', library_type='user', api_key='your_api_key')
items = zot.top(limit=10)
for item in items:
    print(item['data']['title'], item['data']['itemType'])

Frequently Asked Questions about pyzotero

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I manage my Zotero library programmatically using Python?

You can manage your Zotero library programmatically using Python by interfacing with the Zotero Web API v3 to read, create, update, and delete items, collections, tags, and attachments.

Can I automate research workflows by batch updating citations in Zotero?

Yes, you can automate research workflows by batch updating citations, managing references, and building custom tools that integrate directly with your Zotero library via Python.

How do I retrieve top-level items from a Zotero library with Python?

To retrieve top-level items from a Zotero library with Python, instantiate the Zotero class with your library ID, library type, and API key, then call the top method with a specified limit.

Do I need an API key to access Zotero collections and attachments via Python?

Yes, you need a valid Zotero API key along with your library ID and library type to authenticate requests and access collections, attachments, and items via the Zotero Web API v3.

What is the best way to integrate Zotero library management into a custom Python script?

The best way to integrate Zotero library management into a custom Python script is using the Zotero Web API v3, which allows comprehensive programmatic interaction for research automation tasks.

Are there limitations when deleting items or tags from Zotero through the Web API?

The Zotero Web API v3 allows deleting items, collections, and tags programmatically, but you must ensure correct authentication and manage dependencies like the requests library to avoid execution failures.