Discover/bet365 API
live

bet365 APIbet365.com.au ↗

Access live and upcoming betting markets with odds from bet365 Australia, plus a full sports category list. 2 endpoints, no auth setup required.

Endpoint health
verified 6h ago
get_sports_list
get_live_games
2/2 passing latest checkself-healing
Endpoints
2
Verified account required
Updated
1mo ago

What is the bet365 API?

The bet365 Australia API covers 2 endpoints that return live and upcoming betting market data from bet365.com.au. The get_live_games endpoint delivers an array of market selections — each with odds, handicap values, fixture IDs, and selection names — while get_sports_list returns every sport and navigation category available on the platform, including path data and icon identifiers.

This call costs1 credit / call— charged only on success
Try it

No input parameters required.

→ api.parse.bot/scraper/c0fe2c86-eadf-4f33-b1b0-c76efe87f962/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/c0fe2c86-eadf-4f33-b1b0-c76efe87f962/get_live_games' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 2 totalmissing one? ·

Point-in-time snapshot of every priced betting selection shown on the bet365 Australia homepage across all sports (soccer, tennis, baseball, rugby league, Australian rules, American football and whatever else is featured at the time), fetched in one call with no input parameters. The response has two views of the same data. `markets` is a flat list of selection rows, one per priced record in the source payload (the same selection may appear more than once when the site shows it in several panels; `total_markets` counts rows). Each row keeps the original fields (selection_id, selection_name, odds, handicap, fixture_id; empty string when absent) and adds identity fields that are null when the source payload does not publish them: sport_id / sport_name, competition_code (the site's short league code) / competition_name, fixture_name, home_team / away_team and their numeric team ids, fixture_start_time_utc (ISO 8601, UTC), market_id (the site's numeric market type) / market_name, participant_name (player the row belongs to in player-prop panels), handicap_or_line, odds_fractional, odds_decimal (fractional price converted to a 2-decimal decimal price, as the site displays it), market_state, provider_timestamp_utc (server time of the source response), bet_builder_id (id of the pre-built multi the row is a leg of) and source_record_type. `fixtures` groups the same selections by fixture_id, then by market_id, de-duplicated by selection_id, so grouping needs no inference; rows without a fixture_id (pre-built multi prices whose legs span several fixtures) appear only in `markets`. market_state is 'suspended' when the site flags the price suspended, 'upcoming' when the fixture start time is still ahead of the provider timestamp, 'started' when it has passed (this payload does not publish a live/closed flag), or null when no start time is known. For coupon-style panels the site labels selections only by column header (e.g. '1', 'X', '2', 'Line', 'Total', 'To Win'); selection_name then carries that label and the team the row belongs to is not published. sport_name comes from the payload where it labels the sport and otherwise from a fixed mapping of the site's sport ids; sport_id is always the site's id. home_team/away_team follow the site's display order ('Home v Away', or 'Away @ Home' for US sports). The set of fixtures and markets changes constantly as fixtures start, finish and the homepage is re-curated. Response size is large (typically a few thousand rows).

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "markets": "array of selection rows: legacy fields selection_id, selection_name, odds, handicap, fixture_id (strings, '' when absent) plus identity fields that are null when unpublished: sport_id, sport_name, competition_code, competition_name, fixture_name, home_team, away_team, home_team_id, away_team_id, fixture_start_time_utc (ISO UTC), market_id, market_name, participant_name, handicap_or_line, odds_fractional, odds_decimal (number), market_state (suspended|upcoming|started|null), provider_timestamp_utc, bet_builder_id, source_record_type (MA|PA|MG)",
    "fixtures": "array of fixture groups {fixture_id, fixture_name, sport_id, sport_name, competition_code, competition_name, home_team, away_team, home_team_id, away_team_id, fixture_start_time_utc, markets:[{market_id, market_name, selections:[{selection_id, selection_name, participant_name, handicap_or_line, odds_fractional, odds_decimal, market_state, bet_builder_id, source_record_type}]}]} de-duplicated by selection_id",
    "total_markets": "integer - number of selection rows in markets (duplicates across panels counted)",
    "total_fixtures": "integer - number of distinct fixtures in fixtures",
    "provider_timestamp_utc": "ISO 8601 UTC server time of the source response the snapshot was taken from"
  },
  "sample": {
    "data": {
      "markets": [
        {
          "odds": "711947/16000",
          "handicap": "",
          "sport_id": "1",
          "away_team": null,
          "home_team": null,
          "market_id": null,
          "fixture_id": "",
          "sport_name": "Soccer",
          "market_name": "Six-Folds",
          "away_team_id": null,
          "fixture_name": null,
          "home_team_id": null,
          "market_state": null,
          "odds_decimal": 45.5,
          "selection_id": "",
          "bet_builder_id": "3189014",
          "selection_name": "Six-Folds",
          "odds_fractional": "711947/16000",
          "competition_code": "UEFA-CL",
          "competition_name": "UEFA Champions League",
          "handicap_or_line": null,
          "participant_name": null,
          "source_record_type": "MG",
          "fixture_start_time_utc": null,
          "provider_timestamp_utc": "2026-09-08T10:00:12Z"
        },
        {
          "odds": "17/10",
          "handicap": "",
          "sport_id": "1",
          "away_team": "Aston Villa",
          "home_team": "Club Brugge",
          "market_id": "40",
          "fixture_id": "200382665",
          "sport_name": "Soccer",
          "market_name": "Full Time Result",
          "away_team_id": "100002",
          "fixture_name": "Club Brugge v Aston Villa",
          "home_team_id": "126282",
          "market_state": "upcoming",
          "odds_decimal": 2.7,
          "selection_id": "2019772797",
          "bet_builder_id": "3189014",
          "selection_name": "Aston Villa",
          "odds_fractional": "17/10",
          "competition_code": "UEFA-CL",
          "competition_name": "UEFA Champions League",
          "handicap_or_line": null,
          "participant_name": null,
          "source_record_type": "MA",
          "fixture_start_time_utc": "2026-09-08T17:45:00Z",
          "provider_timestamp_utc": "2026-09-08T10:00:12Z"
        }
      ],
      "fixtures": [
        {
          "markets": [
            {
              "market_id": "40",
              "selections": [
                {
                  "market_state": "upcoming",
                  "odds_decimal": 2.7,
                  "selection_id": "2019772797",
                  "bet_builder_id": "3189014",
                  "selection_name": "Aston Villa",
                  "odds_fractional": "17/10",
                  "handicap_or_line": null,
                  "participant_name": null,
                  "source_record_type": "MA"
                },
                {
                  "market_state": "upcoming",
                  "odds_decimal": 2.5,
                  "selection_id": "2019772794",
                  "bet_builder_id": null,
                  "selection_name": "1",
                  "odds_fractional": "6/4",
                  "handicap_or_line": null,
                  "participant_name": null,
                  "source_record_type": "PA"
                },
                {
                  "market_state": "upcoming",
                  "odds_decimal": 3.6,
                  "selection_id": "2019772796",
                  "bet_builder_id": null,
                  "selection_name": "X",
                  "odds_fractional": "13/5",
                  "handicap_or_line": null,
                  "participant_name": null,
                  "source_record_type": "PA"
                }
              ],
              "market_name": "Full Time Result"
            },
            {
              "market_id": "981",
              "selections": [
                {
                  "market_state": "upcoming",
                  "odds_decimal": 1.7,
                  "selection_id": "2019772799",
                  "bet_builder_id": "3189030",
                  "selection_name": "Over",
                  "odds_fractional": "7/10",
                  "handicap_or_line": "2.5",
                  "participant_name": null,
                  "source_record_type": "MA"
                }
              ],
              "market_name": "Total Goals"
            }
          ],
          "sport_id": "1",
          "away_team": "Aston Villa",
          "home_team": "Club Brugge",
          "fixture_id": "200382665",
          "sport_name": "Soccer",
          "away_team_id": "100002",
          "fixture_name": "Club Brugge v Aston Villa",
          "home_team_id": "126282",
          "competition_code": "UEFA-CL",
          "competition_name": "UEFA Champions League",
          "fixture_start_time_utc": "2026-09-08T17:45:00Z"
        }
      ],
      "total_markets": 2686,
      "total_fixtures": 230,
      "provider_timestamp_utc": "2026-09-08T10:00:12Z"
    },
    "status": "success"
  }
}

