# CourtAPI — Federal Court Data

**Category:** ⚖️ Legal  
**Repository:** https://github.com/courtio/courtapi-mcp  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/courtapi-federal-court-data

## Description
Search and retrieve US federal court cases, dockets, claims, and documents via PACER

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "courtapi-federal-court-data": {
    "command": "npx",
    "args": ["-y","courtapi-federal-court-data"]
  }
}
```

## Documentation & README

# CourtAPI MCP Server

Search and retrieve US federal court cases, dockets, claims, and documents via PACER — directly from Claude and other MCP-compatible AI assistants.

## What it does

This MCP server exposes [CourtAPI](https://www.courtapi.com) as a set of tools that let an AI assistant:

- **Find cases** by party name, case number, or free-text keywords across all federal courts
- **Get case metadata** — title, chapter, judge, filing dates, assets/liabilities, and what sub-resources have been purchased
- **Get dockets** — full docket sheets with filing history, keyword search, and date filtering
- **Download documents** — PDFs attached to docket entries, with cost-checking before purchase
- **Get claims** — bankruptcy claims registers with creditor names, amounts, and claim types
- **Get parties** — all parties and attorneys in a case
- **Get creditors** — scheduled creditors (Schedules D/E/F), separate from filed claims
- **Search PACER NCL** — National Case Locator for cross-court party searches
- **List courts** — all ~200 PACER courts with their codes
- **Manage PACER credentials** — store and validate PACER username/password

Coverage: **all US federal courts** — bankruptcy, district, and appellate. State courts are not supported.

---

## Prerequisites

**CourtAPI account** — Get credentials (APP\_ID + APP\_KEY) at the [developer portal](https://courtapi-admin.3scale.net). A free 30-day sandbox is available (150 API calls/day, 500/month) — contact [support@courtapi.com](mailto:support@courtapi.com) to start one.

**PACER account** — Required for fetching live data (docket updates, document downloads). Register free at [pacer.uscourts.gov](https://pacer.uscourts.gov/register-account/pacer-case-search-only). PACER charges per page for documents; CourtAPI passes these fees through at cost.

---

## Installation

### Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):

```json
{
  "mcpServers": {
    "courtapi": {
      "command": "npx",
      "args": ["-y", "@courtio/courtapi-mcp"],
      "env": {
        "COURTAPI_APP_ID": "your_app_id",
        "COURTAPI_APP_KEY": "your_app_key"
      }
    }
  }
}
```

Restart Claude Desktop. The hammer icon will show CourtAPI tools listed.

### Other MCP clients

The server uses stdio transport by default, which is compatible with any MCP host. Use the same `command`/`args`/`env` pattern above.

### HTTP mode (Streamable HTTP transport)

For clients that use HTTP rather than stdio (e.g. the OpenAI Responses API remote tools):

```bash
COURTAPI_APP_ID=your_id COURTAPI_APP_KEY=your_key PORT=3000 \
  npx @courtio/courtapi-mcp --http
```

### From source

```bash
git clone https://gitlab.com/courtio/courtio.git
cd courtio/mcp/courtapi
npm install && npm run build
# then point Claude Desktop at dist/index.js instead of npx
```

### Environment variables

| Variable | Required | Description |
|---|---|---|
| `COURTAPI_APP_ID` | Yes | Your CourtAPI application ID |
| `COURTAPI_APP_KEY` | Yes | Your CourtAPI application key |
| `COURTAPI_BASE_URL` | No | Override API base URL (default: `https://v1.courtapi.com`) |

---

## Quick start

Once connected, try these prompts in Claude:

> "Find the Sbarro bankruptcy case and show me the latest docket entries"

> "Search for Chapter 11 cases filed in the Delaware bankruptcy court in 2024"

> "Get the claims register for case 1:14-bk-10557 in the SDNY bankruptcy court"

> "Set my PACER credentials to username johndoe and password mypassword"

---

## Tools

### `find_cases`
Discover cases you don't have a court code or full case number for. Pass a party/company name, partial case number, or free-text keywords. The tool automatically picks the best search endpoint:

- **Party/title search** — fast, free, good for company or person names
- **Case number search** — resolves partial or ambiguous numbers
- **Keyword search** (`search-filings`) — full-text across CourtAPI's filing repository; costs 1 API call per 25 results returned

Returns `court_code` + `case_number` pairs needed by all other tools.

### `get_case`
Get all metadata for a known case: title, chapter, judge, key dates (filed/closed/discharged), assets, liabilities, and the `menu` object. The `menu` has one entry per sub-resource (dockets, claims, parties, etc.) with a `modified` timestamp — `null` means that resource has never been purchased from PACER.

Always call this first after finding a case to check what data is already available. Free unless `include_live_pacer=true`.

### `get_dockets`
Get the docket sheet — all filings in chronological order with dates, descriptions, and attached document info. Supports keyword search and date/number range filtering.

