---
title: "List Kalshi markets"
method: GET
path: "/v1/kalshi/markets"
tags: ["Kalshi"]
---

# List Kalshi markets

`GET /v1/kalshi/markets`

## Request

- Base URL: `https://api.scrapeatlas.com`
- URL: `https://api.scrapeatlas.com/v1/kalshi/markets`
- Auth: API key in header `x-api-key`

List Kalshi markets with prices, volume and settlement fields. Filter by event, series, tickers, status and close time. Auto-generated combo markets are excluded unless you set combos to include or only. Page with cursor. Each successful request costs 1 account credit, including partial results. Failed requests cost 0 credits.

## Query parameters

- `event` string
- `series` string
- `tickers` string
- `status` 'unopened' | 'open' | 'paused' | 'closed' | 'settled'
- `closesAfter` union
  - number
  - string
- `closesBefore` union
  - number
  - string
- `combos` 'exclude' | 'include' | 'only'
- `cursor` string
- `limit` string

## Response `200`

Inspect the response status and failure or coverage fields.

- union
  - object
    - `requestId` string, uuid, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `success` true, required
    - `status` 'success' | 'partial', required
    - `sourceUrl` string, uri, required
    - `fetchedAt` string, date-time, required
    - `coverage` object, required
      - `source` 'public_api', required
      - `complete` boolean, required
      - `warnings` string[], required
      - `order` 'newest_first' | 'oldest_first' | 'ranked' | 'relevance' | 'source_order', required
      - `window` object
        - `since` string, date-time
        - `until` string, date-time
    - `markets` object[], required
      - `ticker` string, required
      - `event_ticker` string, required
      - `market_type` string, required
      - `title` string
      - `subtitle` string
      - `yes_sub_title` string, required
      - `no_sub_title` string, required
      - `created_time` string, required
      - `updated_time` string, required
      - `open_time` string, required
      - `close_time` string, required
      - `expected_expiration_time` string, nullable
      - `expiration_time` string
      - `latest_expiration_time` string, required
      - `settlement_timer_seconds` integer, required
      - `status` string, required
      - `yes_bid_dollars` string, required
      - `yes_bid_size_fp` string, required
      - `yes_ask_dollars` string, required
      - `yes_ask_size_fp` string, required
      - `no_bid_dollars` string, required
      - `no_ask_dollars` string, required
      - `last_price_dollars` string, required
      - `volume_fp` string, required
      - `volume_24h_fp` string, required
      - `result` string, required
      - `can_close_early` boolean, required
      - `open_interest_fp` string, required
      - `notional_value_dollars` string, required
      - `previous_yes_bid_dollars` string, required
      - `previous_yes_ask_dollars` string, required
      - `previous_price_dollars` string, required
      - `settlement_value_dollars` string, nullable
      - `settlement_ts` string, nullable
      - `settlement_bounds_type` string
      - `settlement_floor_dollars` string, nullable
      - `expiration_value` string, required
      - `occurrence_datetime` string, nullable
      - `fee_waiver_expiration_time` string, nullable
      - `early_close_condition` string, nullable
      - `strike_type` string
      - `floor_strike` number, nullable
      - `cap_strike` number, nullable
      - `functional_strike` string, nullable
      - `custom_strike` object, nullable
      - `rules_primary` string, required
      - `rules_secondary` string, required
      - `mve_collection_ticker` string
      - `mve_selected_legs` object[]
        - `event_ticker` string
        - `market_ticker` string
        - `side` string
      - `primary_participant_key` string, nullable
      - `price_level_structure` string, required
      - `price_ranges` object[], required
        - `start` string, required
        - `end` string, required
        - `step` string, required
      - `is_provisional` boolean
      - `exchange_index` integer
    - `nextCursor` string, nullable, required
  - object
    - `requestId` string, uuid, required
    - `accounting` object, required
      - `upstreamRequests` integer, required
      - `responseBytes` integer, required
      - `durationMs` number, required
    - `success` false, required
    - `status` 'failed' | 'challenged', required
    - `failure` object, required
      - `code` 'invalid_request' | 'unauthorized' | 'not_found' | 'upstream_challenged' | 'upstream_rate_limited' | 'upstream_error' | 'unsupported_page' | 'response_too_large' | 'unsafe_redirect' | 'request_limit' | 'timeout' | 'busy' | 'payload_too_complex', required
      - `message` string, required

## Other responses

- `400`: Request could not complete; inspect error or failure.code.
- `401`: Request could not complete; inspect error or failure.code.
- `402`: Request could not complete; inspect error or failure.code.
- `403`: Request could not complete; inspect error or failure.code.
- `404`: Request could not complete; inspect error or failure.code.
- `408`: Request could not complete; inspect error or failure.code.
- `413`: Request could not complete; inspect error or failure.code.
- `429`: Request could not complete; inspect error or failure.code.
- `500`: Request could not complete; inspect error or failure.code.
- `502`: Request could not complete; inspect error or failure.code.
- `503`: Request could not complete; inspect error or failure.code.
- `504`: Request could not complete; inspect error or failure.code.

---

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