A-League fixtures and teams
Retrieve match IDs, team names and scheduled kick-offs with the soccer and A-League filters.
Our A-League odds API connects fixtures, teams and kick-off times with bookmaker prices for home, draw and away results, goal totals, both teams to score and player goals. Build match comparison pages and price alerts with one event ID.
/v1/events/a-league-example-001/odds/snapshot
{
"event_id": "a-league-example-001",
"as_of_ts_ms": 1793502000000,
"ttl_seconds": 120,
"items": [
{
"bookmaker": "sportsbet",
"market_key": "moneyline 3w",
"selection_name": "Melbourne Victory",
"odds": 2.20,
"fair_odds": 2.32
},
{
"bookmaker": "sportsbet",
"market_key": "moneyline 3w",
"selection_name": "Sydney FC",
"odds": 3.10,
"fair_odds": 3.27
},
{
"bookmaker": "sportsbet",
"market_key": "moneyline 3w",
"selection_name": "Draw",
"odds": 3.60,
"fair_odds": 3.80
}
]
}
Retrieve match IDs, team names and scheduled kick-offs with the soccer and A-League filters.
Compare three-way result, goal total, BTTS, handicap and corner markets across bookmakers.
Bring player goals, first goalscorer, assists and shots-on-target prices into your match view.
Show home, draw and away prices together, then let users switch to goal totals, BTTS, corners and goalscorer markets from Sportsbet, TAB and Ladbrokes.
X-API-Keysportsbet, tab, ladbrokes/v1/events/{event_id}/odds/snapshot?bookmakers=sportsbet,tab,ladbrokes
Build an A-League match comparison screen with https://api.odds-api.net/v1. Keep ODDS_API_KEY on the server and authenticate with X-API-Key.
Discover fixtures at /events?sport=soccer&league=A-League¬_started_only=true&limit=50. Show the home team, away team and kick-off. Follow next_cursor and use the selected event_id for /events/{event_id}/odds/snapshot?bookmakers=sportsbet,tab,ladbrokes&price_fields=odds&include_unavailable=true. Collect all snapshot pages.
Start with three-way match results: home, draw and away. Add views for total goals, both teams to score, handicaps, corner totals and player goals. Use returned market_key and metric values rather than assuming every total measures goals.
Use one bookmaker column per book. Match rows by event ID, market_key, period label, metric, line, side and player_name. Prefer period_str when present, otherwise the returned period label. Keep first-half markets separate from full-match markets, and keep two-way moneyline separate from moneyline 3w.
Show decimal prices and highlight tied best available quotes. Display a dash for missing or suspended prices and use bookmaker_as_of_ts_ms for quote age. Player markets describe bets, not recorded player match statistics.
Use league=A-League for the men's competition. The women's competition has its own A-League Women key. Follow https://odds-api.net/docs/a-league for football market matching, history and stream recovery.const apiKey = process.env.ODDS_API_KEY;
const baseUrl = "https://api.odds-api.net/v1";
const headers = { "X-API-Key": apiKey };
if (!apiKey) throw new Error("Set ODDS_API_KEY before running this file.");
async function getJson(path) {
const response = await fetch(`${baseUrl}${path}`, { headers });
if (!response.ok) throw new Error(await response.text());
return response.json();
}
const events = await getJson("/events?sport=soccer&league=A-League¬_started_only=true&limit=50");
const bookmakerKeys = ["sportsbet", "tab", "ladbrokes"];
const event = events.items.find(({ bookmakers }) =>
bookmakerKeys.some((key) => Array.isArray(bookmakers)
? bookmakers.includes(key)
: Object.hasOwn(bookmakers ?? {}, key))
);
if (!event) throw new Error("No upcoming A-League match with Sportsbet, TAB or Ladbrokes odds found.");
const snapshot = await getJson(
`/events/${encodeURIComponent(event.event_id)}/odds/snapshot?bookmakers=sportsbet,tab,ladbrokes`
);
console.log(JSON.stringify(snapshot, null, 2));
import os
import requests
base_url = "https://api.odds-api.net/v1"
headers = {"X-API-Key": os.environ["ODDS_API_KEY"]}
events_response = requests.get(
f"{base_url}/events",
headers=headers,
params={"limit": 50, "sport": "soccer", "league": "A-League", "not_started_only": True},
timeout=20,
)
events_response.raise_for_status()
events = events_response.json()["items"]
event = next(
(item for item in events if any(
key in item.get("bookmakers", [])
for key in ["sportsbet", "tab", "ladbrokes"]
)),
None,
)
if event is None:
raise RuntimeError("No upcoming A-League match with Sportsbet, TAB or Ladbrokes odds found.")
response = requests.get(
f"{base_url}/events/{event['event_id']}/odds/snapshot",
headers=headers,
params={"bookmakers": "sportsbet,tab,ladbrokes"},
timeout=20,
)
response.raise_for_status()
print(response.json())
export ODDS_API_KEY="your_api_key"
# Find an upcoming A-League game listing sportsbet,tab,ladbrokes.
curl -sS \
-H "X-API-Key: $ODDS_API_KEY" \
"https://api.odds-api.net/v1/events?sport=soccer&league=A-League¬_started_only=true&limit=50"
# Use that game's event_id below.
export EVENT_ID="replace_with_event_id"
curl -sS \
-H "X-API-Key: $ODDS_API_KEY" \
"https://api.odds-api.net/v1/events/$EVENT_ID/odds/snapshot?bookmakers=sportsbet,tab,ladbrokes"
Use one match ID to retrieve its fixture, source match record, result status, bookmaker odds and price updates.
List A-League fixtures with teams, kick-off times and canonical event IDs.
GET /v1/events?sport=soccer&league=A-League
Retrieve the source match record using the fixture's event ID.
GET /v1/events/{event_id}
Read the match result endpoint and handle pending or available status.
GET /v1/events/{event_id}/results
Load match result, goal, corner and player quotes with bookmaker and selection details.
GET /v1/events/{event_id}/odds/snapshot
Apply SSE or WebSocket changes to the match odds snapshot.
GET /v1/events/{event_id}/odds/stream
Match the event, market, period, line and selection before comparing prices across bookmakers.
Build around three-way results, goal lines, BTTS, corners and goalscorers, with full-match and half markets kept separate.
| A-League market | API bet_type | What it covers |
|---|---|---|
| Match result: home, draw, away | moneyline 3w |
Three-way result prices with a distinct draw selection. Keep two-way moneyline markets separate. |
| Goal totals | total |
Over and under goal lines. Retain the goals metric and the full-match or half period. |
| Both teams to score | both teams to score |
Yes and no prices for whether both sides score in the specified period. |
| Handicaps | handicap |
Goal-start lines, with each threshold and period kept as its own market. |
| Team and corner totals | team totaltotal |
Team goal totals and corner totals. The metric, team and period identify what is being counted. |
| Goalscorers | player goalsplayer first goal scorer |
Player goal thresholds and first-goalscorer prices, matched by player and selection. |
| Player assists and shots | player assistsplayer shots on target |
Player assist and shots-on-target betting lines alongside the match markets. |
Tools for events, odds, line movement, streams, and paid-plan positive EV or arbitrage feeds.
Agent-ready instructions.
TypeScript, Python, Postman and example builds.
Sports and racing odds coverage for agent workflows.
Lightweight streaming updates for dashboards and alerts.
Bidirectional streams for richer pre-match products.
Select an A-League fixture, load its bookmaker prices and group the same football bets across your comparison view.
Request soccer events with league=A-League and save the match's event ID.
Read every snapshot page for your chosen bookmakers, retaining the returned market and metric fields.
Keep the draw, goal or corner metric, half, player and line attached to each price.
Open the match stream from the snapshot resume token and apply each odds-row change.
Choose request and streaming allowances for your football odds product.
Enterprise grade
Custom projects, scoped with your team.
Competition filters, football market keys, historical odds and integration details.
Use sport=soccer and league=A-League for A-League Men in Australia and New Zealand. A-League Women is a separate league key in the catalogue.
Request three-way match results, goal totals, both teams to score, handicaps, team totals, corners and goalscorer markets. Player assists and shots-on-target markets are also represented in the A-League catalogue.
The player markets here are bookmaker odds for goals, assists and shots on target. They are separate from recorded player statistics; the public API does not expose a dedicated player match-statistics or standings endpoint.
Use the same event, market key, metric, period, line, side and player. Include all three outcomes when comparing a three-way result market, and keep goal totals separate from corner totals.
With history access, request retained prices for an event and selection over a bounded time window. Use a current match snapshot followed by SSE or WebSockets for price updates. The A-League docs include both workflows.
Connect fixtures, goal markets and bookmaker prices through one API.