About
pubcheck checks citations against PubMed, Crossref, and other public indexes.
pubcheck extracts references from manuscripts, grants, bibliographies, and other text files. It looks up each recognized identifier and title. The report lists each failed check and the reason it failed.
What it checks
- Identifiers, including PMID, PMCID, DOI, arXiv ID, ISBN, NCT ID, RRID, accession numbers, and URLs.
- Publication records from PubMed, Crossref, OpenAlex, Europe PMC, DataCite, arXiv, bioRxiv, medRxiv, ClinicalTrials.gov, and other public sources. pubcheck compares title, author names, year, and journal when the record includes them.
- Retraction and withdrawal status, from Retraction Watch data and PubMed.
- In-text citation markers against the reference list: bracketed [1], parenthetical (1,2), superscript, and author-year.
Result labels
- matches record
- The checked record matches the citation details.
- retracted
- The cited record is retracted or withdrawn.
- doesn't match record
- A record was found, but the title, authors, year, or venue differ.
- invalid identifier
- The identifier is malformed or impossible for that source.
- not found
- No checked source returned a matching record.
- not verified
- Required citation details were missing, or pubcheck has no lookup source for this reference type.
- lookup failed
- A lookup service failed. Retry the check.
Limits
- A citation that matches a record can still be wrong for the claim. pubcheck checks the reference, not the argument around it.
- Title-only matching is approximate. Short or generic titles can match the wrong record.
- Indexing can lag. Recent papers may not be in every index yet.
- Some sources are not indexed. Books, theses, internal reports, and grey literature may not appear in public indexes.
- Publication records can be messy. Author order, accents, initials, and journal title casing can make a real citation look like it doesn't match the record.
- In-text checks depend on the document structure pubcheck can extract. Author-year citations are checked only when pubcheck can read enough first-author surnames and years from both the body and the reference list.
What it is not
pubcheck does not read the paper, decide whether a citation supports the sentence around it, or judge the science. It reports which citation checks passed, which failed, and why.
Confidential documents
For confidential manuscripts, grants, reviews, or unpublished figures,
run pubcheck serve on your machine. The default local server
still sends citation identifiers and titles to public lookup services.
pubcheck serve --offline blocks those calls. Offline mode
does not check records against public indexes.