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 [[basics#api_versioning|version]] of the API. Include the ''Zotero-API-Version: 3'' HTTP header or the ''v=3'' query parameter to access this version.** The [[start|Zotero Web API]] allows items to be [[write_requests|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 [[basics#authentication|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 [[https://github.com/zotero/translation-server|translation-server]], a server-side version of Zotero's translation framework, on your own server. To prevent abuse, use of web translation may be [[basics#rate_limiting|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": {} }