CourtListener Courts API

The Courts API from CourtListener — 2 operation(s) for courts.

OpenAPI Specification

court-listener-courts-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: CourtListener REST Alerts Courts API
  description: REST API providing programmatic access to US court opinions, PACER docket data, judge records, financial disclosures, oral argument audio, citation lookup and network analysis, search alerts, and case visualizations. Operated by the Free Law Project.
  version: '4.4'
  contact:
    name: Free Law Project
    url: https://free.law/contact/
    email: info@free.law
  license:
    name: Creative Commons Attribution-ShareAlike 4.0 International
    url: https://creativecommons.org/licenses/by-sa/4.0/
  termsOfService: https://free.law/terms/
servers:
- url: https://www.courtlistener.com/api/rest/v4
  description: CourtListener REST API v4 (current)
- url: https://www.courtlistener.com/api/rest/v1
  description: CourtListener REST API v1 (legacy)
security:
- tokenAuth: []
tags:
- name: Courts
paths:
  /api/rest/v4/courts/:
    get:
      summary: List Courts
      description: US court records
      operationId: listCourts
      tags:
      - Courts
      parameters:
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/cursor'
      - $ref: '#/components/parameters/order_by'
      - name: fields
        in: query
        description: Comma-separated list of fields to include in the response
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Paginated list of courts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
  /api/rest/v4/courts/{id}/:
    get:
      summary: Retrieve Court
      description: Retrieve a single court by ID
      operationId: retrieveCourt
      tags:
      - Courts
      parameters:
      - name: id
        in: path
        required: true
        description: Unique identifier for the court
        schema:
          type: integer
      - $ref: '#/components/parameters/format'
      responses:
        '200':
          description: Single court record
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Court'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            type: object
            properties:
              detail:
                type: string
    Unauthorized:
      description: Authentication required
      content:
        application/json:
          schema:
            type: object
            properties:
              detail:
                type: string
    RateLimited:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            type: object
            properties:
              detail:
                type: string
  schemas:
    Court:
      type: object
      description: US Court record
      properties:
        id:
          type: string
        resource_uri:
          type: string
          format: uri
        pacer_court_id:
          type: integer
          nullable: true
        fjc_court_id:
          type: string
        date_modified:
          type: string
          format: date-time
        in_use:
          type: boolean
        has_opinion_scraper:
          type: boolean
        has_oral_argument_scraper:
          type: boolean
        position:
          type: number
        citation_string:
          type: string
        short_name:
          type: string
        full_name:
          type: string
        url:
          type: string
          format: uri
        start_date:
          type: string
          format: date
          nullable: true
        end_date:
          type: string
          format: date
          nullable: true
        jurisdiction:
          type: string
    PaginatedResponse:
      type: object
      description: Standard paginated list response
      properties:
        count:
          type: integer
          description: Total number of results
        next:
          type: string
          format: uri
          nullable: true
          description: URL to next page
        previous:
          type: string
          format: uri
          nullable: true
          description: URL to previous page
        results:
          type: array
          items: {}
  parameters:
    format:
      name: format
      in: query
      description: Response format (json, xml, html)
      required: false
      schema:
        type: string
        enum:
        - json
        - xml
        - html
    order_by:
      name: order_by
      in: query
      description: Field to order results by
      required: false
      schema:
        type: string
    cursor:
      name: cursor
      in: query
      description: Cursor for pagination
      required: false
      schema:
        type: string
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'Token-based authentication. Format: ''Token <your_token>'''
    basicAuth:
      type: http
      scheme: basic
    cookieAuth:
      type: apiKey
      in: cookie
      name: sessionid
externalDocs:
  description: CourtListener API Documentation
  url: https://wiki.free.law/c/courtlistener/help/api/rest/v4/overview