Developer Documentation

Zotero is an open-source tool, and we welcome anyone who would like to contribute. Programming experience is not always required! Below are the different parts of the Zotero ecosystem, as well as the estimated technical difficulty and the required skills for contributing. Each area has its own starting page with further details.

If you have questions about development not answered here, or would like to discuss development with Zotero developers, you can consult and post to the zotero-dev mailing list. (Please do not use the mailing list for user support questions. Questions regarding the Zotero API, however, should always go to zotero-dev.)

A great place to get started contributing to Zotero is the "Help Wanted" tag on the Zotero issue tracker on GitHub.

Web API
Learn how to access online Zotero libraries using the Zotero API.
Difficulty low to high
Skills HTTP/REST, JSON
Client Coding
Learn how to program for the Zotero client. This section also covers the Zotero code repositories and issue tracker, as well as information for developing Zotero plugins.
Difficulty moderate to high
Skills JavaScript, CSS, Mozilla technologies (XPCOM, XULRunner, XUL, etc.), Git
Translators
Learn how to develop Zotero translators. These JavaScript files allow Zotero to save items from webpages, import and export items in various file formats (e.g. BibTeX, RIS, etc.), and look up items when given identifiers (e.g. DOIs or PubMed IDs). Because translators are sandboxed, share a similar structure, and are relatively short pieces of code, they are very suitable for beginning JavaScript coders.
Difficulty low to moderate
Skills JavaScript, HTML/XML, DOM, regular expressions, XPath
Citation Styles
Learn how to create or modify the Citation Style Language (CSL) citation styles that Zotero uses to format citations and bibliographies. In this section we'll also discuss the citeproc-js CSL processor that Zotero uses to process the CSL styles, and citeproc-node, a wrapper for server-side deployment of citeproc-js.
Difficulty low to moderate
Skills XML, JavaScript
Documentation
Learn how you can contribute to Zotero's wiki documentation to make sure it's complete, up-to-date and of high quality. Make it easier for users to learn how to use Zotero, discover new features, and find solutions to problems, and for developers to get the info they need.
Difficulty low
Skills writing & editing, wiki editing
Localization
Learn how you can help translating the various parts of the Zotero ecosystem (the Zotero client, wiki documentation, and CSL citation styles) into other languages.
Difficulty low
Skills knowledge of English and at least one other language
Have Your Website Support Zotero
You can make your website accessible to Zotero by using open standards.
Expose Your Metadata
Create an OpenSearch Lookup Engine