Returns the same board as /odds reduced to the point spread market.
Returns the same board as /odds reduced to the point spread market.
Kalshi and Polymarket are not in this feed; read them from their v2 source endpoints.
meta.freshness.stale turns true once the board is over 90 seconds old.
meta.market is the market the board was narrowed to (all when none), by the route or by the market parameter.
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.
home_team and away_team are one canonical string per team across every book for NFL, college football, NBA, NHL, MLB and college basketball: the name as returned is the join key. eventId is {sport}:{away}@{home}-{YYYYMMDD}, built from those names, and is the key the /api/v1/history endpoints use. Soccer and tennis carry each book's own spelling.
/api/v1/normalize maps an outside name (a score feed, a spreadsheet) onto ours; it is not needed for names we return.
home_team_id and away_team_id (homeTeamId and awayTeamId on /api/v1/history/games) are the stable roster id of the team behind each name, the same from every book and spelling. The key is absent, never null, when a name is not on our roster: every tennis name, a soccer or college name we do not carry, and sports without a roster. There is no abbreviation field.
Request
- Base URL: https://api.owlsinsight.com
- URL: https://api.owlsinsight.com/api/v1/{sport}/spreads
- Auth: HTTP bearer
Path parameters
Query parameters
Comma-separated sportsbook keys to include; also accepted as book. Defaults to every book in the feed. Unknown keys are ignored; 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.
Narrow the board to one market. /moneyline, /spreads and /totals are the equivalent routes for h2h, spreads and totals, and on those routes the route market applies: a different market here is reported in meta.ignored_params, as is a value outside this list.
Set to true to drop exchange-style books from the response. 400 when that leaves no books.
Set to true to add Pinnacle alternate rungs. They do NOT arrive as extra outcomes: a spread or total outcome gains an alternateLines array of point and price objects beside its own main point, so code reading outcomes[].point alone sees one number and looks like the flag did nothing. The key is OMITTED, not set to an empty array, on outcomes that have no rungs, so read it as optional. Pinnacle and Novig use this shape (Novig on spreads and totals). Other books publish their ladders as SEPARATE MARKETS instead, which arrive without this flag on any paid tier: DraftKings sends run_line_alternate and total_alternate on mlb, nba and nhl, and no alternates at all on nfl. For the widest ladders use the v2 Source API, which carries each book native board. Needs Rookie or above; on lower tiers the flag is ignored, the standard lines are returned and meta.alternates is false.
Restrict events to one league. Matched as a substring of the league label first, then as a slug. meta.available_leagues lists the labels in play.
Response
OK
Changes
No recorded changes to this operation across all 1 revision of this API.