Method

A pre-filing citation audit — not a lookup box.

Upload the filing. We identify the authorities, check existence and quoted language against CourtListener and CAP, and hand back a timestamped record you can keep.

Drop a pleading or brief

Word (.docx) or PDF — we extract the text (or OCR a scan), pair case names to reporter/Westlaw pins, then verify each authority against CourtListener and CAP.

PDF or .docx up to 40 MB · scans OCR'd automatically

Extract → identify cites → verify (max 40 authorities)

How verification works

Existence and caption first. Then, where the filing quotes an opinion, we check what the opinion says — not whether it supports the argument. The deliverable is a record, not a vanishing screen.

  1. 01

    Extract the filing

    From the PDF text layer (or a paste), pair case names to reporter/Westlaw pins and harvest nearby quotes.

  2. 02

    Coverage-aware probe

    CourtListener and CAP run in parallel. One source that covers the citation is enough; gaps in a corpus are not counted as absence.

  3. 03

    Quote check + record

    Quoted language and pin pages are checked against the opinion text. Export a timestamped JSON report with sources, URLs, and the control pair.

Sources that work

Citeproof probes CourtListener and CAP without requiring end users to log in. Justia, Scholar, and the CAP JSON API stay out of the path — blocked or auth-gated. An optional server-side CourtListener token enables citation-lookup; otherwise search is used.

CourtListener

citation-lookup when COURTLISTENER_API_TOKEN is set; otherwise unauthenticated /search/ by reporter pin or WL number.

Caselaw Access Project

static.case.law volume CasesMetadata.json + HTML opinions — exact first_page match.

Method controls: Richardson v. McKnight, 521 U.S. 399 must resolve; In re Leman, 66 Cal.App.5th 200 must not.