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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/kalshi-incentive-programs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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
openapi: 3.2.0
info:
title: Kalshi Trade API Manual Endpoints account Incentive Programs 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: 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", or "volume". Default is "all".
schema:
type: string
enum:
- all
- liquidity
- 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:
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 on markets with fractional trading enabled; the minimum granularity is 0.01 contracts. Integer contract count fields are legacy and will be deprecated; when both integer and fp fields are provided, they must match.
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
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)
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
service:
type: string
description: The name of the service that generated the error
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