Esports Prop Grading API.
Did it hit? Settled, not self-reported.

Every prop offer lands here after the match: hit, miss, push or void, the actual stat, opening and closing line, and the settlement rules version that graded it — joined to the same kr_match_id the rest of the API uses.

GET /v7/cs2/results

A real grade from production — m0NESY over 5.5 headshots on map 2, settled hit at 9 under Betway's settlement rules.

Grading runs against the box-score record under each book's own rules version — settlement_rules_version is on the row, so a push on one book and a hit on another is explainable, not a bug.

GET /v7/cs2/results
{
  "available": true,
  "sport": "cs2",
  "total": 653,
  "results": [
    {
      "propId": "kr_prop_800df52e348a",
      "player_name": "m0NESY",
      "stat_type": "CS2_HEADSHOTS_MAP_2",
      "line": 5.5,
      "direction": "over",
      "book_name": "betway",
      "team": "Falcons",
      "opponent": "Natus Vincere",
      "grade": "hit",
      "actual_value": 9,
      "opening_line": 5.5,
      "opening_odds": -200,
      "closing_line": 5.5,
      "closing_odds": -200,
      "settlement_rules_version": "betway_cs2_map_stats_v1",
      "kr_match_id": "kr_cs2_natus-vincere-vs-team-falcons-06-10-2026",
      "graded_at": "2026-10-06T23:32:39.738952+00:00"
    }
  ]
}

What a graded row carries

Frequently asked questions

What does the prop grading API return?

Settled offers — hit, miss, push, pending or void — with the actual stat, the line you graded against, and the book's settlement rules version. Filter by grade= and by graded_at with from=/to=. Every row carries the propId, the kr_match_id it settled on, and the canonical player or team id.

Does it show CLV?

Yes — each row carries opening_line/opening_odds and closing_line/closing_odds where the quote tape has them, so you can measure whether a pick beat the close without rebuilding the tape yourself.

Which sports are graded?

Kills, deaths, assists, headshots, ADR and first kills across CS2, Valorant, League of Legends, Dota 2, Call of Duty and Rainbow Six — the titles with a wired grading source. Grades come from live and vault box-score data, not self-reported results.

How do voids work?

A voided offer comes back with grade: void and a notes reason — a map that didn't play, a rules-version change — so backtests don't silently count it as a miss.

Which plan do I need?

Results is on the free Sandbox tier — 500 requests every UTC day, every graded sport.