Kalshi search API

Search and filtering endpoints

OpenAPI Specification

kalshi-search-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Kalshi Trade API Manual Endpoints account search API
  version: 3.19.0
  description: Manually defined OpenAPI spec for endpoints being migrated to spec-first approach
servers:
- url: https://external-api.kalshi.com/trade-api/v2
  description: Production Trade API server
- url: https://api.elections.kalshi.com/trade-api/v2
  description: Production shared API server, also supported
- url: https://external-api.demo.kalshi.co/trade-api/v2
  description: Demo Trade API server
- url: https://demo-api.kalshi.co/trade-api/v2
  description: Demo shared API server, also supported
tags:
- name: search
  description: Search and filtering endpoints
paths:
  /search/tags_by_categories:
    get:
      operationId: GetTagsForSeriesCategories
      summary: Get Tags for Series Categories
      description: 'Retrieve tags organized by series categories.


        This endpoint returns a mapping of series categories to their associated tags, which can be used for filtering and search functionality.

        '
      tags:
      - search
      responses:
        '200':
          description: Tags retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTagsForSeriesCategoriesResponse'
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
  /search/filters_by_sport:
    get:
      operationId: GetFiltersForSports
      summary: Get Filters for Sports
      description: 'Retrieve available filters organized by sport.


        This endpoint returns filtering options available for each sport, including scopes and competitions. It also provides an ordered list of sports for display purposes.

        '
      tags:
      - search
      responses:
        '200':
          description: Filters retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetFiltersBySportsResponse'
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
components:
  schemas:
    GetFiltersBySportsResponse:
      type: object
      required:
      - filters_by_sports
      - sport_ordering
      properties:
        filters_by_sports:
          type: object
          description: Mapping of sports to their filter details
          additionalProperties:
            $ref: '#/components/schemas/SportFilterDetails'
        sport_ordering:
          type: array
          description: Ordered list of sports for display
          items:
            type: string
    GetTagsForSeriesCategoriesResponse:
      type: object
      required:
      - tags_by_categories
      properties:
        tags_by_categories:
          type: object
          description: Mapping of series categories to their associated tags
          additionalProperties:
            type: array
            items:
              type: string
    ScopeList:
      type: object
      required:
      - scopes
      properties:
        scopes:
          type: array
          description: List of scopes
          items:
            type: string
    SportFilterDetails:
      type: object
      required:
      - scopes
      - competitions
      properties:
        scopes:
          type: array
          description: List of scopes available for this sport
          items:
            type: string
        competitions:
          type: object
          description: Mapping of competitions to their scope lists
          additionalProperties:
            $ref: '#/components/schemas/ScopeList'
  securitySchemes:
    kalshiAccessKey:
      type: apiKey
      in: header
      name: KALSHI-ACCESS-KEY
      description: Your API key ID
    kalshiAccessSignature:
      type: apiKey
      in: header
      name: KALSHI-ACCESS-SIGNATURE
      description: RSA-PSS signature of the request
    kalshiAccessTimestamp:
      type: apiKey
      in: header
      name: KALSHI-ACCESS-TIMESTAMP
      description: Request timestamp in milliseconds