GSoC/GCI Archive
Google Code-in 2014 Wikimedia Foundation

Citoid: Add requestFromPMID() method to lib/request.js

completed by: ☃ unicodesnowman

mentors: Mvolz

citoid is a Node.js application (written in Javascript) that retrieves information about a webpage, book, journal article, etc. given a URL to the webpage or some other identifier, like DOI (digital object identifier).

It uses another open source project, Zotero's translation-server, also written in Javascript, to do a lot of the work. Doing this work may involve reading both citoid and translation-server code. In order to get citoid working on your computer, you'll need to download both Node version 10.0 (for citoid) and xpcshell version 29.0 (for Zotero) to get both of them working. Citoid is a very new project so the code is rough around the edges and may change a lot- but that means there's lots of code to write! There are installation instructions and more information available at

See for the corresponding bug report. In the file lib/request.js, currently there are only methods to get metadata from a journal paper from its URL or DOI. However, you can also find information using another identifier, PMID. You can use the PubMed API to find a paper's DOI given its PMID and therefore its url:

Students are required to read Wikimedia's general instructions at first.