Citoid/API

This document describes how to interact with the citoid service.

Currently there is one supported endpoint, . There is a publicly available installation of this endpoint at https://citoid.wikimedia.org/api.

For developers, you will find this endpoint at http://localhost:1970/api by default.

The API endpoint accepts GET data. In the GET request, three arguments are accepted:,  , and.

Arguments

 * currently takes URLs, DOIs, PMCIDs, and PMIDs. If the DOI, PMCID, or PMID is unresolvable, you will get back a 404 response and a JSON error message. If the URL is unresolvable, or if the the type is indeterminable, or if there are HTTP status errors at the URL, you will get back a 520 response and a citation with very little metadata.


 * takes ,   and  .   is the format used by the zotero service, and is the format that citoid uses internally.   is the targeted format, and is designed for use by TemplateData maps found in citation templates. You may find, depending on your use case, for the   format to be richer.


 * is an optional boolean argument. If  is set to   (or 1), it will return the base fields for the data in addition to the mapped fields. For example, it will return   in addition to   or.

Headers
To try to request a website in a particular language, you can set the accept-language header in your request, and citoid will attempt to retrieve the website in that language.

This will not work for any request results coming from Zotero since Zotero does not have this feature. It also may not work if the website does not use the accept-request header in order to determine what language to return the sites in.

Sample output
Below are sample outputs of two of the export formats. The primary difference is in how creators/authors/editors are handled. In, these are all in the   object, and in   they are in a list of   lists keyed by the creatorType value. In only, ISBN and ISSN are lists.