CA Justice Watch Cajusticewatch API

California Justice Watch — public-data tools for AI agents researching California criminal-justice accountability.

Operations 15

GET /api/rest/search_das Search the public database of California District Attorneys with documented… #
GET /api/rest/get_da Get a full DA record by name (exact or close partial match) #
GET /api/rest/search_defenders Search the public database of California public defenders with documented case… #
GET /api/rest/get_defender Get a full defender record by Bar number id or name #
GET /api/rest/search_judges Search current California judges by name and/or court type (e #
GET /api/rest/search_officers Search the public database of California law enforcement officers with… #
GET /api/rest/get_officer Get a full officer record by name (with optional agency filter for… #
GET /api/rest/search_cjp Search the California Commission on Judicial Performance (CJP)… #
GET /api/rest/search_cjp_documents Semantic search over the full text of CJP public-discipline decisions (250 PDFs… #
GET /api/rest/search_capost Search the California POST decertification database — law enforcement officers… #
GET /api/rest/list_databases List all public databases exposed by this MCP server with their metadata (entry… #
GET /api/rest/top_das Return the top-N California DAs by editorial severity score (descending) #
GET /api/rest/top_judges Return the top-N California judges by CJP discipline severity (removal >… #
GET /api/rest/top_officers Return the top-N California law enforcement officers by editorial severity… #
GET /api/rest/list_pages Return the canonical list of pages on cajusticewatch #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cajusticewatch-com:cajusticewatch-com-cajusticewatch-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cajusticewatch-com-cajusticewatch-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: California Justice Watch Cajusticewatch API
  version: 0.1.0
  description: 'Public, read-only API for California criminal-justice accountability data: District Attorneys, public defenders, current judges, law enforcement officer misconduct, Commission on Judicial Performance discipline records (records + full-text decision PDFs), and POST decertifications. Use this OpenAPI spec to add cajusticewatch as a custom action in ChatGPT, a Perplexity Space, or any OpenAPI-aware AI agent. The same tools are also available via the canonical Model Context Protocol (MCP) endpoint at /api/mcp.'
  contact:
    name: California Justice Watch
    url: https://cajusticewatch.com
  license:
    name: Public records (CC0-equivalent). Editorial scoring CC-BY 4.0.
    url: https://cajusticewatch.com/about
servers:
- url: https://cajusticewatch.com
tags:
- name: cajusticewatch
  description: California Justice Watch — public-data tools for AI agents researching California criminal-justice accountability.
  externalDocs:
    description: MCP server documentation
    url: https://cajusticewatch.com/api/mcp
paths:
  /api/rest/search_das:
    get:
      operationId: search_das
      summary: Search the public database of California District Attorneys with documented…
      description: Search the public database of California District Attorneys with documented misconduct or controversy. Returns name, county, in-office date, misconduct type, description, source URL.
      tags:
      - cajusticewatch
      parameters:
      - name: query
        in: query
        required: false
        description: Free-text query — matched against any field
        schema:
          type: string
      - name: county
        in: query
        required: false
        description: Filter to a specific California county
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: Tool result as plain JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid arguments or upstream tool error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _error:
                    type: string
                  _code:
                    type: integer
  /api/rest/get_da:
    get:
      operationId: get_da
      summary: Get a full DA record by name (exact or close partial match)
      description: Get a full DA record by name (exact or close partial match).
      tags:
      - cajusticewatch
      parameters:
      - name: name
        in: query
        required: true
        description: DA name
        schema:
          type: string
      responses:
        '200':
          description: Tool result as plain JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid arguments or upstream tool error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _error:
                    type: string
                  _code:
                    type: integer
  /api/rest/search_defenders:
    get:
      operationId: search_defenders
      summary: Search the public database of California public defenders with documented case…
      description: Search the public database of California public defenders with documented case outcomes, failures, or systemic-context entries. Includes Bar number, county, office, score.
      tags:
      - cajusticewatch
      parameters:
      - name: query
        in: query
        required: false
        schema:
          type: string
      - name: county
        in: query
        required: false
        schema:
          type: string
      - name: status
        in: query
        required: false
        description: e.g. "Active", "Suspended"
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: Tool result as plain JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid arguments or upstream tool error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _error:
                    type: string
                  _code:
                    type: integer
  /api/rest/get_defender:
    get:
      operationId: get_defender
      summary: Get a full defender record by Bar number id or name
      description: Get a full defender record by Bar number id or name.
      tags:
      - cajusticewatch
      parameters:
      - name: id
        in: query
        required: false
        schema:
          type: string
      - name: name
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Tool result as plain JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid arguments or upstream tool error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _error:
                    type: string
                  _code:
                    type: integer
  /api/rest/search_judges:
    get:
      operationId: search_judges
      summary: Search current California judges by name and/or court type (e
      description: Search current California judges by name and/or court type (e.g., "superior", "appeal", "supreme"). Returns name + court type pairs.
      tags:
      - cajusticewatch
      parameters:
      - name: query
        in: query
        required: false
        schema:
          type: string
      - name: court_type
        in: query
        required: false
        description: '"superior", "appeal", "supreme", etc.'
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          minimum: 1
          maximum: 500
      responses:
        '200':
          description: Tool result as plain JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid arguments or upstream tool error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _error:
                    type: string
                  _code:
                    type: integer
  /api/rest/search_officers:
    get:
      operationId: search_officers
      summary: Search the public database of California law enforcement officers with…
      description: Search the public database of California law enforcement officers with documented misconduct or decertification. Includes name, agency, basis.
      tags:
      - cajusticewatch
      parameters:
      - name: query
        in: query
        required: false
        schema:
          type: string
      - name: agency
        in: query
        required: false
        description: Police department or agency name
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: Tool result as plain JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid arguments or upstream tool error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _error:
                    type: string
                  _code:
                    type: integer
  /api/rest/get_officer:
    get:
      operationId: get_officer
      summary: Get a full officer record by name (with optional agency filter for…
      description: Get a full officer record by name (with optional agency filter for disambiguation).
      tags:
      - cajusticewatch
      parameters:
      - name: name
        in: query
        required: true
        schema:
          type: string
      - name: agency
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Tool result as plain JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid arguments or upstream tool error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _error:
                    type: string
                  _code:
                    type: integer
  /api/rest/search_cjp:
    get:
      operationId: search_cjp
      summary: Search the California Commission on Judicial Performance (CJP)…
      description: 'Search the California Commission on Judicial Performance (CJP) public-discipline records — judges censured, admonished, or removed for misconduct. Source: cjp.ca.gov public decisions.'
      tags:
      - cajusticewatch
      parameters:
      - name: query
        in: query
        required: false
        description: Free-text query against any field
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: Tool result as plain JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid arguments or upstream tool error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _error:
                    type: string
                  _code:
                    type: integer
  /api/rest/search_cjp_documents:
    get:
      operationId: search_cjp_documents
      summary: Semantic search over the full text of CJP public-discipline decisions (250 PDFs…
      description: Semantic search over the full text of CJP public-discipline decisions (250 PDFs ingested). Use this for topic questions ("racial bias", "drug-related misconduct", "ex parte communications") or when you need passages, not just summary records. Returns matching passages with citations. Distinct from search_cjp (which searches the summary-record JSON).
      tags:
      - cajusticewatch
      parameters:
      - name: query
        in: query
        required: true
        description: Topic or phrase to find in the decision text
        schema:
          type: string
      - name: judge
        in: query
        required: false
        description: Optional judge-name filter (substring match)
        schema:
          type: string
      - name: year
        in: query
        required: false
        description: Optional year filter (e.g. 2020)
        schema:
          type: integer
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 5
          minimum: 1
          maximum: 20
      responses:
        '200':
          description: Tool result as plain JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid arguments or upstream tool error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _error:
                    type: string
                  _code:
                    type: integer
  /api/rest/search_capost:
    get:
      operationId: search_capost
      summary: Search the California POST decertification database — law enforcement officers…
      description: 'Search the California POST decertification database — law enforcement officers stripped of their POST certification. Source: post.ca.gov public records.'
      tags:
      - cajusticewatch
      parameters:
      - name: query
        in: query
        required: false
        schema:
          type: string
      - name: agency
        in: query
        required: false
        description: Police department or agency name
        schema:
          type: string
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: Tool result as plain JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid arguments or upstream tool error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _error:
                    type: string
                  _code:
                    type: integer
  /api/rest/list_databases:
    get:
      operationId: list_databases
      summary: List all public databases exposed by this MCP server with their metadata (entry…
      description: List all public databases exposed by this MCP server with their metadata (entry counts, last updated, descriptions).
      tags:
      - cajusticewatch
      parameters: []
      responses:
        '200':
          description: Tool result as plain JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid arguments or upstream tool error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _error:
                    type: string
                  _code:
                    type: integer
  /api/rest/top_das:
    get:
      operationId: top_das
      summary: Return the top-N California DAs by editorial severity score (descending)
      description: Return the top-N California DAs by editorial severity score (descending). Use for "worst DA" / "most-disciplined DA" / ranking questions. Optional county filter. Only manually-scored records are returned.
      tags:
      - cajusticewatch
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 25
      - name: county
        in: query
        required: false
        description: Optional county filter, e.g. "San Mateo"
        schema:
          type: string
      responses:
        '200':
          description: Tool result as plain JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid arguments or upstream tool error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _error:
                    type: string
                  _code:
                    type: integer
  /api/rest/top_judges:
    get:
      operationId: top_judges
      summary: Return the top-N California judges by CJP discipline severity (removal >…
      description: Return the top-N California judges by CJP discipline severity (removal > censure > admonishment, descending). Use for "worst judge" / "most-disciplined judge" / ranking questions.
      tags:
      - cajusticewatch
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 25
      responses:
        '200':
          description: Tool result as plain JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid arguments or upstream tool error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _error:
                    type: string
                  _code:
                    type: integer
  /api/rest/top_officers:
    get:
      operationId: top_officers
      summary: Return the top-N California law enforcement officers by editorial severity…
      description: Return the top-N California law enforcement officers by editorial severity score (descending). Use for "worst officer" / "most-disciplined officer" / ranking questions. Optional agency filter.
      tags:
      - cajusticewatch
      parameters:
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 10
          minimum: 1
          maximum: 25
      - name: agency
        in: query
        required: false
        description: Optional agency filter, e.g. "Riverside County Sheriff"
        schema:
          type: string
      responses:
        '200':
          description: Tool result as plain JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid arguments or upstream tool error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _error:
                    type: string
                  _code:
                    type: integer
  /api/rest/list_pages:
    get:
      operationId: list_pages
      summary: Return the canonical list of pages on cajusticewatch
      description: Return the canonical list of pages on cajusticewatch.com — slug, URL, label, and purpose. Use this when the user asks about features/pages/tools of the site, OR when you need to recommend a page, OR before saying "I do not have access to X" — the page may actually exist.
      tags:
      - cajusticewatch
      parameters: []
      responses:
        '200':
          description: Tool result as plain JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Invalid arguments or upstream tool error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  _error:
                    type: string
                  _code:
                    type: integer
externalDocs:
  description: MCP discovery manifest
  url: https://cajusticewatch.com/.well-known/mcp.json