Live & In-Play Betting Odds API

Pre-match lines and live event status across every Australian book, refreshed every couple of minutes, with the honest flags a live product needs.

SockOdds is a pre-match feed with live event state: status.live, started, ended, currentPeriodID and the period flags ride on every event, and prices refresh every ~2 minutes for as long as a book keeps a market open. It is the right feed for a live product that needs to know the state of the game and the last price seen; it is not a sub-second in-play trading feed, and it says so.

Why build your live product on SockOdds

  • Live vs pre-match in one schema. status.started and status.live tell you which is which without a second source.
  • Per-book freshness. Every byBookmaker entry carries lastUpdatedAt and available.
  • Stale is flagged. An event with no source write for 45 minutes is marked info.stale: true.
  • Filter to games in progress. live=true on the events endpoint.
  • Honest cadence. ~2 minutes; the streaming endpoint is reserved and answers 501 rather than pretending.

What you can build

A live games feed

Poll /events?live=true and render status and the last price per book.

Line tracking through a game

Diff byBookmaker between polls; keep the snapshots.

Status plus the line

status.currentPeriodID and results where the source has them, next to the odds.

Polling, done properly

The streaming guide shows the poll-and-diff pattern.

Example request

curl "https://api.sockodds.com/v2/events/?live=true&limit=5" \
  -H "x-api-key: YOUR_API_KEY"

Events in progress with their status and the last price from every book:

{
  "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
        }
      }
    }
  }
}

SockOdds vs building a live feed yourself

CapabilitySockOddsbuilding a live feed yourself
Live vs pre-matchstatus.started / live flags in one schemaTrack game state across a separate source
In-game price updatesbyBookmaker with lastUpdatedAt, ~2 minPoll and diff every book yourself
Push deliveryNot offered (501); pollStand up a socket layer per book
Status with the linestatus and results on the eventJoin a results API to your odds
Books covered25 in one callOne integration per book

Frequently asked questions

What is a live odds API?

A feed of bookmaker prices and event state during a game. SockOdds carries the state and the last price per book at a ~2 minute cadence.

Does it support in-play / in-game odds?

Prices are captured for as long as a book keeps a market open, at the same cadence as pre-match. It is not a low-latency trading feed.

How fast do live odds update?

Every ~2 minutes, with lastUpdatedAt per book.

Do you offer WebSocket streaming?

Not yet. /v2/stream/events answers 501.

Can I get the score alongside live odds?

Where the source carries it, in results and teams.*.score.

Which sports have live status?

Every league in the feed carries status flags.

Related use cases

  • Live Scores & Sports Data API: Event status, results and team data across every code Australia follows, with odds in the same schema..
  • Odds API for Betting Alert Bots: Build a sports odds alert bot for Discord or Telegram: diff odds across every AU book to detect line moves and push deeplinks to users..
  • 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.