Built for shipping, not parsing strings. One analytics schema across schedules, props, stats, and outcome verification.
Consistent response shape regardless of the source provider or esports title. Your client code stays the same when a book or feed changes underneath.
Canonical IDs across players, teams, and matches keep joins stable when nicknames or roster labels diverge across books and stats providers.
Example shape from GET /v6/esports/cs2/props:
{
"source": "kashrock",
"sport": "cs2",
"props": [
{
"propId": "kr_prop_…",
"player_name": "fear",
"stat_type": "CS2_KILLS_MAPS_1_2",
"line": 25.5,
"odds": -118,
"direction": "over",
"team": "Fnatic",
"book_name": "PrizePicks"
}
]
}