← ResearchBuddyAI · Engineering8 min read · Published 2026-09-07
Flagship · System

How Verify Citations catches fabricated and retracted references

Every reference in your paper resolved live against three independent citation databases, cross-checked against Retraction Watch, with unresolved entries classified by likely failure mode. What single-model AI misses, source consensus catches.

TL;DR

Verify Citations takes your draft (PDF/DOCX/TXT), extracts every reference, and resolves each one in parallel against CrossRef, Semantic Scholar, and OpenAlex. Resolved references then get cross-checked against Retraction Watch. Anything that fails all three sources is classified by a lightweight model — genuine-but-obscure, formatting error, or probable AI hallucination — so users know exactly what to do next. Runs in under 30 seconds for a typical 40-reference paper, costs 200 credits, and produces a shareable report URL for supervisor review.

Why this exists

Modern LLMs fabricate academic citations at rates that make them untrustworthy for research use. Recent independent evaluations put frontier LLMs' citation-hallucination rate on domain-specific tasks between 8% and 30% depending on the field — with fabricated DOIs formatted correctly enough to pass casual review. A PhD student handing a supervisor a lit review with three invented citations doesn't get a revise-and-resubmit; they get a conversation about academic integrity.

Meanwhile, real papers get retracted — around 5,000 per year and rising — and continue accumulating citations for years afterward. Post-retraction citations aren't just embarrassing; in clinical fields they actively propagate discredited findings. Human reviewers rarely catch this because Retraction Watch isn't part of the standard workflow.

Verify Citations is designed around one hypothesis: the answer to LLM hallucination isn't a better LLM — it's checking every LLM claim against an authoritative external source, every time. That's not a feature; that's the whole product.

The pipeline

Five stages · typical end-to-end runtime 6–18 seconds per paper

01
Reference Parser

Extract & Normalize

<2s·0 credits

The uploaded document is parsed for its reference list — regex-based extraction across common academic formats (APA, IEEE, Chicago, MLA). Each reference is normalized into a structured record: authors, year, title, venue, and any DOI or arXiv ID present. Malformed entries are kept but flagged low-confidence so the resolver can still attempt a lookup.

Why this step

The single biggest failure mode in citation checking is throwing away references we can't parse cleanly. A slightly-off entry is often still resolvable — we let the databases decide, not our regex.

Outputs
  • Structured reference records
  • Format confidence per entry
  • DOI/arXiv IDs pre-extracted where present
02
Source Consensus

Parallel Multi-Source Resolution

3–8s·0 credits (free public APIs)

Every parsed reference is resolved against three independent citation databases in parallel: CrossRef (95M+ registered DOIs), Semantic Scholar (200M+ papers with rich metadata), and OpenAlex (250M+ works). Each database is queried by DOI first (fastest, most reliable), falling back to title + author + year fuzzy match. Results are compared across sources.

Why this step

Single-source verification has known blind spots — CrossRef misses many humanities publications; Semantic Scholar has coverage gaps in older literature; OpenAlex is younger. Querying all three in parallel catches what any one would miss, and cross-checking their answers is the trust signal we surface as "source consensus" in the report.

Outputs
  • 3× database responses per reference
  • Confidence: high (2+ sources agree), medium (1 source), low (no match)
  • Metadata: DOI, journal, volume, pages, cited-by count
03
Integrity Layer

Retraction Check

1–3s·0 credits

Every resolved DOI is cross-referenced against the Retraction Watch database (~40,000 flagged papers). If a match is found, the citation is flagged with retraction date, reason (fabrication, plagiarism, methodological error), and the corrected replacement paper where one exists. This runs on the RESOLVED references, not the parsed strings — so we catch retracted papers even when the citation itself looks correct.

Why this step

Retracted papers get cited long after retraction — the median time-to-retraction is 3 years, and citation rates often continue climbing post-retraction. Supervisors and reviewers actively check for this. Catching it in draft, not in review, is the difference between a revise-and-resubmit and a rejection.

Outputs
  • Retraction status per citation
  • Retraction reason + date
  • Replacement paper suggestion (when available)
04
Hallucination Guard

Suspicious-Pattern Detection

2–5s·~65 credits (small classifier calls)

