The PandaScore alternative.
Props and stats, no betting-use block.
KashRock vs PandaScore
| PandaScore | KashRock | |
|---|---|---|
| Betting / DFS use | Restricted on stats plans | Built for pick'em, props, models |
| Pricing | Per videogame, per month | Flat: free, then $29+/mo |
| Onboarding | Account + plan per title | Instant key. First call in ~30s |
| CS2 path | /csgo/ (legacy prefix) | /v6/esports/cs2/… |
| Auth | token= query param | X-API-Key header |
| DFS-book props | Not the product | PrizePicks, Underdog, Betr, Sleeper, Dabble, Boom, Pick6, ParlayPlay |
| Free schedule | Yes — 0€ calendar plan | Sandbox: every sport, matches + props (500/day) |
| Settlement | Fixtures / post-match stats | Hit / miss / push on the same stat_type |
Price: per game vs flat
| PandaScore | KashRock | |
|---|---|---|
| Free | 0€ schedules / game. 1k req/hr | Sandbox $0. 500 req/UTC day, every sport |
| Historical stats | From 400€ per game / mo | Hobby $29/mo. All 9 titles |
| Live | From 1,000€ per game / mo | Builder $99/mo. Live K/D/A + WS |
| CS2 + LoL + Dota + Valorant, historical | From 1,600€ / mo | $29/mo props; history Builder+ |
| Betting / DFS use | Blocked on stats plans | Built for it |
| DFS book props | Not on the stats API | PrizePicks, Underdog, Betr, Sleeper… |
The same call in both APIs
curl "https://api.pandascore.co/csgo/matches/upcoming?token=YOUR_TOKEN"
curl -H "X-API-Key: YOUR_API_KEY" \ "https://kashrock.up.railway.app/v6/esports/cs2/matches?status=upcoming"
PandaScore still uses /csgo/ for CS2. KashRock uses cs2 in the path. CS2 matches are on Sandbox; deep history vault is Builder+.
Not on stats plans. Betting-related use is blocked. Odds is a separate sales product.
curl -H "X-API-Key: YOUR_API_KEY" \ "https://kashrock.up.railway.app/v6/esports/cs2/props"
Sandbox covers props, matches, players, and live REST for every sport (500 req/UTC day). Hobby adds consensus lines.
Migrate from PandaScore
- 1
Get a key. Skip the per-game quote.
Create a Sandbox key in the console. No card. props, matches, and live scoreboards work immediately on every sport so you can prove the schema before you touch a single line of migration code.
- 2
Swap host and auth.
PandaScore: api.pandascore.co with ?token=. KashRock: X-API-Key on every /v6 call. Do not put the key in the query string — it'll end up in server logs and browser history.
- 3
Replace /csgo/matches/upcoming.
Call GET /v6/esports/cs2/matches?status=upcoming. Sport slug is cs2, not csgo. Keep your own match UUID mapped to kr_match_id / slug so old references still resolve while you cut over.
- 4
If you were blocked for betting use, add the board.
GET /v6/esports/{sport}/props for DFS lines. Grade with GET /v6/esports/{sport}/results on the same stat_type — no separate grading pipeline to build.
Who it's for
- —You're building pick'em, an optimizer, or a props tool that PandaScore stats terms exclude — that's a hard clause in their stats-plan terms, not a soft discouragement.
- —You do not want to pay 400€+ per title when you need CS2, LoL, Dota, and Valorant together, and the total climbs fast once you add a fifth or sixth title.
- —You need DFS-book lines, not just fixtures and post-match stats, since fixtures alone can't tell you whether a prop hit.
- —You're stuck on PandaScore's legacy /csgo/ path and query-param auth — /v6/esports/cs2/ with a header key is a cleaner base to build on.