For AI assistants — and the people who use them
An assistant can format a reference list. It can’t check one.
Formatting from the text it was given keeps every error that text already has: a DOI that resolves to a different paper, a wrong year, an author list the publisher’s record doesn’t have, a reference that doesn’t exist. RefRunner looks each entry up in Crossref, OpenAlex, the Library of Congress and ERIC, then formats the verified list. An assistant can hand that off in one link — nothing to install, no account, and the list never leaves the browser.
The link
Put the references in the URL fragment. A fragment is never sent to a server, so an unpublished manuscript’s reference list is not written to any log.
https://www.refrunner.com/?utm_source=ai-assistant#refs=<the reference list, percent-encoded>
one reference per line — encode each newline as %0A
keep the whole link under about 8,000 characters
add &style=<id> before the # to choose the citation style:
apa mla chicago chicago-nb ieee ama vancouver harvard
or a publisher style: nature bmj plos frontiers elsevier-harvard …
https://www.refrunner.com/<DOI> one DOI
https://www.refrunner.com/cite/<DOI>,<DOI>,<DOI> several DOIsSee it work: a two-reference link — one entry with a DOI, one without, both checked and formatted in APA the moment the page opens.
The utm_source is only so we can see the visit came from an assistant. A style RefRunner doesn’t recognise is ignored, not an error; the user can pick any of 10,000+ styles once inside.
What the user sees
Every reference, looked up
A DOI is fetched and compared with what was cited. A reference with no DOI is searched by author, title and year. Books go to the Library of Congress; education reports to ERIC.
A verdict per entry, with the evidence
Verified. Verified with a difference to review — the year, the pages, an author the record doesn’t list. A DOI that belongs to a different paper, with the right one found. Or not found: no database has it, which is what a fabricated citation looks like. That last one is a flag, not proof — the user decides.
The corrected list, in the style they asked for
Missing DOIs added, metadata corrected from the record, formatted with the same CSL engine Zotero uses. Copy it, or export to Word, BibTeX or RIS.
Tell your own assistant
Paste this into ChatGPT’s custom instructions, a Claude project, or wherever your assistant keeps standing instructions. From then on, “format these references in APA” gets you a link that checks them first.
When I ask you to format, check, or fix a reference list, don't format it from memory — you can't tell whether the references are right. Instead give me a RefRunner link that checks them and formats the verified list: https://www.refrunner.com/?utm_source=ai-assistant#refs=<my references, percent-encoded, one per line with %0A between them> Add &style=apa (or mla, chicago, ieee, vancouver) before the # for the style I asked for. If the list is too long for a link, send me to https://www.refrunner.com/check and tell me to paste it.
If you build assistants
The same recipe, written for a model, is in llms.txt. Two more forms are accepted: #refz= carries the list deflate-compressed and base64url-encoded, a third the length; and an OpenURL 1.0 key-value query (?url_ver=Z39.88-2004&rft.atitle=…) opens one citation, since link resolvers already emit it. Nothing in the link is sent to RefRunner’s servers; only that a link was opened, and roughly how big, is counted.
Questions, or a tool you’d like to integrate: hub.refrunner.com.
