Returns graded player props for one completed game: what each player actually recorded and the verdict of every closing book line against it. With date instead of game_id it lists the graded games for a day so game ids can be discovered. Anything that could not be graded carries a reason instead of a guess.
Returns graded player props for one completed game: what each player actually recorded and the verdict of every closing book line against it. With date instead of game_id it lists the graded games for a day so game ids can be discovered. Anything that could not be graded carries a reason instead of a guess.
Pass game_id or date; with neither the response is 400. meta.mode says which shape came back.
status on each entry is ok, dnp, no_stats, unmapped_category or stat_not_reported. An entry or line that could not be graded carries ungradableReason: dnp (the bet voids), no_stats (no box-score row matched, never treated as a void), stat_not_reported, unmapped_category, ungradable_structure (an integer line whose over/under versus N+ meaning is unknown), ambiguous_player (a display name shared by two players in the game, so no line is joined) or no_actual_value.
verdict on a line is over, under or push for an over/under market and hit or miss for a milestone (N+) market. A book's market structure is honoured when it published one; an absent structure is unknown and is never defaulted to over/under.
capturePhase archive marks the last in-play line, captured at game end because the pre-game close was missed. It is not a closing line, and a hit rate built on it is not comparable to one built on commence lines.
Provisional grades are included by default and every entry carries final; meta.provisional counts them. Box scores are revised for a short window after a game, so confirmed_only=true trades some delay for a grade that will not move.
meta.lineOutcomes counts verdicts per book line; meta.entryStatuses counts entries per player and category. They have different denominators, so a hit rate built from lineOutcomes is weighted by how many books quoted each player.
Grading is enabled sport by sport and runs after the game is final and the box score is published. Until then, or on a sport where grading is not enabled, data is empty and meta.message says so.
meta.checks lists exactly what was evaluated. The response never claims a game is fully graded.
Request
- Base URL: https://api.owlsinsight.com
- URL: https://api.owlsinsight.com/api/v1/{sport}/props/results
- Auth: HTTP bearer
Path parameters
Query parameters
Game identifier for one game's board. Required unless date is given. Must belong to the sport in the path; a mismatch returns 400 naming the right endpoint.
Calendar day, YYYY-MM-DD. Lists the graded games for that day with per-game entry and player counts, so game ids can be discovered. Ignored when game_id is given, and the player, category and confirmed_only filters do not apply in this mode. Dates follow the date in the game id: the US Eastern date for MLB games from 2026-10-11, the UTC start date otherwise (so a late-evening Pacific game in another sport, or an MLB game before 2026-10-11, lists under the next day). Ungraded games are absent, not empty. 400 for a value that is not a real calendar date.
Restrict to one prop category.
Restrict to one player: a partial match on the stored name, with the same case, accent and punctuation rules as /props.
Set to true to return only grades confirmed by a second, agreeing read of the box score. By default provisional grades are included and each carries final: false.
Response
OK
Changes
No recorded changes to this operation across all 1 revision of this API.