GET/api/v1/series/{series_id}

Get series

One series the way the series page shows it: metadata, then either a day index or a page of events.

Public. Returns 404 if the series is unknown. live_n is markets still trading, counted from close time rather than the number stored when each window was first seen.

Try it

GET/api/v1/series/KXBTC15M?limit=2

Query parameters

NameNotes
dayYYYY-MM-DD UTC. On a day-cadence series, returns that day's markets instead of the day index.
statuslive, closed, or settled. Applied to markets and events, not to the day index.
qTicker or title tokens, on a day or an event list
from_ts / to_tsUnix seconds. Days that miss the range are left out of the index.
offsetPage through days, or through markets once day is set
event_offsetPage through events on an event-cadence series
limitDefault 80, max 200

Cadence

cadence: day is a repeating window (15-minute crypto). The response has days, each { "day", "markets_n" }. Pass day to get markets.

cadence: event is a list of occasions. The response has events. A series with exactly one event includes redirect_event, which is the event id the app opens directly.

curl
curl "https://kalshieye.com/api/v1/series/KXBTC15M?limit=2"
Day index
{
  "series": { "id": "KXBTC15M", "label": "Bitcoin 15 minutes", "cadence": "day", "live_n": 1 },
  "cadence": "day",
  "days": [{ "day": "2026-10-12", "markets_n": 96 }],
  "markets": [],
  "events": [],
  "has_more": true,
  "days_total": 90
}