We’re in the process of updating the documentation for Zotero 5.0. Some documentation may be outdated in the meantime. Thanks for your understanding.
Zotero Web API Translator-Based Saving
This is not currently the default version of the API. Include the Zotero-API-Version: 3
HTTP header or the v=3
query parameter to access this version.
The Zotero Web API allows items to be created manually, but it can also automatically create items from uploaded URLs, similar to the one-click saving from web pages offered in the Zotero client. The server takes care of downloading the page, extracting metadata using Zotero translators, and creating a new item in the library.
An API key with write access to a given library is necessary to use write methods.
Restrictions on Use
This feature is not meant as a general-purpose tool for extracting metadata from web pages. If you're only interested in extracting metadata from web pages — for example, for integration into another project — rather than saving items to a Zotero library, you should install Zotero's translation-server, a server-side version of Zotero's translation framework, on your own server. To prevent abuse, use of web translation may be rate limited to a greater extent than other API requests.
Web Translation Requests
Single item
POST /users/1/items
{ "url": "http://www.amazon.com/gp/product/0838985890/" }
If only a single item is found for the given URL, the item will be saved to the library with a 200 OK
response:
{ "success": { "0": "C6SA6U3W" }, "unchanged": {}, "failed": {} }
Multiple items
POST /users/1/items
{ "url": "http://scholar.google.com/scholar?q=test" }
If multiple items are found for the URL, the API will return 300 Multiple Choices
:
{ "url": "http://scholar.google.com/scholar?q=test", "token": "085f1b8341ea4c221320de18d6f4e3c6", "items": { "0":"Reproductive Tradeoffs In Uncertain Environments: Explaining The Evolution Of Cultural Elaboration", "1":"Dynamics of clade diversification on the morphological hypercube", "2":"The Clustering of High Redshift Galaxies in the Cold Dark Matter Scenario", "3":"Recovering the Primordial Density Fluctuations: A comparison of methods", "4":"Reconstruction Analysis of Galaxy Redshift Surveys: A Hybrid Reconstruction Method", "5":"On-line determination of stellar atmospheric parameters Teff, log g, [Fe/H] from ELODIE echelle spectra. I - The method", "6":"Limits on the star formation rates of z>2 damped Ly-alpha systems from H-alpha spectroscopy", "7":"Unambiguous quasar microlensing", "8":"Does the AGN Continuum Shape Change with Luminosity?", "9":"Testing the Relation Between the Local and Cosmic Star Formation Histories", "10":"Supernova pencil beam survey" } }
Delete the unwanted entries from the items
array in the returned JSON and reupload the JSON, making sure existing keys aren't changed.
POST /users/1/items
{ "url": "http://scholar.google.com/scholar?q=test", "token": "085f1b8341ea4c221320de18d6f4e3c6", "items": { "1":"Dynamics of clade diversification on the morphological hypercube", "2":"The Clustering of High Redshift Galaxies in the Cold Dark Matter Scenario", "7":"Unambiguous quasar microlensing" } }
200 OK
response:
{ "success": { "1": "A7NC29DW", "2": "NPN2K5ZA", "7": "CPWS7BVK" }, "unchanged": {}, "failed": {} }