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

# Search cases across district, high, and supreme courts

> Full-text search across all court types. At least one of litigant, petitioner, respondent, advocate, judge, filingNumber, or firNumber is required. Combine multiple filters to narrow results.



## OpenAPI

````yaml post /case-search
openapi: 3.0.3
info:
  title: NeevLegal API
  description: >-
    The NeevLegal REST API provides structured, programmatic access to Indian
    court case data. Search cases, retrieve full case records by CNR number, and
    explore the court directory across district courts, high courts, and the
    Supreme Court of India.
  version: 1.0.0
servers:
  - url: https://api-neevlegal.neeved.com/api/v1
    description: Version 1
security: []
tags:
  - name: Case Detail
    description: Retrieve the complete case record for one or more CNR numbers.
  - name: Case Search
    description: >-
      Search across district courts, high courts, and the Supreme Court by party
      name, advocate, judge, FIR number, or other criteria.
  - name: Court Structure
    description: >-
      Browse the Indian court directory — states, districts, court complexes,
      and individual courts.
paths:
  /case-search:
    post:
      tags:
        - Case Search
      summary: Search cases across district, high, and supreme courts
      description: >-
        Full-text search across all court types. At least one of litigant,
        petitioner, respondent, advocate, judge, filingNumber, or firNumber is
        required. Combine multiple filters to narrow results.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                litigant:
                  type: string
                  description: >-
                    Search by name on either side of the case. Minimum 3
                    characters.
                  minLength: 3
                petitioner:
                  type: string
                  description: >-
                    Search by petitioner or applicant name. Minimum 3
                    characters.
                  minLength: 3
                respondent:
                  type: string
                  description: >-
                    Search by respondent or defendant name. Minimum 3
                    characters.
                  minLength: 3
                advocate:
                  type: string
                  description: >-
                    Search by advocate name appearing for any party. Minimum 3
                    characters.
                  minLength: 3
                judge:
                  type: string
                  description: Search by presiding judge name. Minimum 2 characters.
                  minLength: 2
                filingNumber:
                  type: string
                  description: >-
                    Search by the provisional filing number assigned at
                    submission.
                caseType:
                  type: string
                  description: Filter by court case type code — for example, CS, WP, or CC.
                year:
                  type: integer
                  description: Filter by the year in which the case was filed.
                firNumber:
                  type: string
                  description: Search criminal cases by FIR number.
                policeStation:
                  type: string
                  description: Filter criminal cases by police station name.
                state:
                  type: string
                  description: >-
                    Limit results to a specific state using its state code — for
                    example, MH.
                district:
                  type: string
                  description: >-
                    Limit results to a specific district using its district
                    code.
                status:
                  type: string
                  description: Filter by case lifecycle state.
                  enum:
                    - pending
                    - disposed
                    - all
                filingDateFrom:
                  type: string
                  description: >-
                    Return only cases filed on or after this date. Format:
                    DD-MM-YYYY.
                filingDateTo:
                  type: string
                  description: >-
                    Return only cases filed on or before this date. Format:
                    DD-MM-YYYY.
                decisionDateFrom:
                  type: string
                  description: >-
                    Return only cases decided on or after this date. Format:
                    DD-MM-YYYY.
                decisionDateTo:
                  type: string
                  description: >-
                    Return only cases decided on or before this date. Format:
                    DD-MM-YYYY.
                sortBy:
                  type: string
                  description: Field to sort results by.
                  enum:
                    - year
                    - filingDate
                    - registrationDate
                    - decisionDate
                sortOrder:
                  type: string
                  description: Sort direction.
                  enum:
                    - asc
                    - desc
                page:
                  type: integer
                  description: Page number to retrieve, starting from 1.
                  minimum: 1
                  example: 1
                perPage:
                  type: integer
                  description: Number of results per page. Maximum 50.
                  minimum: 1
                  maximum: 50
                  example: 10
      responses:
        '200':
          description: Paginated search results
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  response:
                    type: object
                    properties:
                      totalCount:
                        type: number
                        description: >-
                          Total number of cases matching the query across all
                          pages.
                        example: 42
                      page:
                        type: number
                        description: The page number returned in this response.
                        example: 1
                      limit:
                        type: number
                        description: The page size used for this response.
                        example: 10
                      pages:
                        type: number
                        description: Total number of pages available for this query.
                        example: 5
                      cases:
                        type: array
                        description: >-
                          Case summary records for this page. Each item is a
                          lightweight case record suitable for list views and
                          monitoring dashboards.
                        items:
                          type: object
                          properties:
                            cnrNumber:
                              type: string
                              description: >-
                                The 16-character CNR identifier. Use this to
                                fetch the full case record via Case Detail.
                              example: MHPN010123456789
                            caseStatus:
                              type: string
                              description: Current lifecycle state of the case.
                              enum:
                                - Pending
                                - Disposed
                              example: Pending
                            court:
                              type: object
                              description: >-
                                The court where this case is filed. Use these
                                identifiers to drill into the court directory
                                via the Court Structure endpoints.
                              properties:
                                stateName:
                                  type: string
                                  description: Full state name.
                                  example: Maharashtra
                                stateCode:
                                  type: string
                                  description: Two-letter state code.
                                  example: MH
                                districtName:
                                  type: string
                                  description: Full district name.
                                  example: Pune
                                districtCode:
                                  type: string
                                  description: District code.
                                  example: PUNE
                                courtName:
                                  type: string
                                  nullable: true
                                  description: Name of the individual court or bench.
                                  example: Civil Court, Pune
                              required:
                                - stateName
                                - stateCode
                                - districtName
                                - districtCode
                                - courtName
                            petitioners:
                              type: array
                              description: Parties on the filing side of the case.
                              items:
                                type: object
                                properties:
                                  partyName:
                                    type: string
                                    nullable: true
                                    description: Full name of the party.
                                    example: John Doe
                                  advocateName:
                                    type: string
                                    nullable: true
                                    description: Advocate representing this party.
                                required:
                                  - partyName
                                  - advocateName
                            respondents:
                              type: array
                              description: Parties on the opposing side of the case.
                              items:
                                type: object
                                properties:
                                  partyName:
                                    type: string
                                    nullable: true
                                    description: Full name of the party.
                                  advocateName:
                                    type: string
                                    nullable: true
                                    description: Advocate representing this party.
                                required:
                                  - partyName
                                  - advocateName
                            nextHearingDate:
                              type: string
                              nullable: true
                              description: >-
                                Next scheduled hearing date. Format: DD-MM-YYYY.
                                Use to drive calendar alerts.
                            nextHearingPurpose:
                              type: string
                              nullable: true
                              description: >-
                                Purpose for which the case is listed at the next
                                hearing.
                            caseType:
                              type: string
                              description: Court case type code.
                              example: CS
                            caseNumber:
                              type: string
                              description: Display case number in Type/Serial/Year format.
                              example: CS/12/2023
                            filingDate:
                              type: string
                              description: >-
                                Date the case was submitted to the court.
                                Format: DD-MM-YYYY.
                              example: 01-01-2023
                            year:
                              type: number
                              nullable: true
                              description: Year in which the case was filed.
                              example: 2023
                            filingNumber:
                              type: string
                              nullable: true
                              description: Provisional number assigned at submission.
                            registrationNumber:
                              type: string
                              nullable: true
                              description: >-
                                Official number assigned when the court
                                registered the case.
                            registrationDate:
                              type: string
                              nullable: true
                              description: >-
                                Date the case was formally registered. Format:
                                DD-MM-YYYY.
                            decisionDate:
                              type: string
                              nullable: true
                              description: Date the case was decided. Null when Pending.
                            natureOfDisposal:
                              type: string
                              nullable: true
                              description: >-
                                How the case was concluded. Present only when
                                Disposed.
                            category:
                              type: string
                              nullable: true
                              description: Subject category assigned by the court registry.
                          required:
                            - cnrNumber
                            - caseStatus
                            - court
                            - petitioners
                            - respondents
                            - nextHearingDate
                            - nextHearingPurpose
                            - caseType
                            - caseNumber
                            - filingDate
                            - year
                            - filingNumber
                            - registrationNumber
                            - registrationDate
                            - decisionDate
                            - natureOfDisposal
                            - category
                    required:
                      - totalCount
                      - page
                      - limit
                      - pages
                      - cases
                required:
                  - success
                  - response
        '400':
          description: Validation error or missing required search parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - apiKeyAuth: []
components:
  schemas:
    ErrorResponse:
      type: object
      description: Standard error envelope returned on all non-2xx responses.
      properties:
        success:
          type: boolean
          description: Always false for error responses.
          example: false
        message:
          type: string
          description: Human-readable description of what went wrong.
          example: API key not found or has been revoked.
        moreInfo:
          type: string
          description: Additional context when available.
          example: No additional info found.
      required:
        - success
        - message
        - moreInfo
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````

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