CourtListener People API

The People API from CourtListener — 2 operation(s) for people.

OpenAPI Specification

court-listener-people-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: CourtListener REST Alerts People 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: People
paths:
  /api/rest/v4/people/:
    get:
      summary: List People
      description: Judge and attorney records
      operationId: listPeople
      tags:
      - People
      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 people
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
  /api/rest/v4/people/{id}/:
    get:
      summary: Retrieve People
      description: Retrieve a single people by ID
      operationId: retrievePeople
      tags:
      - People
      parameters:
      - name: id
        in: path
        required: true
        description: Unique identifier for the people
        schema:
          type: integer
      - $ref: '#/components/parameters/format'
      responses:
        '200':
          description: Single people record
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Person'
        '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
  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
  schemas:
    Person:
      type: object
      description: Judge or attorney person record
      properties:
        id:
          type: integer
        resource_uri:
          type: string
          format: uri
        date_created:
          type: string
          format: date-time
        date_modified:
          type: string
          format: date-time
        date_completed:
          type: string
          format: date
          nullable: true
        fjc_id:
          type: integer
          nullable: true
        slug:
          type: string
        name_first:
          type: string
        name_middle:
          type: string
        name_last:
          type: string
        name_suffix:
          type: string
        date_dob:
          type: string
          format: date
          nullable: true
        date_dod:
          type: string
          format: date
          nullable: true
        gender:
          type: string
        race:
          type: array
          items:
            type: string
        religion:
          type: string
        positions:
          type: array
          items:
            type: string
            format: uri
    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: {}
  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