Returns the merged player props board for a sport: every game with its props grouped per sportsbook, with each book's freshness reported in meta.
Returns the merged player props board for a sport: every game with its props grouped per sportsbook, with each book's freshness reported in meta.
Query parameters this endpoint does not read are reported in meta.ignored_params rather than rejected; a value the endpoint read but could not apply (an unknown market, a comma list where one value is allowed, a book alias with no valid key) is reported too, with the reason in meta.ignored_reasons.
Unknown book keys inside books are dropped and the applied list is meta.requestedBooks.
meta.books reports each requested book with lastUpdate, ageSeconds and a status of ok, stale or no-data; ageSeconds is the time since that book last published, not the age of its prices.
There is no aggregate status on purpose: a book whose feed stops disappears from booksReturned instead of ageing, so a roll-up would read ok for a dead book.
availableBooks is the static catalogue; booksReturned is what contributed to this response.
marketStructure is present only when the book published one (over_under, milestone, single_sided or pick_one). Absent means unknown, never over_under: on an integer line, over 20 and 20+ disagree at exactly 20.
Kalshi props quote the takeable price: overPrice and underPrice are the ask a buyer pays now, overPriceMid and underPriceMid are the bid/ask midpoint, and overPriceBasis and underPriceBasis say per side whether the served price is takeable or, when no ask was resting, midpoint. A midpoint is a fair-value estimate, not a price anyone can trade at. These four fields appear on Kalshi props only; every other book's posted price is takeable by construction.
Request
- Base URL: https://api.owlsinsight.com
- URL: https://api.owlsinsight.com/api/v1/{sport}/props
- Auth: HTTP bearer
Path parameters
Query parameters
Restrict the board to one game.
Filter by player name: a partial match that ignores case, accents and apostrophes, reads other punctuation as a space and joins initials, so RJ Harvey finds R. J Harvey.
Filter by prop category. Betting-name aliases are accepted too: anytime_touchdown, anytime-touchdown, anytime_td, anytime-td, atd and touchdown_scorer for touchdowns; first_td and first-td for first_touchdown_scorer. An unknown category returns 400 with valid_categories and aliases. Only this merged board accepts the aliases; /props/{book} takes category names only.
Comma-separated sportsbook keys to include; also accepted as book. Defaults to every props book. 400 when none of the keys listed under books is valid; under book a list with no valid key returns every book and is reported in meta.ignored_params. bet365 and polymarket are still accepted but return nothing here: bet365 props are on /api/v2/bet365/{sport}, and meta.retiredBooks says so when you ask for one.
Response
OK
Changes
No recorded changes to this operation across all 1 revision of this API.