Skip to content

Instantly share code, notes, and snippets.

@jrsmith3
Last active May 17, 2024 17:43
Show Gist options
  • Save jrsmith3/5513926 to your computer and use it in GitHub Desktop.
Save jrsmith3/5513926 to your computer and use it in GitHub Desktop.
Python method to access crossref.org DOI bibtex metadata resolver
import requests
def doi2bib(doi):
"""
Return a bibTeX string of metadata for a given DOI.
"""
url = "http://dx.doi.org/" + doi
headers = {"accept": "application/x-bibtex"}
r = requests.get(url, headers = headers)
return r.text
@abrefael
Copy link

That's great!!
thank you!
I would change this a little to accommodate for easier copy-paste that may include the whole http://dx.doi.org/ url:

def doi2bib(doi):
...if "http://dx.doi.org/" not in doi:`
......doi = "http://dx.doi.org/" + doi
...headers = {"accept": "application/x-bibtex"}
...r = requests.get(doi, headers = headers)
...return r.text

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment