Government and Public Records

Court Filing / Case

/extract/json

Court case record including parties, filings, and outcomes from a federal or state court docket.

Download the schemagov-public-records/court-filing-case.json

court-filing-case.schema

// names marked ? are optional

case_number:string// Official case number. Commonly found in: PACER, state court portal, court docket.
court_name:string// Name of the court. Commonly found in: PACER, state court portal.
court_type?:string// Type of court. Commonly found in: court portal, case metadata. One of: federal_district, federal_bankruptcy, federal_appeals, state_trial, state_appeals, other.
jurisdiction?:string// Jurisdiction or district. Commonly found in: court portal, case header.
case_type:string// Type of legal case. Commonly found in: PACER, court portal, nature of suit code. One of: civil, criminal, bankruptcy, family, probate, administrative, other.
case_title:string// Official case title (e.g., Plaintiff v. Defendant). Commonly found in: PACER, court portal.
filing_date:string// Date the case was filed. Commonly found in: PACER, court portal, docket header.
status:string// Current status of the case. Commonly found in: PACER, court portal. One of: open, closed, pending, appealed, dismissed, settled, other.
plaintiffs?:object[]// Plaintiff parties. Commonly found in: PACER, court portal party list.
name:string// Name of the party.
type?:string// Type of party (e.g., individual, corporation).
attorney?:string// Name of the party's attorney.
attorney_firm?:string// Law firm of the party's attorney.
defendants?:object[]// Defendant parties. Commonly found in: PACER, court portal party list.
name:string// Name of the party.
type?:string// Type of party (e.g., individual, corporation).
attorney?:string// Name of the party's attorney.
attorney_firm?:string// Law firm of the party's attorney.
judge_name?:string// Name of the presiding judge. Commonly found in: PACER, court portal, docket header.
causes_of_action?:string[]// Legal causes of action or claims. Commonly found in: complaint, docket entry, PACER nature of suit.
claim_amount_usd?:number// Amount claimed in USD. Commonly found in: complaint, docket filing.
settlement_amount_usd?:number// Settlement amount in USD if settled. Commonly found in: settlement filing, press release.
verdict?:string// Verdict or judgment description. Commonly found in: judgment order, docket entry.
docket_entries?:object[]// Key docket entries. Commonly found in: PACER docket, court portal docket.
date:string// Date of the docket entry.
description:string// Description of the docket entry.
page_title?:string// Title of the source page. Tabstack auto-fills this from page metadata when left empty.
favicon?:string// Favicon URL of the source page. Tabstack auto-fills this from page metadata when left empty.

Try it live

A sample Court Filing / Case document, generated from the schema. Edit it, or paste a real response, and see it checked against the schema instantly. It runs in your browser, nothing is sent anywhere.

your-output.json
validation

Valid, matches Court Filing / Case

Every required field is present and each value matches its type. Extra fields are allowed. A field the page does not carry is not guaranteed to come back as null, so check values rather than only checking for null.

/extract/json

Copy-paste usage

The same call in TypeScript, Python, and curl. Point it at your own URL and go. The schema drives the response, so you get back the fields you asked for instead of a page to parse.

Features

  • Typed TypeScript and Python SDKs
  • One call, no parsing code and no second LLM pass
  • The same field names on every request, even when the page layout changes
court-filing-case.ts
// curl -sfLO https://raw.githubusercontent.com/Mozilla-Ocho/tabstack-schemas/main/gov-public-records/court-filing-case.json
import Tabstack from '@tabstack/sdk'
import schema from './court-filing-case.json' with { type: 'json' }

const client = new Tabstack() // reads TABSTACK_API_KEY from the environment

try {
  const data = await client.extract.json({
    url: 'https://records.example.gov/filing/12345',
    json_schema: schema,
    effort: 'standard', // 'min' | 'standard' | 'max'
  })

  console.log(data)
} catch (err) {
  console.error('Extraction failed:', err)
}

Ship this schema in one call.

Pass a URL, get matching JSON back. Free to start, no extraction layer to maintain.