Esports data API
KashRock is a DaaS for esports books and apps. One key, one ID system, live ingested props, historical quote tape, and settled results. Base URL https://kashrock.up.railway.app.
Live board
Normalized props from PrizePicks, Underdog, Dabble, Sleeper, Betr, Boom, Pick6, plus Thunderpick, Kalshi, and Polymarket mainlines.
Consensus lines
GET /{sport}/lines de-vigs Thunderpick + Kalshi + Polymarket into one fair probability and gated edges. Hobby plan.
Schedule
Fixtures and matches for CS2, Valorant, LoL, Dota 2, COD, R6, MLBB, and Deadlock.
Research
One player, one market: live line, series totals, coverage, and settled outcomes.
Settlement
Hit / miss / push on the same canonical stat_type you received on the board.
Quick start
HTTPS only. Pass your key on every /v6 request.
curl -H "X-API-Key: YOUR_API_KEY" \ "https://kashrock.up.railway.app/v6/esports/cs2/props"
{
"propId": "kr_prop_883ba7a1e090",
"eventId": "kr_ev_d9410a855f83",
"offerId": "kr_prop_883ba7a1e090_6_over",
"book_name": "Betr",
"player_name": "mezii",
"stat_type": "CS2_HEADSHOTS_MAPS_1_2",
"line": 14.5,
"direction": "over",
"team": "Team Vitality",
"opponent": "Lynn Vision Gaming",
"event_time": "2026-08-16T13:55:00.000Z"
}Authentication
Create keys in the Console. Send either header:
X-API-Key: YOUR_API_KEYAuthorization: Bearer YOUR_API_KEY
Keep keys server-side. Do not ship them in browsers or public repos.
Sports
Use the slug in the path as {sport}.
cs2valorantloldota2codr6mlbbdeadlockID system
Every prop row carries five IDs. Use the kr_ fields to join books.
| Field | Layer | Purpose |
|---|---|---|
| eventId | Match | Same game across every book. |
| propId | Market | Player + stat + line. Shared by over and under. |
| offerId | Selection | One book × direction. Use this on a bet slip. |
| source_event_id | Provider | Raw event id from the book. |
| source_prop_id | Provider | Raw prop id from the book. |
Errors
JSON body with a detail string.
| Status | Meaning |
|---|---|
| 401 | Missing or invalid API key. |
| 403 | Key is not allowed on this route. |
| 404 | No tape or player for that query. |
| 409 | More than one player matches the name. |
| 422 | Bad or missing parameter. |
| 429 | Rate limited. Back off and retry. |
| 503 | Vault or cache unavailable. Retry. |