How to price an esports parlay with an API
GET /v7/{sport}/parlays does two jobs on one route: price a slip you already built, or scan the board and hand you ranked parlays. Either way, every leg prices on the one book you name — and the fair value is computed from the other venues.
Price mode: your ticket, our fair price
Pass ticket= as comma-separated legs in the form kr_match_id:market:selection. The response returns the combined decimal and American price, the consensus fair probability, and EV — for the whole ticket and for each leg.
curl -H "X-API-Key: YOUR_KEY" \ "https://kashrock.up.railway.app/v7/cs2/parlays?book=thunderpick\ &ticket=kr_cs2_fnatic-vs-phantom-07-10-2026:match_winner:kr_tm_d60a39d59027"
Discover mode: the board does the hunting
Omit ticket and the endpoint ranks parlays on your book — size=2 or size=3 legs, non-negative EV by default. An empty board comes back as reason: no_parlays; add include=all to inspect the negative-EV tickets too.
{
"mode": "discover",
"book": "thunderpick",
"parlays": [{
"legs": [{
"name": "Fnatic",
"american": -208,
"fair_probability": 0.628141,
"ev_pct": -6.98,
"fair_books": ["1xbet", "betonline", "betway", "dexsport"],
"fair_excludes_leg_book": true
}],
"american": 119,
"ev_pct": -12.89
}]
}The leg book never grades itself
fair_excludes_leg_book: true is the important field: the consensus fair price for a leg is built from the venues listed in fair_books— never the book selling the ticket. A sportsbook can't mark its own homework, so the EV you read means something.
Full contract on the parlays endpoint docs and the parlay API page.
KashRock is an independent data provider, not a sportsbook. Data is for informational and analytical use.