bibdoiadd man page — add DOI numbers to papers in a given bib file


bibdoiadd [-c config_file] [-f] [-o output] bib_file


-c config_file

Configuration file.  If this file is absent, some defaults are used. See below for its format.


Force checking doi number even if one is present

-o output

Output file.  If this option is not used, the name for the  output file is formed by adding "_doi" to the input file


The script reads a BibTeX file.  It checks whether the entries have DOIs.  If now, tries to contact to get the corresponding DOI.  The result is a BibTeX file with the fields "doi=..." added.

The name of the output file is either set by the -o option or  is derived by adding the suffix "_doi" to the output file.

There are two options for making queries with Crossref: free account and paid membership.  In the first case you still must register with Crossref and are limited to a small number of queries, see the agreement at "".  In the second case you have a username and password, and can use them for automatic queries.  I am not sure whether the use of this script is allowed for the free account holders.  Anyway if you try to add DOI to a large number of entries, you should register as a paid member.

Configuration File

The configuration file is mostly self-explanatory: it has comments (starting with "#") and assginments in the form

   $field = value ;

The important parameters are $mode ('free' or 'paid', $email (for free users) and $username & $password for paid members.


   bibdoiadd -c bibdoiadd.cfg citations.bib > result.bib
   bibdoiadd -c bibdoiadd.cfg citations.bib -o result.bib


Boris Veytsman