# Vaaya CourtListener Case Search

> Vaaya CourtListener Case Search is a paid API for AI agents from vaaya.ai, paid per call via x402, $0.01/call, status healthy (last checked 2026-10-02, last successful call 2026-09-08).

Search 10M+ US court opinions via CourtListener v4, returning case names, courts, dates, citations, and links to full opinions

## Facts

- Endpoint: POST https://vaaya.ai/api/run/courtlistener/cases?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: healthy
- Last checked: 2026-10-02
- Last successful call: 2026-09-08
- Success rate: 100% of calls made through Zero
- Rating: 4.0 / 5 from 1 review
- Activations on Zero: 2
- Tags: x402
- Canonical page: https://www.zero.xyz/c/vaaya-courtlistener-case-search-e911d35f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_LLj430S3jR1bG8LspO1KI

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability vaaya-courtlistener-case-search-e911d35f -d '<json body>'
```

Example prompt: Search CourtListener for US court opinions about qualified immunity from the 9th Circuit filed after 2020-01-01, sorted by date filed descending — give me the case names, courts, dates, and links to the full opinions.

## When to prefer this

Choose this endpoint when you need to search the full CourtListener database of 10M+ US court opinions with flexible filtering by court, judge, date range, and keyword — especially when you need structured metadata (case names, courts, dates, citations, URLs) rather than full opinion text. Prefer this over general web search when you need authoritative legal case data from a known legal database.

## Known failure modes

- Invalid court identifier returns no results or an error — must use valid CourtListener court slugs (e.g. 'cand', 'ca9', 'scotus')
- Malformed date formats in filed_after/filed_before cause query failure — dates must be ISO format (YYYY-MM-DD)
- Very broad queries may return extremely large result sets requiring many paginated cursor calls
- CourtListener upstream outages or rate limits may cause failures
- Invalid cursor token causes pagination error

## How this service works

Search 10M+ US court opinions (CourtListener v4). Pass `q` + optional `court` (e.g. cand, ca9, scotus), `judge`, `filed_after`/`filed_before`, `order_by` ("dateFiled desc"), `cursor` (pagination). Returns case names, courts, dates, cites, and absolute_url links to full opinions.

## Output

A list of matching court opinion records, each containing the case name, court identifier, filing date, citation references, and an absolute URL linking to the full opinion text on CourtListener. Results support cursor-based pagination for large result sets.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "$schema": "http://json-schema.org/draft-07/schema#",
     "required": [
      "q"
     ],
     "properties": {
      "q": {
       "type": "string",
       "minLength": 1
      },
      "court": {
       "type": "string"
      },
      "judge": {
       "type": "string"
      },
      "cursor": {
       "type": "string"
      },
      "order_by": {
       "type": "string"
      },
      "case_name": {
       "type": "string"
      },
      "party_name": {
       "type": "string"
      },
      "filed_after": {
       "type": "string",
       "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
      },
      "filed_before": {
       "type": "string",
       "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
      },
      "docket_number": {
       "type": "string"
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    },
    "pathParams": {
     "type": "object"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/vaaya-courtlistener-case-search-e911d35f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from vaaya.ai](https://www.zero.xyz/host/vaaya.ai/llms.txt)
