Coverage · 7 September 2026 · updated 26 October 2026

Australian Bookmakers in One Odds API: Sportsbet, TAB, Ladbrokes, Neds and the rest

The Australian bookmakers in SockOdds API v1, their keys, and the leagues each one delivers.

SockOdds API v1 returns every bookmaker's price on a market in one response, keyed by a short, readable bookmaker key. This post lists the Australian ones and shows how to compare them.

Who delivers

The table lists every bookmaker in the catalogue's Australian region (au) that delivered prices through v1 as of 30 October 2026, with the leagues each one covered on that date. Coverage changes with the seasons, so treat the bookmakers page as the current list.

BookmakerKeyKindLeagues
BearBetbearbetsportsbookatp, mlb, ncaaf, nfl, rlwc, rlwcw, wta
BetBlitzbetblitzsportsbooknfl
BetBuzzbetbuzzsportsbookatp, nfl, wta
BetChampsbetchampssportsbooknfl
BetDeluxebetdeluxesportsbookbundesliga, champions_league, epl, la_liga, ligue_1, mls, nba, nbl, nfl, rlwc, rlwcw, serie_a
Betfair Exchangebetfair_exchangeexchangebundesliga, champions_league, epl, la_liga, ligue_1, mls, nba, ncaaf, nhl, rlwc, serie_a
BetFocusbetfocussportsbookatp, epl, la_liga, ligue_1, mlb, mls, ncaaf, nfl, rlwc, rlwcw, serie_a, wta
Betrbetrsportsbookbundesliga, epl, nba, nbl, ncaaf, nfl, rlwc
BetRealbetrealsportsbooknfl
BetRightbetrightsportsbooknbl, rlwc, rlwcw
BlondeBetblondebetsportsbooknfl
CashCagecashcagesportsbookaflw, atp, mlb, ncaaf, nfl, rlwc, wta
ChaseBetchasebetsportsbooknfl
Dabbledabblesportsbookbundesliga, epl, la_liga, ligue_1, mlb, nba, nfl, nhl, rlwc, rlwcw, serie_a
Ladbrokesladbrokessportsbookrlwc, rlwcw
LightningBetlightningbetsportsbookatp, mlb, ncaaf, nfl, nhl, rlwc, rlwcw, wta
Mintbetmintbetsportsbookaflw, atp, epl, la_liga, ligue_1, mlb, mls, nbl, ncaaf, nfl, nhl, rlwc, rlwcw, serie_a, wta
Nedsnedssportsbookepl, la_liga, ligue_1, rlwc, rlwcw, serie_a
PlayUpplayupsportsbookrlwc
PointsBetpointsbetsportsbookepl, nba, nfl, nhl, rlwc
Sportsbetsportsbetsportsbookepl, la_liga, ligue_1, mlb, mls, nba, nbl, nfl, rlwc, rlwcw, serie_a
Star Sportsstarsportssportsbookatp, ncaaf, nfl, nhl, rlwc, rlwcw, wta
SwiftBetswiftbetsportsbookepl, la_liga, ligue_1, mls, nba, nbl, ncaaf, nfl, rlwc, serie_a
TABtabsportsbookbundesliga, epl, la_liga, ligue_1, mls, nba, nbl, nfl, nhl, rlwc, rlwcw, serie_a
TABtouchtabtouchsportsbookbundesliga, epl, la_liga, ligue_1, mlb, nba, nfl, serie_a
TopBettopbetsportsbookaflw, atp, nfl, wta
Unibetunibetsportsbookbundesliga, epl, la_liga, ligue_1, mlb, mls, nba, nfl, nhl, rlwc, rlwcw, serie_a, ufc, wta

The leagues page explains each league key. v1 also delivers international and overseas sources in the same responses, such as Pinnacle, Kalshi and Polymarket.

The catalogue and the coverage are different lists

GET /v1/bookmakers lists every bookmaker key in the catalogue, filtered by region with regions=au. The catalogue can name a bookmaker before v1 delivers its prices, so use it to learn keys and names, and use the bookmakers page to see who is delivering today. Prices on the odds routes name a bookmaker by key only, so this list is also where you get each one's display name.

curl -sS "https://api.sockodds.com/v1/bookmakers?regions=au&limit=5" \
  -H "Authorization: Bearer $SOCKODDS_API_KEY"