For references that fail to resolve against all three databases, a lightweight GPT model classifies the likely failure mode: (a) genuinely obscure but real (rare venue, non-English), (b) formatting error in the manuscript, (c) probable AI hallucination (nonexistent DOI, mismatched author-year-title patterns, made-up journal name). Only category (c) is flagged as "probable fabrication" — we're conservative here because false positives on real papers are worse than missed catches.

Why this step

Modern LLMs fabricate references with high confidence: plausible authors, plausible years, plausible journals, DOIs that follow the correct format but resolve to nothing. Users need more than "unverified" — they need to know WHY, so they can act. This step turns 'not found' into 'not found because…'.

Outputs
  • Category label per unresolved reference
  • Rationale explaining the classification
  • Suggested action (reformat / replace / remove)
05
Synthesis

Report Assembly & Confidence Scoring

<2s·0 credits (bundled with the 200cr run)

All findings are consolidated into a structured report: a summary row (X verified · Y suspicious · Z retracted · N unverifiable), a per-citation table with source responses and confidence, and a downloadable PDF for supervisor sharing. The report gets a persistent public URL (unguessable slug) so users can share the exact findings without exposing their draft.

Why this step

A finding you can't share is a finding that doesn't change your paper's fate. The shareable-report design lets a PhD student send the URL to their supervisor and have a specific, referenceable conversation about which citations to fix.

Outputs
  • Summary counters (verified/suspicious/retracted/unverifiable)
  • Per-citation detail with source responses
  • Persistent shareable URL
  • PDF export (Pro)

What we actually catch

Real failure modes from real papers. These are the four patterns the pipeline surfaces most often.

Fabricated DOI

10.1145/9999999.9999999 (well-formed but resolves to nothing on any registrar)

How we catch it: Fails DOI lookup on CrossRef, then title+author fallback fails on all three sources. Classifier flags as "probable fabrication" given the DOI format looks legitimate but has no registrant.

Mismatched author-year

"Smith et al. (2019)" cited for a 2015 paper by Chen, Zhang & Kim

How we catch it: Title fuzzy-matches on Semantic Scholar to a paper with different authors and year. Confidence downgraded to low; suggested action is "verify — likely citation error".

Retracted paper

A 2018 immunology paper cited widely, retracted in 2022 for fabricated data

How we catch it: Resolves cleanly on all three sources (it's a real paper). Retraction check finds it in Retraction Watch with reason "data fabrication" and links the retraction notice.

Wrong venue / conference name

Paper attributed to NeurIPS 2020 but was actually ICML 2019

How we catch it: DOI lookup succeeds; metadata comparison flags venue mismatch. Original venue shown in the report so the citation string can be corrected.

Why source consensus, not model consensus

Deep Audit and Peer Review get their trust signal from running multiple AI models in parallel and only surfacing findings they agree on. Verify Citations doesn't work that way — running three LLMs against the same reference wouldn't add signal, because they'd all be guessing from the same training data. If GPT and Claude both fabricated the same plausible-looking citation during training, they'd both "verify" it with equal confidence.

The only ground truth for whether a citation is real is an authoritative database — one that registers DOIs, tracks retractions, and can be queried live. That's why the consensus layer here is over sources (CrossRef, Semantic Scholar, OpenAlex, Retraction Watch), not models. The trust question shifts from "do multiple models agree?" to "do multiple independent registries confirm this?"

Different task, different consensus mechanism. Same underlying design principle: don't trust one thing.

Honest limitations

  • Books and monographs have patchier coverage than journal articles — CrossRef and Semantic Scholar are journal-first. We flag these as medium-confidence rather than false-negative them.
  • Non-English publications resolve less reliably; OpenAlex has the best coverage here, which is one of the reasons it's in the mix.
  • Pre-prints (arXiv, bioRxiv) resolve well by their native IDs but sometimes fail on title-only fuzzy match if the pre-print title later changed for publication.
  • Retraction Watch coverage is best in biomedical / life sciences and thinnest in humanities. A "no retraction found" result is stronger evidence in medicine than in philosophy.
  • Suspicious-pattern classification uses a small model — it's fast and conservative, which means we occasionally miss genuinely well-formed fabrications. The retraction and multi-source checks are more definitive.
Try it on your draft

Your first run is free — no card, no credits needed. After that it's 200 credits per run. Works on PDF, DOCX, or pasted text.

Verify a draft →All engineering articles