Skip to main content
The Predictions API serves the markets Splash lists for a sport: game lines (spread, total, moneyline), season futures and player props. The endpoints on this site need no authentication.

Base URL

Paths in the reference are relative to the base URL.

Conventions

  • No null in a response. A value that is unset is omitted. Test for presence rather than for null.
  • Timestamps are epoch milliseconds (event_start, start_date, updated_at).
  • Money is a number in dollars, rounded to cents (volume, liquidity). A price is a per-share YES or NO price between 0 and 1; see MarketPrice for the display forms.
  • Comma-separated query lists. Where a parameter accepts several values, pass them as one comma-separated string: ?sub_category=nfl,nba. Every accepted value is listed on Enumerations.
  • Cached responses. Market endpoints are cached for 5 seconds; /sub_categories for 5 minutes.

The included block

Every market-returning endpoint carries an included object beside its primary data, with the events, teams, entities (players) and sub_categories (leagues) that the markets reference. Resolve a market’s event_id, team_id or entity_id against it rather than fetching each resource. included.sub_categories is identity only: id, name and icon. Whether a league is tradeable right now, and which tabs it offers, come from GET /sub_categories.

Market groups

A market group is the unit the listing endpoints return: Each market carries a type that selects its shape, and a status of active, settled or expired. A settled market also carries result.

Reading a game page

  1. GET /prediction_markets/{id} returns the game’s gameline group plus filters, the tabs to render.
  2. Each tab says exactly what to send to GET /events/{event_id}/details: its types as ?type=, its group_by as ?group_by=, and on Player Props each filter’s types as ?prop_type=.
  3. A player prop section with has_more: true is paged by GET /prediction_markets with the same event_id and prop_type, which returns players in the same order.