Esports odds in Python, without scraping
Published · by KashRock
Player props from eight DFS books, consensus lines, and live scores — normalized onto one schema, one key, one pip install. This is the shortest path from zero to a working esports odds pipeline.
1. Install and make the first call
pip install kashrock
from kashrock import KashRock
kr = KashRock("kr_demo_swagger_public_readonly") # read-only demo key
props = kr.props("lol")["props"]
print(props[0])2. Compare a prop across books
Every prop carries one propId across every book — the over and the under share it. Grouping on it gives you the whole market in one pass:
from collections import defaultdict
board = kr.props("cs2")["props"]
by_prop = defaultdict(list)
for p in board:
by_prop[p["propId"]].append((p["book"], p["direction"], p["line"]))
# find a prop priced by multiple books
for pid, offers in by_prop.items():
if len({o[0] for o in offers}) >= 3:
print(pid, offers)
break3. Add lines, matches, and live scores
kr.lines("cs2") # consensus lines (Hobby+)
kr.matches("lol") # schedule + results
kr.live_games("valorant") # live scores + player stats
kr.research_board() # graded prop research surface
kr.history_tape() # line tape for backtestingNext steps
Grab a free Sandbox key in the console (1,500 credits/UTC day, no card), read the SDK reference, or see the whole surface on the esports odds API page.