---
title: "Kalshi batch market history"
method: GET
path: "/kalshi/markets/history"
tags: ["Kalshi"]
---

# Kalshi batch market history

`GET /kalshi/markets/history`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/kalshi/markets/history`
- Auth: API key in header `x-api-key`

Returns candlesticks for up to 25 Kalshi markets in one call. `market_tickers` is required, as a comma-separated list or repeated values. `start_ts` defaults to 7 days ago, `end_ts` to now and `period_interval` to 1440 minutes. Results are grouped by market. Ranges are capped at 366 days.

## Query parameters

- `market_tickers` string, required
- `start_ts` integer
- `end_ts` integer
- `period_interval` integer
- `include_latest_before_start` boolean

## Headers

- `x-api-key` string, required

## Response `200`

OK

- KalshiBatchMarketHistoryResponseDoc
  - `code` integer
  - `data` KalshiBatchMarketHistoryResponse
    - `end_ts` integer: End of the requested range, in Unix seconds.
    - `fetched_at` string: Time the data was fetched, in UTC (RFC 3339).
    - `include_latest_before_start` boolean: Whether the latest candle before `start_ts` was requested.
    - `markets` KalshiMarketHistoryResponse[]: Candlestick history for each requested market.
      - `candlesticks` KalshiMarketCandlestick[]: Price candlesticks for the market, one per period.
        - `end_period_at` string: End of the candlestick period, in UTC (RFC 3339).
        - `end_period_ts` integer: End of the candlestick period, in Unix seconds.
        - `open_interest` number: Number of contracts open at the end of the period.
        - `price` KalshiCandleOHLC
          - `close` number: Value at the end of the period, in US dollars per contract.
          - `high` number: Highest value during the period, in US dollars per contract.
          - `low` number: Lowest value during the period, in US dollars per contract.
          - `mean` number: Average value over the period, in US dollars per contract.
          - `open` number: Value at the start of the period, in US dollars per contract.
          - `previous` number: Last value from before the period, in US dollars per contract.
        - `volume` number: Number of contracts traded during the period.
        - `yes_ask` KalshiCandleOHLC
          - `close` number: Value at the end of the period, in US dollars per contract.
          - `high` number: Highest value during the period, in US dollars per contract.
          - `low` number: Lowest value during the period, in US dollars per contract.
          - `mean` number: Average value over the period, in US dollars per contract.
          - `open` number: Value at the start of the period, in US dollars per contract.
          - `previous` number: Last value from before the period, in US dollars per contract.
        - `yes_bid` KalshiCandleOHLC
          - `close` number: Value at the end of the period, in US dollars per contract.
          - `high` number: Highest value during the period, in US dollars per contract.
          - `low` number: Lowest value during the period, in US dollars per contract.
          - `mean` number: Average value over the period, in US dollars per contract.
          - `open` number: Value at the start of the period, in US dollars per contract.
          - `previous` number: Last value from before the period, in US dollars per contract.
      - `end_ts` integer: End of the requested range, in Unix seconds.
      - `fetched_at` string: Time the data was fetched, in UTC (RFC 3339).
      - `include_latest_before_start` boolean: Whether the latest candle before `start_ts` was requested.
      - `period_interval` integer: Length of each candlestick period, in minutes.
      - `series_ticker` string: Ticker of the series the market belongs to.
      - `source_url` string: URL the data was read from.
      - `start_ts` integer: Start of the requested range, in Unix seconds.
      - `ticker` string: Ticker of the Kalshi market the history is for.
    - `period_interval` integer: Length of each candlestick period, in minutes.
    - `source_url` string: URL the data was read from.
    - `start_ts` integer: Start of the requested range, in Unix seconds.
    - `tickers` string[]: Tickers of the Kalshi markets that were requested.
  - `msg` string

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `429`: Too Many Requests
- `500`: Internal Server Error
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/028417aa35bb?raw)
