KashRock
Get Started

Esports Data Analytics API

KashRock is an enterprise esports data analytics platform — normalized event schedules, market props, player game logs, outcome verification, and media with stable IDs.

Event Schedules

Upcoming, live, and completed esports event schedules with normalized data structures.

Market Props

Normalized statistical metrics and market props across all major esports titles and data providers.

Player Game Logs

Comprehensive player statistics and historical performance data.

Outcome Verification

Automated data integrity checks (verified/unmatched/push) for all statistical props with result processing.

Player headshots + team logos

High-quality media assets for all players and teams across every supported title.


Quick Start

Use any standard HTTP client to access our endpoints. All requests must be made over HTTPS.

cURLGET
curl -H "Authorization: Bearer YOUR_API_KEY" \
     "https://backend.kashrock.com/v6/esports/matches?discipline=cs2"

Authentication

KashRock uses API keys to authenticate requests. You can view and manage your API keys in theConsole.

Your API keys carry significant privileges. Please keep them secure and do not share them in publicly accessible areas such as GitHub or client-side code.

Fixtures

Retrieve live and scheduled fixtures across all supported esports disciplines.

ParamTypeDescription
sportstringOne of: cs2, valorant, lol, dota2
statusstringFilter by status: upcoming, live, finished
GET /v6/esports/cs2/fixtures200 OK
{ "source": "kashrock", "sport": "cs2", "fixtures": [ { "fixture_id": "fix_1447265", "discipline": "cs2", "status": "finished", "event_time": "2026-04-19T21:03:37Z", "competition": "CCT South America", "team1": "Vasco Esports", "team2": "UNO MILLE", "score1": 0, "score2": 2, "best_of": 3, "has_streams": true, "streams": [ { "language": "en", "raw_url": "https://kick.com/cct_cs6", "official": true } ] } ] }

Rankings

Current player rankings for a given discipline, sourced and normalized by KashRock.

ParamTypeDescription
sportstringRequired. e.g. cs2, valorant
limitintegerMax results to return (default 50)
GET /v6/esports/cs2/rankings200 OK
{ "source": "kashrock", "sport": "cs2", "rankings": [ { "rank": 1, "player_id": 3, "nickname": "s1mple", "team": "NAVI", "rating": 1.31, "maps_played": 84, "country": "UA" } ], "total": 50, "generated_at": "2026-04-20T19:00:52Z" }

Player Profile

Fetch a player's profile including team, performance rating, and social links.

ParamTypeDescription
sportstringRequired. e.g. cs2
limitintegerMax results to return
GET /v6/esports/cs2/bo3gg/players200 OK
{ "source": "kashrock", "players": [ { "player_id": 17497, "nickname": "FalleN", "first_name": "Gabriel", "last_name": "Toledo", "slug": "fallen", "team_id": 648, "rank": 86, "six_month_avg_rating": 5.51, "country_id": 14, "social": { "twitter": "@FalleNCS", "twitch": "gafallen", "instagram": "fallen" } } ] }

Props

Normalized market props across 10+ sportsbooks into a single canonical system with hit/miss tracking.

ParamTypeDescription
sportstringRequired. e.g. cs2, valorant
limitintegerMax props to return
GET /v6/esports/props?game=cs2&date=today200 OK
{ "source": "kashrock", "sport": "cs2", "props": [ { "prop_id": "kr_prop_5992b0df9d7afc33", "player_name": "fear", "stat_type": "ESPORTS_KILLS_MAPS_1_2", "prop_value": 25.5, "direction": "over", "actual_value": 28, "status": "hit", "team": "Fnatic", "opponent": "G2", "event_time": "2026-04-21T13:30:00Z", "links": { "bet": "https://app.prizepicks.com/" } } ] }

Active Markets Dictionary

An exhaustive list of all officially supported stat canonicalization mappings. Use stat_type identifiers when filtering props.

View Active Markets

ID System

Every prop response contains five IDs. Each operates at a different layer and serves a distinct purpose.

FieldExampleLayerPurpose
eventIdkr_event_dd6a...MatchCanonical ID for a game. Identical across every book offering that same match — use this to group or deduplicate by event.
propIdkr_prop_5992...MarketCanonical ID for a player market (player + stat + line). Shared by the Over and Under — use this to compare the same bet across multiple books.
offerIdkr_prop_5992..._2_overSelectionUnique per book + direction. Use this as the key when tracking a specific bet selection or building a bet slip.
source_event_idevt_646491...ProviderThe raw event ID from the upstream provider (e.g. PrizePicks, Underdog). Useful for debugging or cross-referencing against a provider's own API.
source_prop_idprop_b60b2e...ProviderThe raw prop ID from the upstream provider. Allows tracing a KashRock prop back to its original source record.

How they relate

One eventId maps to many propIds (one per player market in that match). One propId maps to many offerIds (one per book × direction). The kr_ IDs are deterministic hashes, so the same match will always produce the same eventId regardless of which book surfaced it.

Error Codes

All API errors return standard HTTP status codes with a JSON body containing a detail field.

StatusNameDescription
401UnauthorizedMissing or invalid Bearer token. Verify your API key.
403ForbiddenYour API key does not have permission to access this resource.
422Validation ErrorA required parameter is missing or has an invalid value.
429Rate LimitedToo many requests. Slow down and retry after a short delay.
503Service UnavailableWorkers are re-indexing live data. Retry in 60 seconds.