---
title: "Search federal dockets and filings"
method: POST
path: "/legal/v1/docket"
tags: ["Legal"]
---

# Search federal dockets and filings

`POST /legal/v1/docket`

Search federal court dockets or retrieve a specific docket with optional filing entries. Use legal.listCourts() to resolve court slugs for filtering.

## Request body

- object
  - `type` 'search' | 'lookup', required — Search dockets or look up a docket by ID
  - `query` string — Case name or party name search query (required for search)
  - `court` string — Optional court slug for filtering (e.g. "nysd", "ca9", "cafc"). Use legal.listCourts() to find slugs.
  - `dateFiledAfter` string, date — Optional lower bound for filing date (YYYY-MM-DD)
  - `dateFiledBefore` string, date — Optional upper bound for filing date (YYYY-MM-DD)
  - `docketId` string — Docket ID (required for lookup)
  - `includeEntries` boolean — Include docket entries/filings in lookup responses.
  - `live` boolean — Trigger a live PACER fetch for dockets not yet in the RECAP archive. Requires acknowledgePacerFees: true. PACER charges up to $3.00 per docket sheet plus a $0.05 service fee. Only valid with type: "lookup".
  - `acknowledgePacerFees` boolean — Required when live: true. Acknowledges that PACER fees (up to $3.00 per docket) plus a $0.05 service fee will be charged to your account.
  - `limit` integer — Page size for search results or entry list (default 25 for search, 50 for lookup)
  - `offset` integer — Offset for search results or entry list

## Response `200`

Docket query completed successfully

- object
  - `type` 'search' | 'lookup'
  - `query` string, nullable — Echo of search query (search mode only)
  - `court` string, nullable — Echo of court filter (search mode only)
  - `dateFiledAfter` string, date, nullable — Echo of date filter
  - `dateFiledBefore` string, date, nullable — Echo of date filter
  - `found` integer
  - `dockets` object[] — Search results (search mode)
    - `id` string
    - `caseName` string, nullable
    - `docketNumber` string, nullable
    - `court` string, nullable
    - `courtId` string, nullable
    - `dateFiled` string, date, nullable
    - `dateTerminated` string, date, nullable
    - `cause` string, nullable
    - `natureOfSuit` string, nullable
    - `parties` string[]
    - `assignedTo` string, nullable
    - `url` string
    - `pacerCaseId` string, nullable
  - `includeEntries` boolean — Whether entries were requested (lookup mode only)
  - `docket` object, nullable — Full docket record (lookup mode)
    - `id` string
    - `caseName` string, nullable
    - `docketNumber` string, nullable
    - `court` string, nullable
    - `courtId` string, nullable
    - `dateFiled` string, date, nullable
    - `dateTerminated` string, date, nullable
    - `cause` string, nullable
    - `natureOfSuit` string, nullable
    - `parties` string[]
    - `assignedTo` string, nullable
    - `url` string
    - `pacerCaseId` string, nullable
  - `entries` object[], nullable — Docket entries/filings (lookup mode with includeEntries)
    - `entryNumber` integer, nullable
    - `date` string, date, nullable
    - `description` string, nullable
    - `documents` object[]
      - `id` string
      - `documentNumber` string, nullable
      - `attachmentNumber` integer, nullable
      - `description` string, nullable
      - `pdfUrl` string, nullable
      - `pageCount` integer, nullable
      - `isAvailable` boolean
  - `pagination` object, nullable — Pagination info for entry list (lookup mode with includeEntries)
    - `limit` integer
    - `offset` integer
    - `returned` integer
  - `live` boolean — Whether this was a live PACER fetch (lookup mode only)
  - `pacerFees` object, nullable — PACER fee information (present when live: true)
    - `serviceFee` number — CaseMark service fee in USD
    - `maxPacerCost` number — Maximum PACER charge per docket in USD
    - `currency` 'USD'
    - `fetchDurationMs` integer — Time taken for PACER fetch in milliseconds

## Other responses

- `400` — Bad request - invalid parameters
- `401` — Unauthorized - invalid API key
- `403` — Forbidden - insufficient permissions
- `404` — Docket not found
- `429` — Too many requests - daily PACER spend cap exceeded
- `502` — Bad gateway - upstream provider error
- `503` — Service unavailable - docket data source not configured

---

[API](https://skmtc.net/casemark/apis/case-dev-api.md) · [All operations](https://skmtc.net/casemark/apis/case-dev-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/casemark/case-dev-api/revisions/5b7e64e6d6f9/schema)