Two useful fields on every docket entry:
- **`binder.documents`** — pre-fetched document metadata including `is_cached` and `download_cost` for each PDF, so you can check availability without a separate documents API call.
- **`annotations`** — key dates extracted from docket text (deadlines, hearings, etc.) with `key_phrase`, `datetime`, and `time_zone`. Useful for building calendar integrations without parsing docket text.

When calling with `include_live_pacer=true` to buy a fresh docket sheet from PACER, always pass `date_filed_from` to limit the purchase to entries newer than what CourtAPI already has. Omitting it buys the entire docket history — expensive for active cases.

### `get_document`
Get a PDF attached to a docket entry. Checks the cache first:
- `is_cached=true` or `download_cost="0.00"` → returns `download_url`, `preview_url`, and `ocr_link` at no cost
- Not cached + `purchase=false` (default) → returns cost info so you can decide before spending
- Not cached + `purchase=true` → buys from PACER, stores it, returns `download_url` + PACER `receipt`

`docket_seq` comes from docket entries (e.g. `"42.00000"`). `part` defaults to 1 (main document); exhibits and attachments have higher part numbers.

Once purchased, the document is cached — all subsequent GETs are free.

### `get_claims`
Get the bankruptcy claims register — all proofs of claim filed by creditors, with amounts (filed/allowed/paid), claim type, creditor names, and filing dates. Essential for Chapter 11 creditor analysis.

Filter by `claim_type` (secured, unsecured, priority, admin, etc.) and sort by claim number, filing date, or amendment date.

### `get_parties`
Get all parties in a case (debtors, creditors, plaintiffs, defendants, trustees) and optionally their attorneys with firm name, contact info, and bar number. Attorney records return `null` (not an error) when they haven't been purchased for this case — use `include_attorneys=false` to suppress the attorney fetch.

Useful for conflicts checks, service lists, and identifying who is involved in a case.

### `get_creditors`
Get scheduled creditors from bankruptcy Schedules D/E/F. This is different from `get_claims` — creditors listed here may not have filed a proof of claim. Use both to get a complete creditor picture.

### `ncl_search`
Search PACER's National Case Locator across all federal courts at once. More comprehensive than `find_cases` for party name searches because it queries PACER directly. Costs PACER credits.

Supports: name searches, SSN/TIN lookups (with last name), case number, chapter, court, and date range filters. Paginate with `search_id` from the previous response.

### `list_courts`
List all ~200 PACER courts with their court codes and names. Filter by type: `bankruptcy`, `district`, or `appellate`.

Common codes: `nysbke` (NY Southern Bankruptcy), `debke` (Delaware Bankruptcy), `ilnbke` (IL Northern Bankruptcy), `cacdbe` (CA Central Bankruptcy), `txnbke` (TX Northern Bankruptcy).

### `get_pacer_credentials`
Manage PACER credentials stored in CourtAPI. PACER credentials are required before any `include_live_pacer=true` call.

| `action` | What it does |
|---|---|
| `check` | Show the stored PACER username (password not returned) |
| `set` | Store `pacer_user` + `pacer_pass` (validates against PACER by default) |
| `validate` | Test credentials against PACER without storing |
| `delete` | Remove stored credentials |

---

## Understanding costs

CourtAPI has two independent cost layers:

**CourtAPI API credits** — charged by your CourtAPI plan. Free for: case GET lookups, party/title searches, docket GETs from cache, document GETs from cache. Costs 1 call per 25 results for keyword search (`search-filings`).

**PACER fees** — charged by the US federal courts per page. Only incurred when:
- `include_live_pacer=true` on dockets, claims, creditors, or case refresh
- `purchase=true` on `get_document`

`download_cost="0.00"` means a document is cached and free to retrieve. Always check before purchasing.

---

## Case number format

CourtAPI requires **long-form PACER case numbers**. PACER often shows short forms in its UI (e.g. `14-10557`) but the API always needs the full form.

**Non-appellate courts (district, bankruptcy):**
```
O:YY-TT-NNNNN
```
- `O` — office/division number (e.g. `1`, `2`, `3`)
- `YY` — two-digit filing year
- `TT` — case type: `bk` bankruptcy, `cv` civil, `cr` criminal, `ap` adversary proceeding
- `NNNNN` — sequence number

Example: `1:14-bk-10557` (not `14-10557`)

**Appellate courts:**
```
YY-NNNNN
```
Example: `23-1234`

If PACER shows a short form, use `find_cases` to resolve it. Always pair a case number with its `court_code` — the same sequence number can exist in multiple courts.

---

## PACER screenshots on updates

When `get_dockets` or `get_claims` fetches live data from PACER (`include_live_pacer=true`), the response includes `links.screenshot.pdf.href` — a link to a PDF screenshot of the actual PACER page that was fetched. Useful for audit and compliance verification.

---

## License

MIT — © CourtDrive. See [courtapi.com](https://www.courtapi.com) for API terms.