const response = await fetch("https://api.sockodds.com/v1/bookmakers?regions=au&limit=5", {
  headers: { Authorization: `Bearer ${process.env.SOCKODDS_API_KEY}` },
});
console.log(JSON.stringify(await response.json(), null, 2));
import json, os, urllib.request

request = urllib.request.Request(
    "https://api.sockodds.com/v1/bookmakers?regions=au&limit=5",
    headers={"Authorization": "Bearer " + os.environ["SOCKODDS_API_KEY"]},
)
with urllib.request.urlopen(request) as response:
    print(json.dumps(json.load(response), indent=2))

Response from a local copy of the API with invented test prices

{
  "data": [
    {
      "key": "bearbet",
      "name": "BearBet",
      "kind": "sportsbook",
      "regions": [
        "au"
      ]
    },
    {
      "key": "bet365",
      "name": "bet365",
      "kind": "sportsbook",
      "regions": [
        "au"
      ]
    },
    {
      "key": "betblitz",
      "name": "BetBlitz",
      "kind": "sportsbook",
      "regions": [
        "au"
      ]
    },
    {
      "key": "betbuzz",
      "name": "BetBuzz",
      "kind": "sportsbook",
      "regions": [
        "au"
      ]
    },
    {
      "key": "betchamps",
      "name": "BetChamps",
      "kind": "sportsbook",
      "regions": [
        "au"
      ]
    }
  ],
  "meta": {
    "count": 5,
    "cursor": "eyJuIjo1LCJmIjoiMmE5ZmE1MmI5MzA5ZWE2MSJ9"
  },
  "links": {
    "next": "https://api.sockodds.com/v1/bookmakers?regions=au&limit=5&cursor=eyJuIjo1LCJmIjoiMmE5ZmE1MmI5MzA5ZWE2MSJ9"
  }
}

Follow links.next unchanged to read the next page.

Compare Australian prices on one game

The same regions=au filter works on the odds routes. This program asks for the head-to-head prices on a Rugby League World Cup game from Australian bookmakers only. The response lists the market once, with every bookmaker's price under each team, so the program regroups the prices by bookmaker key and prints each bookmaker's price for each team:

const response = await fetch("https://api.sockodds.com/v1/events/ev_000ckk0zrx33/odds?regions=au&markets=winner", {
  headers: { Authorization: `Bearer ${process.env.SOCKODDS_API_KEY}` },
});
const event = (await response.json()).data;
console.log(event.name);
// One row per bookmaker: collect each bookmaker's price on every outcome of the market.
const rows = new Map();
for (const outcome of event.markets[0].outcomes) {
  for (const price of outcome.prices) {
    if (!rows.has(price.bookmaker)) rows.set(price.bookmaker, []);
    rows.get(price.bookmaker).push(`${outcome.name} ${price.decimal_odds.toFixed(2)}`);
  }
}
for (const [bookmaker, prices] of rows) {
  console.log(`${bookmaker.padEnd(12)} ${prices.join("  ")}`);
}
import json, os, urllib.request

request = urllib.request.Request(
    "https://api.sockodds.com/v1/events/ev_000ckk0zrx33/odds?regions=au&markets=winner",
    headers={"Authorization": "Bearer " + os.environ["SOCKODDS_API_KEY"]},
)
with urllib.request.urlopen(request) as response:
    event = json.load(response)["data"]
print(event["name"])
# One row per bookmaker: collect each bookmaker's price on every outcome of the market.
rows = {}
for outcome in event["markets"][0]["outcomes"]:
    for price in outcome["prices"]:
        rows.setdefault(price["bookmaker"], []).append(f"{outcome['name']} {price['decimal_odds']:.2f}")
for bookmaker, prices in rows.items():
    print(f"{bookmaker:<12} {'  '.join(prices)}")

Output from a local copy of the API with invented test prices

Australia v New Zealand
playup       Australia 1.81  New Zealand 2.23
tab          Australia 1.77  New Zealand 2.18
sportsbet    Australia 1.72  New Zealand 2.12
ladbrokes    Australia 1.69  New Zealand 2.08

Every price is decimal, exactly as the bookmaker showed it, with the bookmaker's key and the time SockOdds saw it in observed_at. Prices move, and a bookmaker may limit or close accounts, so check the price on the bookmaker's own site before acting on it.

Plans

Each plan includes a set of bookmakers, and Pro includes every one. Pricing lists which bookmakers and leagues each plan carries. SockOdds is independent and is not affiliated with or endorsed by any bookmaker listed here.

Search across the SockOdds documentation and catalogue.