Verify Citation
verifyCitationCross-checks a cited title against the paper at its identifier (DOI/PMID/PMCID) to detect fabricated citations where the identifier resolves but the title doesn't match.
Instructions
Verify a claimed citation against the resolved record at its identifier. Detects the dominant AI-driven fabrication pattern documented by Topaz et al. (Lancet 2026): a real, resolvable identifier (DOI / PMID / PMCID / arXiv / etc.) paired with a title that does NOT correspond to the paper at that identifier. Use when the user pastes a citation and asks 'is this real?' or 'check this DOI' — most fabricated citations resolve cleanly under doi.org but their cited title and the resolved title disagree. Single citation per call. Required: title plus exactly one identifier (doi, pmid, pmcid, isbn, arxiv, issn, ads, or whoIrisUrl). Optional refinements: author (first-author family name), year, container (journal). Set screenWithLlm: true to invoke the Stage 3 LLM screen on low-confidence mismatches (catches informal-abbreviation false positives); LLM access is gated to authenticated first-party keys and paid RapidAPI tiers — anonymous callers get 400 LLM_SCREEN_FORBIDDEN. Returns: { verdict: 'matched' | 'mismatch' | 'not_found' | 'ambiguous', confidence: 'high' | 'medium' | 'low', matched: , mismatches: [{field, claimed, resolved, similarity}], candidates: [{item, registries, score}] (when title-search ran), provenance: {stages_run, resolved_via, registries_searched, llm_screen} }. Verdict semantics: 'matched' = claim agrees with resolved record; 'mismatch' = identifier resolves but title does not match (Topaz fabrication pattern); 'ambiguous' = identifier resolves to one paper but the claimed title matches a DIFFERENT paper found via title-search (CITADEL 'citation error' subtype — wrong identifier for a real paper); 'not_found' = neither the identifier nor the title resolves anywhere. No sibling tool overlaps: resolveIdentifier returns metadata for a known-good identifier; verifyCitation is the only tool that cross-checks claimed title vs resolved metadata. Read-only and idempotent — safe to retry. Works anonymously for the non-LLM path; the Stage 3 LLM screen requires authentication — set SCHOLAR_API_KEY (a free ssk key from https://scholar-sidekick.com/account) or use a paid RapidAPI tier. SCHOLAR_API_KEY also raises your rate limit.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | The title as it appears in the cited reference. This is the field the verifier cross-checks against the resolved record at the supplied identifier. Required. | |
| doi | No | DOI as cited (with or without https://doi.org/ prefix). Provide whichever identifier(s) the cited reference carries; the verifier uses the first one in priority order doi > pmid > pmcid > arxiv > ads > isbn > issn > whoIrisUrl. | |
| pmid | No | PubMed ID as cited (digits only, or with 'PMID:' prefix). | |
| pmcid | No | PubMed Central ID (e.g. 'PMC1234567' or 'PMCID:1234567'). | |
| isbn | No | ISBN (10- or 13-digit, hyphens tolerated). | |
| arxiv | No | arXiv ID (e.g. '2301.08745' or 'arXiv:2301.08745'; old-style 'hep-ph/0501023' accepted). | |
| issn | No | ISSN for journal-level resolution. | |
| ads | No | NASA ADS bibcode (19 chars). | |
| whoIrisUrl | No | WHO IRIS URL (https://iris.who.int/...). | |
| author | No | First-author family name as cited. Refines the verdict — a title-vs-resolved-title match plus an author mismatch raises suspicion of fabrication. Pass only the family name (e.g. 'Topaz', not 'Topaz, Maxim'). | |
| year | No | Publication year as cited. Wrong year alone does not flip the verdict, but >=2-year gap from the resolved record lowers confidence. | |
| container | No | Journal or container name as cited (e.g. 'The Lancet', 'Neuroscience'). Soft signal — surfaced as a mismatch field but does not gate the verdict. | |
| screenWithLlm | No | Opt-in Stage 3 LLM screen. Fires only when the pre-LLM verdict is mismatch with low confidence (the informal-abbreviation false-positive bucket). Gated: requires an authenticated first-party API key or a paid RapidAPI tier; anonymous / free callers receive 400 LLM_SCREEN_FORBIDDEN. Default false. |