Kalshi events

GET https://api.api.sh/kalshi/v1/events
1 credit / call finance & crypto try it in the playground →

Kalshi events (one question with one or more strike markets): ticker, series, title, subtitle, category, strike date, mutually-exclusive flag, settlement sources and, with markets=1, each market's prices, volume and open interest. Filter by status and series. Pass next_cursor back as cursor; null on the last page.

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
status open | closed | settled | unopened | all open (default), closed, settled, unopened or all. Example: open
series string Series ticker, e.g. KXFED. Example: KXFED
markets boolean true adds each event's markets.
min_close string Only events with a market closing after this time (ISO or unix seconds).
limit integer Events per page, 1-200 (default 50).
cursor string Pass next_cursor from the previous response.

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/kalshi/v1/events?status=open" \
  -H "x-api-key: $APISH_KEY"

Response

A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).

The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.