---
title: Citation Verifier - Detect Fake DOIs and AI-Hallucinated Citations | Scholar Sidekick
description: Paste a citation. The verifier resolves the identifier, compares the resolved title to the cited title, and flags the dominant fabrication pattern documented by Topaz et al. (Lancet 2026): real DOI + invented title. Free, no signup, no rate limit at the anonymous tier.
doc_version: "2026-05-26"
last_updated: "2026-05-26"
---

# Citation Verifier

*Paste a citation. The verifier resolves the identifier, compares the resolved title to the cited title, and flags fabricated citations.*

## What this tool does

The Citation Verifier checks whether a claimed citation actually corresponds to the paper at its identifier. It is the only tool here designed to catch the dominant AI-driven fabrication pattern documented by [Topaz et al. (Lancet 2026)](https://www.thelancet.com/journals/lancet/article/PIIS0140-6736(26)00603-3/fulltext): a real, resolvable identifier paired with a title that does not match the resolved paper. Background context lives at [/citation-integrity](/citation-integrity).

## Scope

This is a **syntactic check**: identifier resolution plus bibliographic field agreement (title, first author, year, container). It catches fabricated citations — real DOI + invented title, made-up identifiers, wrong identifier for a real paper. It **does not** verify that the resolved paper actually supports the claim you are citing it for. Claim-vs-content checking is a separate problem and is not solved here.

## How it works

1. **Resolve.** The identifier you supplied is resolved against the appropriate registry: Crossref for DOIs, with doi.org and DataCite as fallbacks for DOIs Crossref does not index (datasets, theses, many preprints); PubMed for PMIDs and PMCIDs; arXiv for preprints; OpenLibrary for ISBNs; NASA ADS for bibcodes; WHO IRIS for institutional URLs.
2. **Compare.** Title, first-author family, year, and container are compared between your claim and the resolved record. Per-field similarity is reported.
3. **Search if needed.** If the identifier resolves to a paper but the title disagrees, the verifier title-searches across Crossref, PubMed, and OpenAlex. This separates *wrong identifier for a real paper* (verdict: ambiguous) from *real DOI + invented title* (verdict: mismatch).

## Verdicts

- **Matched** - claimed title agrees with resolved paper. Confidence reflects how clean the match is across all fields.
- **Mismatch** - identifier resolves cleanly but the title disagrees. This is the Topaz et al. fabrication pattern: real DOI, invented title.
- **Ambiguous** - identifier resolves to paper X, but the claimed title matches paper Y found via search. Usually somebody pasted the wrong identifier.
- **Not found** - neither the identifier nor a title-search returns any match. Often a fabricated citation with a made-up identifier.

Confidence is **high**, **medium**, or **low**. Low-confidence mismatches are the bucket the optional LLM screen rescues (informal abbreviations, paraphrased titles).

## Identifiers accepted

DOI · PMID · PMCID · arXiv · ISBN · ISSN · NASA ADS bibcode · WHO IRIS URL. One required. Optional refinements (first-author family, year, journal) tighten the match.

## Programmatic access

- REST: `POST /api/verify` - see [API documentation](/docs).
- MCP: the `verifyCitation` tool ships with the [scholar-sidekick MCP server](/mcp); call it from Claude Desktop, Cursor, or any MCP-aware client.
- Obsidian: the [Scholar Sidekick plugin](https://community.obsidian.md/plugins/scholar-sidekick) runs verification inline on the active note.
- Web batch UI: switch to **Batch** at the top of [/tools/citation-verifier](/tools/citation-verifier) to paste or upload `.bib` / `.ris` / `.json` and verify up to 10 citations at once.

## FAQ

### What does the verifier actually check?

Three things, in order. (1) It resolves the identifier you supplied (DOI, PMID, PMCID, arXiv, ISBN, ISSN, ADS bibcode, or WHO IRIS URL) against the appropriate registry. (2) It compares the claimed title against the resolved title field-by-field, with similarity scores per field. (3) If the resolved title and the claimed title disagree, it title-searches the claim across Crossref, PubMed, and OpenAlex to see whether the cited title exists under a different identifier - distinguishing 'wrong identifier' (ambiguous) from 'fabricated title' (mismatch).

### Which identifiers can I paste?

Any of: DOI, PubMed ID, PMCID, arXiv ID, ISBN, ISSN, NASA ADS bibcode, WHO IRIS URL. You only need one. Optional refinements - first-author family name, year, journal - are used to tighten the match but never gate the verdict on their own.

### What do the verdicts mean?

Matched means the claimed title matches the resolved paper. Mismatch means the identifier resolves but the title disagrees - the Topaz et al. fabrication pattern. Ambiguous means the identifier resolves to one paper but the claimed title matches a different paper found via search, which usually indicates a wrong identifier for a real paper. Not found means neither the identifier nor the title resolves anywhere.

### Is this free? Any rate limit?

The web verifier is free at the anonymous tier with a published rate limit (see [API documentation](/docs)). No signup. Nothing you paste is stored beyond standard server logs. Programmatic access via the REST API and MCP server is metered on [RapidAPI](https://rapidapi.com/scholar-sidekick-scholar-sidekick-default/api/scholar-sidekick) (free tier available; paid plans scale up). The opt-in LLM screen, which catches informal-abbreviation false positives, is gated to authenticated paid callers because each model call carries real per-call cost.

### Can I verify a whole bibliography at once?

Yes - switch to **Batch** above to paste a BibTeX, RIS, or CSL-JSON bibliography (or upload a `.bib` / `.ris` / `.json` file). Up to 10 entries are verified at once and rendered as a per-row verdict table. For larger or scripted batches, call [POST /api/verify](/docs) directly, or use the [verifyCitation MCP tool](/mcp) from Claude Desktop, Cursor, or any MCP-aware client.

### How is this different from a retraction check?

Retraction asks 'has this real paper been retracted'. Verification asks 'does this citation actually correspond to a real paper at all'. A fabricated citation is not retracted because the paper never existed. Use the [Retraction Checker](/tools/retraction-checker) after verification, on the resolved paper, not on the claim.

### How accurate is the verifier?

On a 1,395-entry blind holdout - drawn from a recorded seed after the code was frozen, then measured exactly once (plus a repeatability re-run, 99.9% stable) - the verifier caught every fabrication on the dominant patterns (150/150 = 100%, Wilson 95% CI lower bound ~97.6%) and made high-confidence false-accusations on correctly-cited papers at 0.8% (95% CI 0.4-1.4%; just 0.17% were confident mismatches). The opt-in LLM screen cuts the any-flag rate to 0.94% with zero cost to fabrication recall. We also report a measured blind spot - single-word near-miss semantic flips (caught 4/30). Earlier 350-entry and discovery-run holdouts (the 5.3% -> 1.8% lineage) are also published. The fixtures, methodology, and downloadable receipts are at [/citation-integrity](/citation-integrity).

## Related

- [/citation-integrity](/citation-integrity) - explainer on the fabrication pattern, with measured validation numbers and downloadable JSON receipts.
- [/tools/doi-lookup](/tools/doi-lookup) - when you have an identifier and want the metadata, not a verification.
- [/tools/retraction-checker](/tools/retraction-checker) - after verification, check whether the resolved paper has been retracted.
- [/mcp](/mcp) - programmatic access via the MCP server.

## Sitemap

See the full [sitemap](https://scholar-sidekick.com/sitemap.md) for all pages.
