Table of Contents

Exposing Your Metadata

Whether you are a publisher of a scientific journal, operate a news site, or are a blogger, Zotero users will be eternally grateful if you expose bibliographic metadata on your website.

In your decision to expose metadata, it is important to identify the object of interest: this can be the webpage itself (e.g. a page on a newspaper's website showing a article), or the resources described on the webpage (e.g. a page of a library catalog showing bibliographic records).

Zotero-Ready Web Applications

The easiest way to expose bibliographic metadata is to use a web application that comes with this feature, or offers it through a plugin or minimal configuration. Examples are the content management systems WordPress (together with a WordPress metadata plugin) and Omeka, and the web-based bibliographic managers refbase and Bebop BibTeX publisher.

Zotero-compatible OPAC (Online Public Access Catalog) software packages for libraries, archives, and museums include:

These OPACs are used by tens of thousands of libraries around the world; SIRSI alone is used by almost 7000 libraries. If you are using one of these and Zotero doesn't work with the library's catalog interface, post to the Zotero forums to see what changes can be made to make Zotero work with the OPAC installation.

Using an Open Standard for Exposing Metadata

Alternatively you can directly edit your HTML code of your webpage, using one of the following open standards, to expose your metadata:

Force Zotero to refresh metadata

Websites for which metadata changes without a page reload should fire a ZoteroItemUpdated event to tell Zotero to re-detect metadata on the page. This is supported in Zotero 3.0 and later.

document.dispatchEvent(new Event('ZoteroItemUpdated', {
    bubbles: true,
    cancelable: true

Zotero Web Translators

Exposing bibliographic metadata through an open standard is very powerful (and also benefits non-Zotero users!). However, if you have little control over the way your website is built, you may have to create a Zotero web translator for Zotero-compatibility. Translators have some downsides: apart from the fact that they are a Zotero-specific solution, translators can break easily if the structure of the targeted website changes.