{
  "openapi": "3.0.1",
  "info": {
    "title": "Kalshi Markets Scraper — Prediction Market Prices & Volume",
    "description": "Kalshi prediction-market data from the official public API: yes/no bid and ask, last price, 24h change, volume, open interest, close time, event, series and category, plus optional order book and rules. Search, categories, series or tickers. $1 per 1,000 markets.",
    "version": "0.1",
    "x-build-id": "Yz5rpwOjrxssx1Ans"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/actor-forge~kalshi-markets/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-actor-forge-kalshi-markets",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/actor-forge~kalshi-markets/runs": {
      "post": {
        "operationId": "runs-sync-actor-forge-kalshi-markets",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/actor-forge~kalshi-markets/run-sync": {
      "post": {
        "operationId": "run-sync-actor-forge-kalshi-markets",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "searchTerms": {
            "title": "Search",
            "type": "array",
            "description": "Optional keywords matched against Kalshi event titles and tickers, e.g. fed, bitcoin, inflation, election, temperature. Every market of a matching event is returned.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Optional Kalshi categories, e.g. Economics, Politics, Elections, Financials, Crypto, Climate and Weather, Sports, Entertainment, Science and Technology, Companies, Commodities. Combined with Search, an event must match both.",
            "items": {
              "type": "string"
            }
          },
          "seriesTickers": {
            "title": "Series tickers",
            "type": "array",
            "description": "Optional Kalshi series tickers, e.g. KXFED, KXHIGHNY, KXBTCD, KXCPIYOY. Returns the markets of every event in the series.",
            "items": {
              "type": "string"
            }
          },
          "eventTickers": {
            "title": "Event tickers or URLs",
            "type": "array",
            "description": "Optional event tickers (e.g. KXFEDDECISION-26DEC) or kalshi.com market page URLs. A URL or ticker that names a series lists that series.",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Weather cities",
            "type": "array",
            "description": "Optional cities for Kalshi weather markets (daily high and low temperature, rain, snow), e.g. New York, Chicago, Miami, Austin, Denver, London, Paris, Tokyo. Codes such as NYC, DC, LA or ICAO airports (EGLL) also work. Daily temperature brackets come first.",
            "items": {
              "type": "string"
            }
          },
          "includeObservations": {
            "title": "Add live weather observations (METAR)",
            "type": "boolean",
            "description": "For weather markets, add the latest airport observation at the settlement station (temperature, dew point, wind, weather, raw METAR) and the high and low of the last 24 hours, from NOAA's aviationweather.gov. Indicative only: Kalshi settles on the official daily climate report.",
            "default": false
          },
          "marketTickers": {
            "title": "Market tickers",
            "type": "array",
            "description": "Optional exact market tickers, e.g. KXELONMARS-99. Returned whatever their status.",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "title": "Market status",
            "enum": [
              "open",
              "closed",
              "settled",
              "all"
            ],
            "type": "string",
            "description": "Open markets (trading now), closed markets (awaiting settlement), settled markets, or all.",
            "default": "open"
          },
          "excludeCombos": {
            "title": "Exclude combo (multivariate) markets",
            "type": "boolean",
            "description": "Skip Kalshi's auto-generated combo/parlay markets (tickers starting KXMVE), which are numerous and rarely traded.",
            "default": true
          },
          "minVolume24h": {
            "title": "Minimum 24h volume (contracts)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional: skip markets that traded fewer contracts in the last 24 hours."
          },
          "minOpenInterest": {
            "title": "Minimum open interest (contracts)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional: skip markets with less open interest."
          },
          "closeAfter": {
            "title": "Closes after",
            "type": "string",
            "description": "Optional: only markets that close on or after this date."
          },
          "closeBefore": {
            "title": "Closes before",
            "type": "string",
            "description": "Optional: only markets that close on or before this date."
          },
          "includeRules": {
            "title": "Include resolution rules",
            "type": "boolean",
            "description": "Add each market's primary and secondary rules text.",
            "default": false
          },
          "includeOrderbook": {
            "title": "Include order book",
            "type": "boolean",
            "description": "Add a snapshot of the yes and no bids (price and contracts per level). One extra request per market.",
            "default": false
          },
          "orderbookDepth": {
            "title": "Order book depth",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Price levels per side in the order book snapshot.",
            "default": 10
          },
          "maxEventPages": {
            "title": "Event pages to scan",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Search and categories scan Kalshi's event list, 200 events per page (about 85 pages cover every open event). Lower it for faster, partial searches.",
            "default": 100
          },
          "maxItems": {
            "title": "Maximum markets",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Upper limit on markets for the whole run. With no search, categories or tickers, the run lists open markets across Kalshi, newest first.",
            "default": 200
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}