POST/api/v1/exports

Create export

Queue a snapshots or L2 file for one market (or a day pack). Poll until ready, then download the file.

Auth required.

Try it

Loading…

POST/api/v1/exports
{
  "ticker": "KXBTC15M-26OCT051600-00",
  "format": "csv",
  "streams": ["snapshots", "settlement"]
}

Request body

FieldNotes
tickerWindow export (mutually exclusive with series+day)
series + dayDay pack; day is YYYY-MM-DD UTC
formatcsv (default), parquet, json, jsonl.gz
streamssnapshots (sampled top-of-book), settlement, and/or l2 (book arrays). Default ["snapshots","settlement"]
curl — window CSV
curl https://kalshieye.com/api/v1/exports \
  -X POST \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "content-type: application/json" \
  -d '{
    "ticker": "KXBTC15M-26OCT051600-00",
    "format": "csv",
    "streams": ["snapshots", "settlement"]
  }'
200 response
{
  "id": "ea54844a-43f6-4c3f-ba26-6407abaa7508",
  "status": "pending",
  "ticker": "KXBTC15M-26OCT051600-00",
  "format": "csv",
  "filename": "KXBTC15M-26OCT051600-00.csv",
  "bytes": 0
}

The create call returns status: pending immediately. Poll GET /api/v1/exports/{id} until ready, then GET /api/v1/exports/{id}/file with your bearer token. The file is also listed under Exports so you can download it again.