CourtListener API: Search federal dockets by party
Finds federal RECAP dockets involving a named person or company, newest filed first. Only dockets in the RECAP Archive appear.
Unofficial. Not affiliated with or endorsed by CourtListener.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Page optional
page Page of cases, e.g. 2.
1 (default)
Whole number from 1 to 10.
- Court optional
court Federal court in words, e.g. Northern District of California or Delaware bankruptcy. All federal courts if omitted.
Northern District of California
Default
.- Party, required
party Company or person to find, e.g. Tesla.
Tesla
- Filed After optional
filed_after Earliest filing date, e.g. 2024-01-01.
2024-01-01
- Max Results optional
max_results Cases to return, e.g. 20.
3
Whole number from 1 to 50. Default
20.- Filed Before optional
filed_before Latest filing date, e.g. 2024-12-31.
2024-12-31
Input as JSON
{ "court": "Northern District of California", "party": "Tesla", "filed_after": "2024-01-01", "max_results": 3, "filed_before": "2024-12-31"}Output
{ "cases": [ { "cause": "28:1332 Diversity-Breach of Contract", "court": "District Court, N.D. California", "status": "open", "case_name": "Rosales v. Tesla Motors Inc.", "date_filed": "2024-12-11", "docket_link": "https://www.courtlistener.com/docket/69459066/rosales-v-tesla-motors-inc/" , "docket_number": "3:24-cv-08973", "assigned_judge": "Trina L Thompson", "nature_of_suit": "Contract: Other", "date_terminated": null, "latest_docket_entries": [ { "date": "2025-03-19", "text": "Case Referred to Private ADR" }, { "date": "2025-03-19", "text": "Order Referring Case to Magistrate Judge for Discovery" }, { "date": "2025-03-19", "text": "Case Management Scheduling Order AND Order Referring Case to Private ADR AND ~Util - Set Deadlines/Hearings" } ] }, { "cause": "28:1332 Diversity-Product Liability", "court": "District Court, N.D. California", "status": "open", "case_name": "Mendoza v. Tesla, Inc.", "date_filed": "2024-12-04", "docket_link": "https://www.courtlistener.com/docket/69437572/mendoza-v-tesla-inc/" , "docket_number": "3:24-cv-08738", "assigned_judge": "Vince Girdhari Chhabria", "nature_of_suit": "Personal Injury Product Liability", "date_terminated": null, "latest_docket_entries": [ { "date": "2025-05-16", "text": "ORDER Granting in Part and Denying in Part 12 Motion for Judgment on the Pleadings. Signed by Judge Vince Chhabria on 5/16/2025. (vclc1, COURT STAFF) (Filed on 5/16/2025) (Entered: 05/16/2025)" }, { "date": "2025-04-24", "text": "Minute Entry for proceedings held before Judge Vince Chhabria: Motion Hearing held via Zoom on 4/24/2025 re 12 MOTION for Judgment on the Pleadings filed by Tesla, Inc. Oral arguments made and heard. Court to issue written ruling. Total Time in Court: 11 minutes. Court Reporter: April Brott. Plainti…" }, { "date": "2025-04-23", "text": "CLERK'S NOTICE CONTINUING TIME RE 4/24//2025 MOTION HEARING, PROVIDING ZOOM ACCESS, AND REQUIRING ADVANCE REGISTRATION OF COUNSEL. 12 MOTION for Judgment on the Pleadings Hearing set for 4/24/2025 at 03:00 PM by Videoconference Only before Judge Vince Chhabria. This proceeding will be held via a Zoo…" } ] }, { "cause": "28:1332 Diversity-(Citizenship)", "court": "District Court, N.D. California", "status": "open", "case_name": "Lewis v. Tesla, Inc.", "date_filed": "2024-11-20", "docket_link": "https://www.courtlistener.com/docket/69393780/lewis-v-tesla-inc/" , "docket_number": "3:24-cv-08178", "assigned_judge": "Araceli Martinez-Olguin", "nature_of_suit": "Civil Rights: Jobs", "date_terminated": null, "latest_docket_entries": [ { "date": "2024-12-31", "text": "Order Reassigning Case AND ~Util - Case Assigned/Reassigned" }, { "date": "2024-12-18", "text": "Clerk's Notice re: Consent or Declination" }, { "date": "2024-12-13", "text": "Compel" } ] } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"courtlistener.com/search_federal_dockets","input":{"court":"Northern District of California","party":"Tesla","filed_after":"2024-01-01","max_results":3,"filed_before":"2024-12-31"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "courtlistener.com/search_federal_dockets" , "input": { "court": "Northern District of California", "party": "Tesla", "filed_after": "2024-01-01", "max_results": 3, "filed_before": "2024-12-31" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "courtlistener.com/search_federal_dockets" , "input": { "court": "Northern District of California", "party": "Tesla", "filed_after": "2024-01-01", "max_results": 3, "filed_before": "2024-12-31" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run courtlistener.com/search_federal_dockets# with {"court":"Northern District of California","party":"Tesla","filed_after":"2024-01-01","max_results":3,"filed_before":"2024-12-31"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "party" ], "properties": { "page": { "type": "integer", "default": 1, "maximum": 10, "minimum": 1, "description": "Page of cases, e.g. 2." }, "court": { "type": "string", "default": "", "description": "Federal court in words, e.g. Northern District of California or Delaware bankruptcy. All federal courts if omitted." }, "party": { "type": "string", "description": "Company or person to find, e.g. Tesla." }, "filed_after": { "type": "string", "description": "Earliest filing date, e.g. 2024-01-01." }, "max_results": { "type": "integer", "default": 20, "maximum": 50, "minimum": 1, "description": "Cases to return, e.g. 20." }, "filed_before": { "type": "string", "description": "Latest filing date, e.g. 2024-12-31." } }}Output schema
{ "type": "object", "required": [ "cases" ], "properties": { "cases": { "type": "array", "items": { "type": "object", "required": [ "case_name", "court", "docket_number", "date_filed", "date_terminated", "status", "nature_of_suit", "cause", "assigned_judge", "latest_docket_entries", "docket_link" ], "properties": { "cause": { "type": [ "string", "null" ] }, "court": { "type": [ "string", "null" ] }, "status": { "enum": [ "open", "closed" ], "type": "string" }, "case_name": { "type": [ "string", "null" ] }, "date_filed": { "type": "string", "format": "date" }, "docket_link": { "type": [ "string", "null" ] }, "docket_number": { "type": [ "string", "null" ] }, "assigned_judge": { "type": [ "string", "null" ] }, "nature_of_suit": { "type": [ "string", "null" ] }, "date_terminated": { "type": [ "string", "null" ] }, "latest_docket_entries": { "type": "array", "items": { "type": "object", "required": [ "date", "text" ], "properties": { "date": { "type": "string", "format": "date" }, "text": { "type": "string" } }, "additionalProperties": false } } }, "additionalProperties": false }, "description": "Federal cases found in the RECAP Archive." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
courtlistener.com/search_federal_dockets- Returns
- case name, court, docket number, filed and terminated dates, status, nature of suit, cause, judge, latest docket entries, docket link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method courtlistener.com/search_federal_dockets with the inputs above.
Ask your agent
- Find federal RECAP dockets involving Acme Logistics LLC filed after 2023-06-01
- Show me the newest federal cases where Jonathan Reyes is a party, limited to the Southern District of New York
- Look up RECAP Archive dockets naming Pinnacle Biotech Inc. filed between 2022-01-01 and 2023-12-31
- Any federal bankruptcy dockets in Delaware involving Maria Okonkwo? Return 10 results.
- Search courtlistener.com for federal dockets with Northstar Energy Holdings as a party, page 2 of results
See more
All CourtListener methodsSearches CourtListener US court opinions by keywords or case name, with optional court, decision dates and sorting.
courtlistener.com/search_case_lawFinds a US court opinion on CourtListener by case name, citation, or opinion link, and returns its metadata, opinions, judges, citing-case count and the lead opinion's full text from its PDF.
courtlistener.com/get_court_opinionSearches UK court judgments and tribunal decisions on Find Case Law by keywords or party names. Results can be filtered by court and by judgment date.
caselaw.nationalarchives.gov.uk/search_judgmentsLists Oyez Supreme Court cases for a term, sorted by argument date then name. Decision dates and vote splits are blank where Oyez does not provide them.
oyez.org/list_term_casesFinds an Oyez Supreme Court case by name or case link and returns its summary, decision, justice votes and argument audio links.
oyez.org/get_supreme_court_caseFinds a public company by name or ticker in SEC EDGAR and lists its filings, newest first, optionally narrowed by filing type and filing date.
sec.gov/get_company_filingsFinds SEC EDGAR company filings that mention an exact phrase, optionally limited to a company, a filing category and a filing date range, ranked by search relevance; one entry per filing.
sec.gov/search_filingsLists a UK company's Companies House filings, newest first, with date, form code, type, description, page count and PDF link. Finds the company by name, company number or Companies House link; a category picks accounts, confirmation statements, officers, address, capital, charges or incorporation filings.
find-and-update.company-information.service.gov.uk/list_filing_history