About the bet365 API

What the API Returns

The get_live_games endpoint returns all currently live and upcoming betting markets across every sport on the bet365 Australia homepage. Each item in the markets array includes a selection_id, selection_name, current odds, a handicap value where applicable, and a fixture_id tying the selection to a specific event. The response also includes a total_markets integer giving the count of all selections returned in the payload.

Sports and Navigation Coverage

The get_sports_list endpoint returns every sport and category currently listed on bet365.com.au. Each entry in the sports array carries a sport_name, a path_data value used for navigation, and an icon identifier. A total_sports count is included at the top level. This endpoint is useful for discovering which sports have active markets before querying odds data.

Inputs and Freshness

Neither endpoint accepts query parameters — both return a full snapshot of the current state of the bet365 Australia homepage at the time of the request. Because odds on live markets change frequently, repeated polling is the standard pattern for tracking movement. There is no built-in filtering by sport, event type, or time window within the API itself.

Data Shape Notes

Odds are returned per selection, not per event, so a single fixture will typically produce multiple markets entries — one for each betting option (e.g. home win, draw, away win). The fixture_id field is the consistent join key if you want to group selections belonging to the same event.

Reliability & maintenanceVerified

The bet365 API is a managed, monitored endpoint for bet365.com.au — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bet365.com.au changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official bet365.com.au API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor real-time odds movement across live bet365 Australia markets using repeated calls to get_live_games
  • Build a sport-specific odds dashboard by filtering markets results by sport after cross-referencing get_sports_list output
  • Track handicap values over time for specific fixtures using the fixture_id and handicap fields
  • Aggregate selection counts per sport to identify which categories have the most active in-play markets
  • Alert on odds changes for a watched fixture_id by diffing successive get_live_games responses
  • Enumerate available sports and their path data from get_sports_list to drive navigation in a betting aggregator UI
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does bet365 Australia offer an official developer API?+
bet365 does not publish a public developer API for odds or market data. Affiliate and data partnerships exist for select commercial partners, but there is no self-serve API portal available to general developers.
What does the `get_live_games` endpoint actually return for each selection?+
Each entry in the markets array contains five fields: selection_id (unique identifier for that betting option), selection_name (the label shown to bettors), odds (current decimal or fractional odds as returned), handicap (the line value, present where applicable), and fixture_id (links the selection to its parent event). The total_markets integer at the top level gives the total count of selections in the response.
Can I filter results by a specific sport or event when calling `get_live_games`?+
The endpoint takes no input parameters and returns all live and upcoming markets in a single snapshot. Filtering by sport, competition, or event must be done client-side using the selection_name or fixture_id fields. You can cross-reference sport categories returned by get_sports_list to build a mapping. If you need server-side filtering, you can fork the API on Parse and revise it to add a sport or fixture filter parameter.
Does the API cover historical odds or settled markets?+
Not currently. Both endpoints reflect the live state of the bet365 Australia homepage — active and upcoming markets only. Historical odds, settled results, and past fixture data are not included. You can fork the API on Parse and revise it to add an endpoint targeting historical or results data if that surface becomes accessible.
How fresh is the odds data, and does the API support streaming updates?+
Each call to get_live_games returns a point-in-time snapshot. Odds on live markets can shift within seconds, so the data reflects what was available at the moment of the request. The API does not support push or streaming updates; continuous polling is required to track changes over time.
Page content last updated . Spec covers 2 endpoints from bet365.com.au.
Related APIs in SportsSee all →
bet365.bet.br API
Access live betting odds, featured sports events, and real-time scores directly from bet365 Brazil's platform across multiple sports including Formula 1 and in-play markets. Get current match results, browse available betting categories, and view homepage promotions all through structured data endpoints.
oh.bet365.com API
Retrieve current betting odds from Bet365 for major sports leagues, including spread, moneyline, and over/under totals. Compare betting lines across sports such as NBA, MLB, NHL, soccer, and tennis.
unibet.com API
Access live betting odds, browse sports categories and upcoming matches, and search for specific events across multiple leagues in real-time. Get detailed event information including current odds for thousands of sports matchups to inform your betting decisions.
sports.bet9ja.com API
Access data from sports.bet9ja.com.
betpawa.ng API
Access data from betpawa.ng.
accessbet.com API
Fetch real-time prematch betting odds across multiple sports, tournaments, and individual matches to compare market prices and make informed wagering decisions. Access comprehensive sports listings, tournament details, and detailed odds data all from a single source.
1xbet.ng API
Access live sports odds and real-time game data across all supported sports from 1xBet Nigeria, letting you monitor current betting markets and available sports instantly. Build applications that track market odds and sports availability as they update in real-time.
superbet.ro API
Access sports betting data from Superbet.ro, including the full sports and competition hierarchy, pre-match and live event listings, detailed odds, boosted prices, popular accumulator suggestions, and Bet Builder markets.