> ## Documentation Index
> Fetch the complete documentation index at: https://docs.courtrules.app/llms.txt
> Use this file to discover all available pages before exploring further.

# List Courts

> Returns every court we map, with coverage status

Returns every court we map: federal district courts and state trial courts, with circuit, state, coverage status, and roster size. The full list (about 1,050 courts) comes back in one response.

Courts with `status: live` have rules you can read with [`/rules`](/api-reference/rules) and [`/extracted-rules`](/api-reference/extracted-rules). Any valid API key can query any court.

<RequestExample>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl 'https://api.courtrules.app/api/v1/courts' \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import requests

  resp = requests.get(
      "https://api.courtrules.app/api/v1/courts",
      headers={"Authorization": "Bearer YOUR_API_KEY"},
  )
  live = [c for c in resp.json()["courts"] if c["status"] == "live"]
  ```

  ```typescript Node.js theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const resp = await fetch("https://api.courtrules.app/api/v1/courts", {
    headers: { Authorization: "Bearer YOUR_API_KEY" },
  });
  const { courts } = await resp.json();
  const live = courts.filter((c) => c.status === "live");
  ```
</RequestExample>

<ResponseExample>
  ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "courts": [
      {
        "district_id": "ca-los-angeles-superior",
        "name": "Superior Court of California, County of Los Angeles",
        "circuit": null,
        "state": "California",
        "status": "live",
        "judges_mapped": 116
      },
      {
        "district_id": "edny",
        "name": "Eastern District of New York",
        "circuit": "2nd Circuit",
        "state": "New York",
        "status": "live",
        "judges_mapped": 47,
        "judges_profiled": 47
      },
      {
        "district_id": "dc-superior",
        "name": "Superior Court of the District of Columbia",
        "circuit": null,
        "state": "District of Columbia",
        "status": "coming_soon",
        "judges_mapped": 11
      }
    ],
    "meta": {
      "total_districts": 1052,
      "districts_with_data": 51,
      "total_judges_mapped": 3232
    }
  }
  ```
</ResponseExample>

## Response fields

<ResponseField name="courts" type="array">
  Array of court objects

  <Expandable title="Court object">
    <ResponseField name="district_id" type="string">
      Unique court identifier. Federal district courts use short codes (`edny`, `sdny`, `cdca`). State courts start with the state's two-letter code (`ca-los-angeles-superior`, `il-cook-circuit`).
    </ResponseField>

    <ResponseField name="name" type="string">
      Full court name
    </ResponseField>

    <ResponseField name="circuit" type="string | null">
      Federal circuit (e.g. "2nd Circuit"). `null` for state courts, which sit outside the federal circuits.
    </ResponseField>

    <ResponseField name="state" type="string | null">
      State or territory. `null` for courts not tied to one state, such as a federal court of appeals.
    </ResponseField>

    <ResponseField name="status" type="string">
      `live` or `coming_soon` (see below)
    </ResponseField>

    <ResponseField name="judges_mapped" type="integer">
      Number of current judges on the court's roster. In some state courts the roster lists departments or courtrooms rather than individual judges.
    </ResponseField>

    <ResponseField name="judges_profiled" type="integer">
      Number of judges with compliance profiles used by [`/check`](/api-reference/check). Only present for courts with compliance profiles (`edny` today).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="meta" type="object">
  <Expandable title="Meta">
    <ResponseField name="total_districts" type="integer">
      Number of courts in the list
    </ResponseField>

    <ResponseField name="districts_with_data" type="integer">
      Number of courts with rules (`status: live`)
    </ResponseField>

    <ResponseField name="total_judges_mapped" type="integer">
      Sum of `judges_mapped` across all courts
    </ResponseField>
  </Expandable>
</ResponseField>

## Status field

| Status | Meaning |
| - | - |
| `live` | Rules are available. `/judges`, `/rules`, and `/extracted-rules` return data. |
| `coming_soon` | The court is mapped, but we hold no rules for it yet. |

Compliance checks ([`/check`](/api-reference/check) and [`/classify`](/api-reference/classify)) need a compliance profile, which exists for `edny` today. Other live courts return `422` from those two endpoints.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.