search_pacer_cases
Search federal court case records from PACER by party name, court code, case type, and date range to retrieve case metadata including title, parties, court, and filing date.
Instructions
Search federal court case records from PACER. Filter by party name, court code, case type, and date range. Returns case metadata including title, parties, court, and filing date. Source: PACER, updated daily. Note: This dataset is coming soon and may not have data yet.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| party | No | Party name to search for (plaintiff or defendant) | |
| court | No | Federal court code (e.g. cacd = Central District of California, nysd = Southern District of New York, txed = Eastern District of Texas) | |
| case_type | No | Case type (e.g. civil, criminal, bankruptcy) | |
| date_from | No | Start date for filing date range (YYYY-MM-DD) | |
| date_to | No | End date for filing date range (YYYY-MM-DD) | |
| limit | No | Maximum number of results (default 25, max 100) |
Implementation Reference
- src/tools/pacer.ts:74-114 (handler)The handler function that executes the search_pacer_cases tool logic by calling the PACER API.
async ({ party, court, case_type, date_from, date_to, limit }) => { const res = await apiGet<PacerCasesResponse>("/api/v1/pacer/cases", { party, court, case_type, date_from, date_to, limit: limit ?? 25, }); if (!res.ok) { if (res.status === 404) { return { content: [ { type: "text" as const, text: "PACER dataset is not yet available. This data source is coming soon.", }, ], }; } return { content: [ { type: "text" as const, text: `API error (${res.status}): ${JSON.stringify(res.data)}`, }, ], isError: true, }; } const { count, data } = res.data; const summary = `Found ${count} PACER case(s).`; const json = JSON.stringify(data, null, 2); return { content: [{ type: "text" as const, text: `${summary}\n\n${json}` }], }; }, ); - src/tools/pacer.ts:41-72 (schema)The input schema validation for the search_pacer_cases tool.
inputSchema: { party: z .string() .optional() .describe("Party name to search for (plaintiff or defendant)"), court: z .string() .optional() .describe( "Federal court code (e.g. cacd = Central District of California, " + "nysd = Southern District of New York, txed = Eastern District of Texas)", ), case_type: z .string() .optional() .describe("Case type (e.g. civil, criminal, bankruptcy)"), date_from: z .string() .optional() .describe("Start date for filing date range (YYYY-MM-DD)"), date_to: z .string() .optional() .describe("End date for filing date range (YYYY-MM-DD)"), limit: z .number() .int() .min(1) .max(100) .optional() .describe("Maximum number of results (default 25, max 100)"), }, - src/tools/pacer.ts:32-34 (registration)The registration of the search_pacer_cases tool in the MCP server.
server.registerTool( "search_pacer_cases", {