Get a key

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.

cURLGET
curl -H "X-API-Key: YOUR_API_KEY" \
  "https://kashrock.up.railway.app/v6/esports/cs2/props"
200 · live prop
{
  "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_KEY
  • Authorization: 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}.

cs2valorantloldota2codr6mlbbdeadlock

ID system

Every prop row carries five IDs. Use the kr_ fields to join books.

FieldLayerPurpose
eventIdMatchSame game across every book.
propIdMarketPlayer + stat + line. Shared by over and under.
offerIdSelectionOne book × direction. Use this on a bet slip.
source_event_idProviderRaw event id from the book.
source_prop_idProviderRaw prop id from the book.

Errors

JSON body with a detail string.

StatusMeaning
401Missing or invalid API key.
403Key is not allowed on this route.
404No tape or player for that query.
409More than one player matches the name.
422Bad or missing parameter.
429Rate limited. Back off and retry.
503Vault or cache unavailable. Retry.