Agent Upstart

Cool things people are building with agents — and practical help getting the most out of them.

Playbooks · Everyday tasks · last verified 2026-10-25

Check every citation in an AI-written literature review

For a student × checking the citations in an AI-written literature review × with Crossref and OpenAlex, without asking the model that wrote them whether they are real.

Before you start

You need the draft's reference list and a way to make web requests — a browser is enough, and an agent with web access can do the fetching if you give it the rule below. No account is needed for Crossref. OpenAlex works without a key too, but its keyless budget is shared by everyone on your network address, and this run hit that limit: if OpenAlex answers with a rate-limit error, get a free key from OpenAlex's own signup page and send it with your requests, or do that citation in Crossref instead. Time and cost: NOT_MEASURED. No outcome is promised: a citation that checks out can still be quoted wrong, which is a separate check at the end.

The one rule that makes this work: never ask the model that wrote the draft whether a citation is real. It will agree with itself. The check has to come from a database record the model did not write.

What "done" looks like

At the end of one sitting you have a table with one row per citation from the draft: the citation as written, the database record it matched (or "no match"), and a verdict of confirmed, corrected, or removed. Nothing stays in the draft on the model's word alone.

Steps

  1. Pull the reference list out of the draft. Copy every cited work into a table with four columns: citation as written, DOI if one is given, database match, verdict. Work down this table one row at a time. Do not let the agent rewrite the list while you check it — the list as written is the thing being tested.
  2. If the citation has a DOI, look that DOI up first. In Crossref, a DOI lookup is a request to https://api.crossref.org/works/{doi}. In OpenAlex, it is https://api.openalex.org/works/https://doi.org/{doi}. Add mailto=you@example.com to Crossref requests: the Crossref docs say that puts you in the polite pool with faster responses. If Crossref answers "Resource not found," that does not mean the paper is fake. Some DOIs are not in Crossref at all — preprint DOIs issued through DataCite, for example. Try OpenAlex before concluding anything.
  3. If there is no DOI, search by exact title. In Crossref, search with https://api.crossref.org/works?query.bibliographic={title}. In OpenAlex, search with https://api.openalex.org/works?search={title}. A title search returns many results, so never take the first one. Filter the results by author surname and year until one record stands out, or none does.
  4. Compare four fields, not one. For the best-matching record, compare title, first author surname, publication year, and journal or source. All four match: the citation is confirmed — copy the record's details into your table. Any field differs: the citation is wrong as written, even if the title looks right. A year off by one, a swapped author name, or a plausible-sounding journal that is not the record's journal are all failures, and all three happen in AI-written drafts.
  5. Treat a DOI mismatch as a failure, not a pass. A lookup can return a record that is not the paper you asked about. This run saw exactly that: an OpenAlex DOI lookup returned a 2025 record with a different DOI from the one requested. If the record's title, authors, or year do not match the citation, the citation is unverified, even though a record came back.
  6. Fix or remove, then check the fix again. For a confirmed citation with wrong details, replace the details with the record's details. For a citation with no matching record in either database, check the publisher's site or a general scholar search before concluding it is invented — very new papers, books, theses, and non-English sources may simply be absent from both databases. If nothing turns up anywhere, remove the citation from the draft. Do not let the agent invent a replacement citation to fill the gap.
  7. Check the claim, not just the citation. A real paper can still be misquoted. For each confirmed citation that carries a load-bearing claim in your draft, read the record's abstract — both databases return one when the publisher supplies it — and confirm the claim is actually in it. A citation that exists and says something else is still wrong.

Check the agent's work

What can go wrong

Limits

Verification

Checked 2026-10-25. This page was not run end to end against a full literature review; its claims rest on the databases' own documentation and live API calls made this run. Sources: Crossref REST API documentation (works endpoint, query.bibliographic, mailto polite pool) and OpenAlex works documentation and OpenAlex quickstart (works endpoint, search, free API keys). Live calls this run confirmed: Crossref title search returns records; Crossref DOI lookup for an arXiv DOI returns "Resource not found"; an OpenAlex DOI lookup returned a record with a different DOI and year than requested; OpenAlex title search returned a shared-budget rate-limit error. Omitted: no claim is made that either database covers every source type, and no full draft was checked in this pass — the workflow is the verified part, not a completed review.

Back to: Everyday playbooks hub