zotero_add_by_url
Add a research item to your Zotero library from a URL, automatically detecting DOI, arXiv, or webpage sources and attaching available PDFs.
Instructions
Add an item to the active Zotero library from a URL. Routes by URL shape: doi.org/... → CrossRef metadata (same path as zotero_add_by_doi); arxiv.org/abs/... → arXiv metadata + PDF; anything else → webpage item (title + URL, minimal metadata). Prefer zotero_add_by_doi when you have a clean DOI — it skips the routing and is more robust. For a local file use zotero_add_from_file. url: the URL to import. collections: optional list of collection keys, names, or '/'-separated paths — resolved and validated before the item is created; unknown or ambiguous specs fail the call. tags: optional list of tag strings to attach. if_exists: 'duplicate' (default) always creates; 'file' reuses an existing item matching the arXiv ID / DOI / URL, filing it into missing collections and adding missing tags; 'skip' leaves a match untouched. create_missing_collections: create unknown collection specs instead of failing. attach_mode: 'auto' (default) attaches a PDF if one is available; 'none' skips; 'required' fails if no PDF can be attached. PDF uploads may fail on the Zotero cloud free-tier 300MB quota — metadata still lands even when the upload fails. WARNING: for bibliography use, a general web-page URL produces a 'webpage' itemType that often isn't acceptable as a citation; resolve to a DOI and use zotero_add_by_doi instead when possible. Requires a writable library (fails in local-only mode). Run zotero_update_search_database afterwards for semantic search. Example: zotero_add_by_url(url='https://arxiv.org/abs/2602.14878', collections=['9SU943GB']).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| collections | No | ||
| tags | No | ||
| attach_mode | No | auto | |
| if_exists | No | duplicate | |
| create_missing_collections | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |