Written and maintained by CASRAI Editorial Board
Published
On this page
A citation from a DOI is a formatted reference (APA, MLA, Chicago and so on) generated from the metadata registered for that DOI. You can get one without any web tool: ask the DOI resolver for it with an Accept: text/x-bibliography header, or paste the DOI into a reference manager such as Zotero. Either way, proofread the result against the paper before you use it.
What it is used for in research
Researchers turn DOIs into citations when they have a list of identifiers (from a database export, a preprint server or a colleague) and need reference-list entries. This page covers formatted text citations. For a BibTeX entry for LaTeX, see DOI to BibTeX. For what the identifier itself is, see the dictionary entry for DOI, and for how DOIs are written as links see DOI links.
Access: the official routes
Two routes need no third-party generator.
- Content negotiation at doi.org. Crossref documents that you can request metadata in several formats from
https://doi.org/(the resolver operated by the DOI Foundation) by sending anAcceptheader. It needs no account. - Zotero. Zotero’s “Add Item by Identifier” button retrieves metadata for a DOI, from Crossref and other registries, and creates a library item you can cite in any installed style. See also how to get citations from Zotero, the ZoteroBib generator and reference managers for macOS.
Step by step
Method 1: a command-line request (one DOI)
- Open a terminal where
curlis available. - Run the request below.
-Lfollows the resolver’s redirect and-Hsets the header. Replace the DOI and the style name.
curl -LH "Accept: text/x-bibliography; style=apa; locale=en-US" "https://doi.org/10.1126/science.169.3946.635"
The response is a single line. Change style= to switch styles. Valid style names come from the Citation Style Language repository; Crossref publishes the list at https://api.crossref.org/v1/styles. The names apa, modern-language-association, chicago-author-date, ieee and harvard-cite-them-right were all on that list when checked on 2026-11-08.
Only the text/x-bibliography type accepts the style and locale parameters. Crossref also notes that content negotiation returns one record at a time; for many DOIs, use its REST API or a reference manager. For Crossref-registered DOIs the REST equivalent is https://api.crossref.org/v1/works/{DOI}/transform.
Method 2: Zotero (one or many DOIs)
- In Zotero, click the “Add Item by Identifier” button in the toolbar.
- Paste the DOI and press Enter. Several DOIs can be pasted at once, separated by spaces, commas or line breaks.
- Zotero creates an item for each DOI. Copy a citation or build a bibliography from the items in the style you need.
Output and how to read it
The Accept header chooses the output format. Crossref lists these values:
| You want | Accept value |
|---|---|
| Formatted citation text | text/x-bibliography |
| CSL JSON | application/vnd.citationstyles.csl+json |
| RIS | application/x-research-info-systems |
| BibTeX | application/x-bibtex |
| RDF XML | application/rdf+xml |
| Turtle | text/turtle |
| Crossref UNIXREF XML | application/vnd.crossref.unixref+xml |
| Crossref UNIXSD XML | application/vnd.crossref.unixsd+xml |
Worked example, run against the DOI above on 8 November 2026. With style=apa the resolver returned:
Frank, H. S. (1970). The Structure of Ordinary Water. Science, 169(3946), 635–641. https://doi.org/10.1126/science.169.3946.635
With style=modern-language-association the same DOI returned:
Frank, Henry S. “The Structure of Ordinary Water.” Science, edited by , vol. 169, no. 3946, Aug. 1970, pp. 635–41. Crossref, https://doi.org/10.1126/science.169.3946.635.
The second result contains “edited by ,” with no editor name: an empty field that the style template filled in anyway. This is why generated citations need a read-through. Both strings are built from whatever metadata the registrant deposited, so check author names, capitalisation, page ranges and any empty or stray fields against the paper itself before you paste a citation into a manuscript. Plain-text output also carries no italics, so restore them where your style requires them. This is editorial advice rather than a statement from Crossref.
Troubleshooting
- You get a web page instead of a citation. The
Acceptheader was not sent or-Lwas missing. Check both. - Style is ignored.
styleandlocaleapply only totext/x-bibliography. - Unknown style name. Use a name exactly as it appears in the list at
https://api.crossref.org/v1/styles. - Many DOIs. Content negotiation returns one record at a time. Paste the list into Zotero or use the Crossref REST API.
- Odd or empty fields. Correct them by hand, as in the MLA example above.
Free alternatives
| Route | Suited to | Notes |
|---|---|---|
| doi.org content negotiation (curl) | One DOI, scripting | Documented by Crossref; one record per request; style names from the CSL list |
| Crossref REST API | Programmatic batches | /works/{DOI}/transform for Crossref DOIs |
| Zotero “Add Item by Identifier” | Several DOIs at once | Accepts multiple DOIs separated by spaces, commas or line breaks |
FAQ
How do I get a citation from a DOI?
Send the DOI to https://doi.org/ with the header Accept: text/x-bibliography; style=apa (or another style name), or paste it into Zotero’s “Add Item by Identifier” box. Then check the result against the paper.
Is there a free citation-from-DOI generator?
Content negotiation at doi.org needs no account, and Zotero’s identifier lookup retrieves DOI metadata from Crossref and other registries. Web generators also exist; treat their output with the same proofreading step.
Can I get a DOI citation in several styles?
Yes. Change the style= value to any name in the CSL list at api.crossref.org/v1/styles.
How do I convert a DOI to BibTeX?
Use application/x-bibtex as the Accept value. The full workflow is in DOI to BibTeX.
How do I write the in-text citation?
The methods above produce reference-list entries. In-text formats depend on the style manual your journal or institution requires, so follow that manual.
Sources
- Crossref, Content negotiation (read 2026-11-08).
- Crossref, Styles list (read 2026-11-08).
- Zotero, Adding items to Zotero (read 2026-11-08).
- Example outputs: live requests to doi.org, 2026-11-08.







