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.
| Bookmaker | Key | Kind | Leagues |
|---|---|---|---|
| BearBet | bearbet | sportsbook | atp, mlb, ncaaf, nfl, rlwc, rlwcw, wta |
| BetBlitz | betblitz | sportsbook | nfl |
| BetBuzz | betbuzz | sportsbook | atp, nfl, wta |
| BetChamps | betchamps | sportsbook | nfl |
| BetDeluxe | betdeluxe | sportsbook | bundesliga, champions_league, epl, la_liga, ligue_1, mls, nba, nbl, nfl, rlwc, rlwcw, serie_a |
| Betfair Exchange | betfair_exchange | exchange | bundesliga, champions_league, epl, la_liga, ligue_1, mls, nba, ncaaf, nhl, rlwc, serie_a |
| BetFocus | betfocus | sportsbook | atp, epl, la_liga, ligue_1, mlb, mls, ncaaf, nfl, rlwc, rlwcw, serie_a, wta |
| Betr | betr | sportsbook | bundesliga, epl, nba, nbl, ncaaf, nfl, rlwc |
| BetReal | betreal | sportsbook | nfl |
| BetRight | betright | sportsbook | nbl, rlwc, rlwcw |
| BlondeBet | blondebet | sportsbook | nfl |
| CashCage | cashcage | sportsbook | aflw, atp, mlb, ncaaf, nfl, rlwc, wta |
| ChaseBet | chasebet | sportsbook | nfl |
| Dabble | dabble | sportsbook | bundesliga, epl, la_liga, ligue_1, mlb, nba, nfl, nhl, rlwc, rlwcw, serie_a |
| Ladbrokes | ladbrokes | sportsbook | rlwc, rlwcw |
| LightningBet | lightningbet | sportsbook | atp, mlb, ncaaf, nfl, nhl, rlwc, rlwcw, wta |
| Mintbet | mintbet | sportsbook | aflw, atp, epl, la_liga, ligue_1, mlb, mls, nbl, ncaaf, nfl, nhl, rlwc, rlwcw, serie_a, wta |
| Neds | neds | sportsbook | epl, la_liga, ligue_1, rlwc, rlwcw, serie_a |
| PlayUp | playup | sportsbook | rlwc |
| PointsBet | pointsbet | sportsbook | epl, nba, nfl, nhl, rlwc |
| Sportsbet | sportsbet | sportsbook | epl, la_liga, ligue_1, mlb, mls, nba, nbl, nfl, rlwc, rlwcw, serie_a |
| Star Sports | starsports | sportsbook | atp, ncaaf, nfl, nhl, rlwc, rlwcw, wta |
| SwiftBet | swiftbet | sportsbook | epl, la_liga, ligue_1, mls, nba, nbl, ncaaf, nfl, rlwc, serie_a |
| TAB | tab | sportsbook | bundesliga, epl, la_liga, ligue_1, mls, nba, nbl, nfl, nhl, rlwc, rlwcw, serie_a |
| TABtouch | tabtouch | sportsbook | bundesliga, epl, la_liga, ligue_1, mlb, nba, nfl, serie_a |
| TopBet | topbet | sportsbook | aflw, atp, nfl, wta |
| Unibet | unibet | sportsbook | bundesliga, 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.08Every 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.