Odds Comparison & Line Shopping API

Compare bookmaker odds with one API call. SockOdds returns every book's price under byBookmaker, a consensus line, and click-to-bet deeplinks.

An odds comparison API (or line shopping API) returns the same betting market priced by every bookmaker at once, so a tool can surface the best available number for any bet. SockOdds is built around this: every event ships a byBookmaker object with prices from 21 Australian books, the exchange and the prediction markets, and every event carries bookmaker and bet-slip links.

Why use SockOdds for odds comparison

  • One request returns every book. A single /events call hydrates each market's byBookmaker map with side-by-side prices from 21 Australian books plus Betfair Exchange, Kalshi, Polymarket, ProphetX. No per-book integrations.
  • A consensus line ships in the same payload. bookOdds (market consensus, with vig) and fairOdds (no-vig) give you an instant baseline to flag which book is genuinely beating the market.
  • Deeplink to the best price. links.bookmakers takes the user to the event on the book; links.betslip describes how to land on the selection.
  • Normalised oddID lines books up automatically. Sportsbet's head-to-head and TAB's head-to-head collapse onto one row with zero reconciliation.
  • Props and alt lines, not just the main number. Same shape, same comparison loop.

How a line-shopping tool works with our data

Fetch every book's price with byBookmaker

Request an event (or a league's full slate) and read each market under event.odds. Every entry holds that book's odds, decimal, its line, and an available flag.

Rank prices and benchmark against the consensus

Iterate byBookmaker, skip anything where available is false, and keep the highest decimal. Then compare it against bookOdds and fairOdds to show how much edge the best book offers over consensus.

Deeplink the user to the market

A comparison tool earns its keep at the moment of action: the best-price cell becomes a button that opens the event on that book.

Example request

curl "https://api.sockodds.com/v2/events/?leagueID=NRL&oddsAvailable=true&oddID=points-home-game-ml-home&includeOpposingOdds=true&limit=1" \
  -H "x-api-key: YOUR_API_KEY"

A trimmed response shows one market priced across several books, with the consensus alongside:

{
  "eventID": "afl_2026-09-03_fremantle_vs_hawthorn",
  "leagueID": "AFL",
  "odds": {
    "points-all-game-eo-odd": {
      "oddID": "points-all-game-eo-odd",
      "opposingOddID": "points-all-game-eo-even",
      "marketName": "Odd/Even Total Points",
      "statID": "points",
      "statEntityID": "all",
      "periodID": "game",
      "betTypeID": "eo",
      "sideID": "odd",
      "fairOdds": null,
      "bookOdds": "-116",
      "byBookmaker": {
        "unibet": {
          "odds": "-115",
          "decimal": 1.87,
          "available": true
        },
        "tabtouch": {
          "odds": "-118",
          "decimal": 1.85,
          "available": true
        }
      }
    }
  }
}

Walk the same byBookmaker map across every market and you have a full comparison grid. For a complete UI, see the odds comparison dashboard example.

SockOdds vs building odds comparison yourself

CapabilitySockOddsbuilding odds comparison yourself
Books per callAll 25 in one byBookmaker objectOne integration, auth and rate limit per book
Normalised IDs/marketsShared oddID lines every book upMap and reconcile each book's market ids
Best-line detectionRank byBookmaker in a few linesNormalise formats before you can compare
Consensus baselinebookOdds + fairOdds includedCompute and maintain your own
DeeplinksEvent and bet-slip links from the books' own idsBuild and track per book
MaintenanceOne feed; we absorb book-side changesRe-fix breakage every time a book changes

Frequently asked questions

What is an odds comparison API?

It returns the same market priced by multiple bookmakers in one response so software can display every book's number side by side and pick the best one.

What is line shopping?

Checking multiple bookmakers for the same bet and placing it wherever the price is best. SockOdds automates the lookup.

How many bookmakers can I compare?

25, 21 of them Australian, all normalised to a shared oddID.

Can I link users to the bookmaker to place a bet?

Yes — links.bookmakers and links.betslip on every linked event.

What is the difference between bookOdds and fairOdds?

bookOdds is the consensus with the vig in; fairOdds is the no-vig price on Base and above.

Do you cover player props and alternate lines for comparison?

Yes, in the same byBookmaker structure as main markets.

Related use cases

  • Odds API for Positive EV Betting: Positive EV betting API with no-vig fairOdds and every AU book's price side by side, so you can surface +EV bets without building your own devig pipeline..
  • Odds API for Arbitrage Betting: An arbitrage betting API that returns every Australian book's price per market through byBookmaker, so you can scan every bookmaker and alt line for arbs and middles..
  • Sports Odds API for Betting Apps: The sports betting app API with odds from every major Australian bookmaker, event status, results, and click-to-bet deeplinks in a single feed..
  • Pricing: plans priced on request rate and scope, including a free Lite tier with no card.

Start building today

Free plan available. Set up in 5 minutes. Scale when you're ready.