Kalshi Incentive Programs API

Incentive program endpoints

Operations 1

GET /incentive_programs Get Incentives #

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/kalshi:kalshi-incentive-programs-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

kalshi-incentive-programs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Kalshi Trade API Manual Endpoints Incentive Programs API
  version: 3.34.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: Incentive Programs
  description: Incentive program endpoints
paths:
  /incentive_programs:
    get:
      operationId: GetIncentivePrograms
      summary: Get Incentives
      description: List incentives with optional filters. Incentives are rewards programs for trading activity on specific markets.
      tags:
      - Incentive Programs
      parameters:
      - name: status
        in: query
        required: false
        description: Status filter. Can be "all", "active", "upcoming", "closed", or "paid_out". Default is "all".
        schema:
          type: string
          enum:
          - all
          - active
          - upcoming
          - closed
          - paid_out
      - name: type
        in: query
        required: false
        description: Type filter. Can be "all", "liquidity", "volume", "margin_maker_volume", or "margin_taker_volume". Default is "all".
        schema:
          type: string
          enum:
          - all
          - liquidity
          - volume
          - margin_maker_volume
          - margin_taker_volume
      - name: incentive_description
        in: query
        required: false
        description: Filter by exact incentive description.
        schema:
          type: string
      - name: limit
        in: query
        required: false
        description: Number of results per page. Defaults to 100. Maximum value is 10000.
        schema:
          type: integer
          minimum: 1
          maximum: 10000
      - name: cursor
        in: query
        required: false
        description: Cursor for pagination
        schema:
          type: string
      responses:
        '200':
          description: Incentive programs retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIncentiveProgramsResponse'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: Error code
        message:
          type: string
          description: Human-readable error message
        details:
          type: string
          description: Additional details about the error, if available
    FixedPointCount:
      type: string
      description: Fixed-point contract count string (2 decimals, e.g., "10.00"; referred to as "fp" in field names). Requests accept 0-2 decimal places (e.g., "10", "10.0", "10.00"); responses always emit 2 decimals. Fractional contract values (e.g., "2.50") are supported; the minimum granularity is 0.01 contracts.
      example: '10.00'
    GetIncentiveProgramsResponse:
      type: object
      required:
      - incentive_programs
      properties:
        incentive_programs:
          type: array
          items:
            $ref: '#/components/schemas/IncentiveProgram'
        next_cursor:
          type: string
          description: Cursor for pagination to get the next page of results
    IncentiveProgram:
      type: object
      required:
      - id
      - market_id
      - market_ticker
      - incentive_type
      - incentive_description
      - start_date
      - end_date
      - period_reward
      - paid_out
      properties:
        id:
          type: string
          description: Unique identifier for the incentive program
        market_id:
          type: string
          description: The unique identifier of the market associated with this incentive program
        market_ticker:
          type: string
          description: The ticker symbol of the market associated with this incentive program
        incentive_type:
          type: string
          enum:
          - liquidity
          - volume
          - margin_maker_volume
          - margin_taker_volume
          description: Type of incentive program
        incentive_description:
          type: string
          description: Plain text description of the incentive program
        start_date:
          type: string
          format: date-time
          description: Start date of the incentive program
        end_date:
          type: string
          format: date-time
          description: End date of the incentive program
        period_reward:
          type: integer
          format: int64
          description: Total reward for the period in centi-cents
        paid_out:
          type: boolean
          description: Whether the incentive has been paid out
        discount_factor_bps:
          type:
          - integer
          - 'null'
          format: int32
          description: Discount factor in basis points (optional)
        target_size_fp:
          $ref: '#/components/schemas/FixedPointCount'
          description: String representation of the target size for the incentive program (optional)
        max_reward_per_account:
          type:
          - integer
          - 'null'
          format: int64
          description: Maximum reward per account in centi-cents (optional)
  securitySchemes:
    kalshiOauthAccessToken:
      type: http
      scheme: bearer
      description: User OAuth access token with read::compliance_partner, issued to an explicitly authorized partner. Accepted only on current and historical fills and current portfolio positions endpoints; generic read and partner client-credentials tokens do not grant access.
    kalshiAccessKey:
      type: apiKey
      in: header
      name: KALSHI-ACCESS-KEY
      description: Your API key ID
    kalshiAccessSignature:
      type: apiKey
      in: header
      name: KALSHI-ACCESS-SIGNATURE
      description: Base64 signature of the pre-sign text (timestamp + method + path) made with the API key's algorithm - RSA-PSS with SHA-256 for RSA keys, Ed25519 for Ed25519 keys
    kalshiAccessTimestamp:
      type: apiKey
      in: header
      name: KALSHI-ACCESS-TIMESTAMP
      description: Request timestamp in milliseconds
x-provenance:
  method: harvested
  publisher: Kalshi
  source: https://docs.kalshi.com/openapi.yaml
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)