LawForge
ReferenceTools

get_document

Retrieve court opinions and docket entries with smart chunking

get_document

Retrieve legal document content with multiple retrieval modes. Supports full text, summaries, document chunks, and semantic search for relevant sections.

Parameters

ParameterTypeRequiredDefaultDescription
document_typestringYes-opinion or docket
document_idintegerYes-Document ID (cluster_id for opinions, docket_id for dockets)
cluster_idintegerNo-Alias for document_id (opinions only)
modestringNofullRetrieval mode (see below)
querystringNo-Search query for relevant mode
max_chunksintegerNo5Maximum chunks to return (1-20)

Retrieval Modes

ModeDescriptionBest For
fullComplete document textReading entire opinions
summaryAI-generated case summaryQuick case overview
chunksDocument sections (facts, holding, reasoning)Structured analysis
relevantChunks most relevant to your queryTargeted research

Example: Full Document

{
  "document_type": "opinion",
  "document_id": 85987
}

Response:

{
  "document_type": "opinion",
  "cluster_id": 85987,
  "case_name": "Marbury v. Madison",
  "court": "scotus",
  "date_filed": "1803-02-24",
  "mode": "full",
  "text": "It is emphatically the province and duty of the judicial department to say what the law is...",
  "source": "R2 Storage"
}

Example: Summary Only

{
  "document_type": "opinion",
  "document_id": 106286,
  "mode": "summary"
}

Response:

{
  "mode": "summary",
  "case_name": "New York Times Co. v. Sullivan",
  "summary": "The Supreme Court held that the First Amendment requires public officials to prove \"actual malice\" to recover damages for defamation, establishing a high bar for libel claims against the press...",
  "source": "R2 Storage"
}

Example: Relevant Chunks

Find sections most relevant to a specific query:

{
  "document_type": "opinion",
  "document_id": 106770,
  "mode": "relevant",
  "query": "right to counsel in criminal cases",
  "max_chunks": 3
}

Response:

{
  "mode": "relevant",
  "query": "right to counsel in criminal cases",
  "chunk_count": 3,
  "chunks": [
    {
      "type": "holding",
      "content": "The right of an indigent defendant in a criminal trial to have the assistance of counsel is a fundamental right...",
      "index": 5,
      "relevance_score": 0.847
    },
    {
      "type": "reasoning",
      "content": "The Sixth Amendment's guarantee of counsel is made obligatory upon the States by the Fourteenth Amendment...",
      "index": 7,
      "relevance_score": 0.812
    },
    {
      "type": "summary",
      "content": "**Key Facts:** Clarence Earl Gideon was charged with breaking and entering...",
      "index": 0,
      "relevance_score": 0.756
    }
  ],
  "source": "D1 chunks (ranked by relevance)"
}

Chunk Types

When using chunks or relevant mode, sections are categorized:

TypeDescription
summaryAI-generated case summary
factsFactual background
proceduralProcedural history
issuesLegal issues presented
holdingCourt's decision
reasoningLegal analysis
dissentDissenting opinions
concurrenceConcurring opinions
fullUncategorized text sections

Response Fields

FieldTypeDescription
document_typestringopinion or docket
cluster_idintegerDocument identifier
case_namestringCase name (parties)
courtstringCourt identifier
date_filedstringFiling date
modestringRetrieval mode used
textstringFull document text (full mode)
summarystringCase summary (summary mode)
chunksarrayDocument sections (chunks/relevant modes)
chunk_countintegerNumber of chunks returned
sourcestringData source used

How Chunking Works

Documents are automatically chunked on first request:

  1. Section extraction - Identifies legal document sections (facts, holding, etc.)
  2. AI summarization - Generates a concise case summary
  3. Embedding creation - Creates vector embeddings for semantic search
  4. Caching - Chunks are stored for fast subsequent retrieval

The relevant mode uses semantic similarity to rank chunks by relevance to your query.

See Also

On this page