---
title: "Batch Get Market Candlesticks"
method: GET
path: "/markets/candlesticks"
tags: ["market"]
---

# Batch Get Market Candlesticks

`GET /markets/candlesticks`

Endpoint for retrieving candlestick data for multiple markets.

- Accepts up to 100 market tickers per request
- Returns up to 10,000 candlesticks total across all markets
- Returns candlesticks grouped by market_id
- Optionally includes a synthetic initial candlestick for price continuity (see `include_latest_before_start` parameter)

## Query parameters

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

## Response `200`

Market candlesticks retrieved successfully

- BatchGetMarketCandlesticksResponse
  - `markets` MarketCandlesticksResponse[], required — Array of market candlestick data, one entry per requested market.
    - `market_ticker` string, required — Market ticker string (e.g., 'INXD-24JAN01').
    - `candlesticks` MarketCandlestick[], required — Array of candlestick data points for the market. Includes an initial data point at the start timestamp when available.
      - `end_period_ts` integer, required — Unix timestamp for the inclusive end of the candlestick period.
      - `yes_bid` BidAskDistribution, required
        - `open_dollars` string, required — US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a given market are constrained by that market's price level structure.
        - `low_dollars` string, required — US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a given market are constrained by that market's price level structure.
        - `high_dollars` string, required — US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a given market are constrained by that market's price level structure.
        - `close_dollars` string, required — US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a given market are constrained by that market's price level structure.
      - `yes_ask` BidAskDistribution, required
        - `open_dollars` string, required — US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a given market are constrained by that market's price level structure.
        - `low_dollars` string, required — US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a given market are constrained by that market's price level structure.
        - `high_dollars` string, required — US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a given market are constrained by that market's price level structure.
        - `close_dollars` string, required — US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a given market are constrained by that market's price level structure.
      - `price` PriceDistribution, required
        - `open_dollars` string — US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a given market are constrained by that market's price level structure.
        - `low_dollars` string — US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a given market are constrained by that market's price level structure.
        - `high_dollars` string — US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a given market are constrained by that market's price level structure.
        - `close_dollars` string — US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a given market are constrained by that market's price level structure.
        - `mean_dollars` string — US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a given market are constrained by that market's price level structure.
        - `previous_dollars` string — US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a given market are constrained by that market's price level structure.
        - `min_dollars` string — US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a given market are constrained by that market's price level structure.
        - `max_dollars` string — US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a given market are constrained by that market's price level structure.
      - `volume_fp` string, required — 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.
      - `open_interest_fp` string, required — 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.

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `500` — Internal server error

---

[API](https://skmtc.net/kalshi/apis/kalshi-trade-api-manual-endpoints.md) · [All operations](https://skmtc.net/kalshi/apis/kalshi-trade-api-manual-endpoints/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kalshi/kalshi-trade-api-manual-endpoints/versions/6e6402bf667d/schema)
