
Bibliography Reference Verifier
Checks every reference in a bibliography against Crossref, OpenAlex, arXiv and Europe PMC and leads with a verdict (FIX_REQUIRED, REVIEW_RECOMMENDED, INCOMPLETE or ALL_VERIFIED), a confidence, a one-line headline, the next step and a prioritized fix list. Input: BibTeX, LaTeX \bibitem, a plain-text list (APA, IEEE, Vancouver), an arXiv id (read via ar5iv), a PDF URL, or just a list of DOIs, arXiv ids and PMIDs. Each reference is VERIFIED, METADATA_MISMATCH (field-level year, author, title, venue and DOI diffs), DOI_RESOLVES_TO_DIFFERENT_WORK, NOT_FOUND (likely fabricated or mistyped), RETRACTED or HAS_CORRECTION (Crossref updated-by, OpenAlex is_retracted, Europe PMC notices), PREPRINT_NOW_PUBLISHED (with the version of record), DUPLICATE_ENTRY or UNRESOLVABLE (an index was down; reported as a partial result, never as NOT_FOUND). With manuscript text, unresolved \cite keys and uncited entries are reported. All verdicts are computed in code with zero model calls; checkSupport adds one fast-tier call judging whether each cited abstract supports its citing sentence, both quotes verified. Limited to indexed works: books, theses, standards and web pages are often NOT_FOUND or UNRESOLVABLE, and a clean result is not an endorsement of the cited claim.
What you get
Catches fabricated, retracted, mis-identified and superseded references before a manuscript is submitted, a due-diligence file is signed or a model-written bibliography is trusted.
Call it
Send the JSON body below to https://agents.writerslogic.com/api/v1/verify-references. An unpaid request answers 402 with the price and how to pay; a request that fails with a 5xx status is not charged.
curl -i -X POST https://agents.writerslogic.com/api/v1/verify-references \
-H 'content-type: application/json' \
-d '{"references":"[1] Wakefield AJ, Murch SH, Anthony A, et al. Ileal-lymphoid-nodular hyperplasia, non-specific colitis, and pervasive developmental disorder in children. Lancet. 1998;351(9103):637-41.\n[2] Abbott BP, et al. Observation of gravitational waves from a binary black hole merger. arXiv:1602.03837"}'
Input
| Field | Type | Required | Description |
|---|---|---|---|
bibtex | string; length 10..400000 | no | BibTeX/BibLaTeX text (the contents of a .bib file). |
latex | string; length 10..400000 | no | LaTeX source with a thebibliography environment (\bibitem) or embedded filecontents .bib; \cite commands supply citation contexts and are checked against the entries. |
references | string; length 10..200000 | no | Plain-text reference list (numbered, blank-line separated, or one per line; APA, IEEE, Vancouver, Chicago). |
arxivId | string; length 4..80 | no | arXiv id or URL; references are read from the ar5iv HTML (.ltx_bibitem), falling back to the PDF. |
pdfUrl | string; length 8..2000 | no | Public PDF URL. Text extraction is best-effort (Word and Google Docs exports work best). |
identifiers | array<string; length 3..300>; max 150 items | no | Bare identifiers instead of a bibliography: up to 150 DOIs (bare, doi: or doi.org URL), arXiv ids or URLs, or PMIDs (bare, PMID: or PubMed URL), mixed freely. Each is resolved and checked for retraction, correction and a published version of record. |
manuscript | string; length 10..400000 | no | Optional manuscript text (LaTeX or plain) that supplies citation contexts: \cite keys, [n] numbers or Author (year) citations. |
checkSupport | boolean | no | Needs manuscript text (or latex, arxivId, pdfUrl). Spends one fast-tier model call to judge whether each cited abstract supports its citing sentence (at most 20 citations). |
Example request body
{
"references": "[1] Wakefield AJ, Murch SH, Anthony A, et al. Ileal-lymphoid-nodular hyperplasia, non-specific colitis, and pervasive developmental disorder in children. Lancet. 1998;351(9103):637-41.\n[2] Abbott BP, et al. Observation of gravitational waves from a binary black hole merger. arXiv:1602.03837"
}
Result
The response is { "data": ..., "_provenance": ... }. data carries these fields; _provenance is a signed W3C Verifiable Credential with a C2PA-style manifest, checked free at POST /api/v1/verify-provenance.
| Field | Type | Required | Description |
|---|---|---|---|
verdict | string; one of "FIX_REQUIRED", "REVIEW_RECOMMENDED", "INCOMPLETE", "ALL_VERIFIED" | no | FIX_REQUIRED: a retracted, unfindable or wrongly-identified reference or an unresolved \cite key. REVIEW_RECOMMENDED: corrections, metadata mismatches, preprints with a published version, duplicates. INCOMPLETE: nothing wrong in what could be checked, but some references could not be. ALL_VERIFIED: every reference resolved and clean. |
confidence | integer | no | 0-100: share of the bibliography whose lookup completed. Low means re-run, not that the references are bad. |
headline | string | no | One-sentence human summary. |
nextStep | string | no | The concrete next action. |
priorityActions | array<object> | no | |
moreActions | integer | no | Flagged references beyond the priorityActions cap. |
partial | boolean | no | True when some references were not checked; coverage.failedSources names the cause. |
input | object | no | kind, referencesParsed, referencesChecked (capped at 150), parse notes. |
summary | object | no | total, flagged (not VERIFIED), byStatus counts. |
references | array<object> | no | |
citationCheck | object | no | mode (latex|numeric|ar5iv|author-year|none), unresolvedKeys, uncitedEntries. |
support | object | no | Whether the model support check ran, how many citations were sent, how many skipped over the cap. |
llmCalls | integer | no | 0 on the deterministic path; 1 when checkSupport is set and at least one citation has an abstract. |
decidedBy | string; one of "code", "code+model" | no | |
thresholds | object | no | Matching thresholds applied. |
coverage | object | no | Upstream calls used, skipped references, failed sources. |
Pay and connect
Available through: x402 (USDC on Base), MCP, RapidAPI, Apify.
Machine-readable
- This agent as JSON (schemas, example, OpenAPI operation)
- Free signed sample response
- OpenAPI 3.1 · Catalog · Index of every agent