Skip to main content

What it returns

GET /v3/odds/summary answers “what is the market paying?” for an event. For each market line and outcome you get:
  • best and bestBookmakers: the highest price and every bookmaker offering it, up to 5.
  • average: the market average.
  • median: the middle price, robust to a single unusual book.
  • worst: the lowest price, so you can show how much shopping around saves.
  • fair: the margin-free price.
Each line also has books (how many bookmakers priced it), fairBooks (how many fed the fair price) and payout.
The odds summary is available on Growth plans and above. Free plans receive a demo response with sample prices and "demo": true.

Request

For up to 10 events at once, use /v3/odds/summary/multi with eventIds. It returns an array and counts as one request:

Response

Outcome keys follow the market: home/draw/away, over/under or yes/no. Prices are decimal numbers.

How the numbers are calculated

  • Average is calculated in probability space: average = n / sum(1 / price). A plain mean of decimal odds is pulled up by one long price. This is not.
  • Fair removes the margin. Each bookmaker that prices every outcome of the line is de-vigged, each outcome takes its median probability, and the result is normalized to 100%. It needs at least 3 bookmakers that can be de-vigged. fairBooks says how many were used. A bookmaker priced at no margin still counts for best, average and worst.
  • sharpFair appears only if you have ON Sharp selected. It is ON Sharp’s price with its fixed margin removed.
  • Payout is 1 / sum(1 / price) over the outcomes. payout.best uses the best prices, so a value above 1 means the best prices across different bookmakers add up to more than 100% return. payout.average is the market’s typical payout.
  • Main line is the most balanced line, where the two sides are closest to even, among the lines priced by at least half as many bookmakers as the most-priced line.

What is included

  • One vote per bookmaker. A bookmaker and its clones, or its latency variants, count once.
  • Only bookmakers that are updating. A bookmaker counts only if its prices changed within the last 5 minutes before kickoff, or the last 60 seconds once the event is live. A feed that stops updating drops out. The check is per bookmaker: a price that has not moved for hours still counts while the bookmaker’s feed keeps updating other prices.
  • No outliers in best, worst or average. If any price in a bookmaker’s row is far from the line’s median, as with a wrong-match or wrong-side row, the whole row is left out of best, worst and average and counted in excluded. The median still uses every bookmaker. A line needs at least 3 bookmakers without an outlier, otherwise it is not returned.
  • At least 3 bookmakers. Lines priced by fewer are not returned.
  • Exchanges are separate. Exchange and prediction-market prices are before commission, so they never count towards best, average, median or worst. Use includeExchanges=true to see them in their own block.
  • Two-way moneylines in sports that also run three-way are skipped. In ice hockey, futsal, bandy and similar sports, a home/away moneyline cannot be told apart from a three-way one missing its draw, so only three-way moneylines are summarized there. Spreads and totals are unaffected.

Exchange liquidity

Each exchange quote carries liquidity: the stake you can place at that price. The best exchange price can carry a small stake, so check liquidity before showing it as the headline.

Example: average odds on a fixtures list