Kalshi API.
Prediction-market mainlines for better models.
Quick answer: Kalshi exposes trade APIs; KashRock normalizes its esports markets into the same prop schema as DFS and sportsbooks — query GET /v6/esports/{sport}/props?book=kalshi, or read consensus on GET /v6/esports/{sport}/lines.
GET /v6/esports/{sport}/props?book=kalshi and consensus GET /v6/esports/{sport}/lines.Does Kalshi have an API?
Kalshi exposes trade APIs; KashRock normalizes its esports markets into the same prop schema as DFS and sportsbooks — query GET /v6/esports/{sport}/props?book=kalshi, or read consensus on GET /v6/esports/{sport}/lines.
What you get
- —Match/map mainlines as probabilities and American odds.
- —Same prop shape as Thunderpick and Polymarket for cross-venue joins.
- —Helps models avoid single-venue bias when sportsbook lines skew.
Endpoints
One key covers Kalshi and the other 24 books — every row comes back on the same schema, so nothing about the read is Kalshi-specific.
| Endpoint | What it returns | Key filter |
|---|---|---|
| GET /v6/esports/cs2/props?book=kalshi | Live Kalshi board, normalized to the shared prop schema | book=kalshi |
| GET /v6/esports/{sport}/lines | Consensus lines with Kalshi priced alongside the other venues | sport |
| GET /v7/meta | The registry entry for Kalshi — key, kind, and supported markets | key=kalshi |
A live Kalshi prop
A real Kalshi row from production — the same shape every other book returns, with the canonical propId that lets you line-shop across venues.
{
"source": "kashrock",
"sport": "cs2",
"props": [
{
"propId": "prop_60314492f9bf8781",
"player_name": "BOJONG",
"stat_type": "MONEYLINE",
"line": null,
"odds": 178,
"direction": "home",
"team": "BOJONG",
"book_name": "Kalshi",
"event_time": "2026-09-11T19:30:00Z"
}
]
}Kalshi via KashRock vs scraping it yourself
- —The app's internal endpoints change without notice — the normalized schema does not
- —Player, stat, line, direction, and team arrive already mapped to canonical KashRock ids
- —The same propId lines Kalshi up next to every other book for comparison
- —One API key and one auth header replace per-source session handling
Start in minutes
- —Create a free Sandbox key on Pricing — $0, no card, 500 requests every UTC day
- —Call
GET /v6/esports/cs2/props?book=kalshiwith the key in the X-API-Key header - —Filter by stat_type, player, or match — the response is the board as KashRock serves it
Quick reference
| Field | Value |
|---|---|
| Book key | book=kalshi |
| Endpoint | GET /v6/esports/cs2/props?book=kalshi |
| Row shape | propId, player_name, stat_type, line, direction, odds, team, event_time |
| Free tier | Sandbox $0 — 500 requests / UTC day |
| Consensus lines | Hobby and up, from $29/mo |
Consensus product: Esports Consensus API. Also: Polymarket API and Thunderpick API. Docs: /lines.