Live(Inplay) odds

In the previous sections, you’ve learnt about pre-match odds and how to retrieve them via our API. Now, let’s take a look at live odds.

It’s good to note that the free plan does not have access to live odds. You need advanced data features for this.

An overview of all the options available to request pre-match odds:

  • GET All Inplay Odds: returns all the live odds.

  • GET Inplay Odds by Fixture ID: returns the live odds from your requested fixture id.

  • GET Inplay Odds by Fixture ID and Bookmaker ID: returns the live odds filtered on bookmaker id from your requested fixture id.

  • GET Inplay Odds by Fixture ID and Market ID: returns the live odds filtered on market id from your requested fixture id.

For all the inplay odds endpoints the base URL is the same:

https://api.sportmonks.com/v3/football/odds/inplay

Per endpoint the rest of the URL requires additional information. We will explain this per endpoint.

Requesting live odds

GET All Inplay Odds

The first option is to request all the inplay odds available in our APIs. With this information, you can determine if the odds you’re interested in are available.

The URL to get all inplay odds is the same as the base URL for inplay odds. All you have to do is authorize the request with your API token. Check our authentication section for more info.

https://api.sportmonks.com/v3/football/odds/inplay?api_token=YOUR_TOKEN
Response
{
  "data": [
    {
      "id": 1,
      "fixture_id": 18476561,
      "market_id": 1,
      "bookmaker_id": 2,
      "label": "1",
      "value": "1.00",
      "name": "Bucheon FC 1995",
      "sort_order": 0,
      "market_description": "Fulltime Result",
      "probability": "100%",
      "dp3": "1.00",
      "fractional": "1/500",
      "american": "-100",
      "winning": false,
      "suspended": true,
      "stopped": true,
      "total": null,
      "handicap": null,
      "participants": "7361|7361",
      "latest_bookmaker_update": null
    },
    {
      "id": 2,
      "fixture_id": 18476561,
      "market_id": 1,
      "bookmaker_id": 2,
      "label": "X",
      "value": "51.00",
      "name": "Draw",
      "sort_order": 1,
      "market_description": "Fulltime Result",
      "probability": "1.96%",
      "dp3": "51.00",
      "fractional": "50/1",
      "american": "5000",
      "winning": false,
      "suspended": true,
      "stopped": true,
      "total": null,
      "handicap": null,
      "participants": null,
      "latest_bookmaker_update": null
    },
    //And more

Let’s take a look together at the key values the API returns:

  • id: the unique id of the odd

  • fixture_id: the unique fixture id the odd is available for

  • external_id: the unique id of the odd from the bookmaker

  • market_id: the unique id of the market the odd belongs to

  • bookmaker_id: the unique id of the bookmaker who offers the odd

  • label: the label name of the odd

  • value: the odd value

  • name: the name of the odd

  • sort_order: n/a

  • market_description: the description of the market the odd belongs to

Now you’ve gathered an overview of the available inplay odds. You can also retrieve the odds for only a specific fixture.

GET Inplay Odds by Fixture ID

A lot of our customers are not interested in all odds, but only in odds of a specific fixture. This endpoint is perfectly suited for this. The only thing you’ve to do is parse the fixture_id you want the odds for:

https://api.sportmonks.com/v3/football/odds/inplay/fixtures/{fixture_id}

For example, if you’re interested in the inplay odds available for Celtic vs Rangers (fixture id: 18535517)

https://api.sportmonks.com/v3/football/odds/inplay/fixtures/18535517?api_token=YOUR_TOKEN
Response
{
  "data": [
    {
      "id": 1164529053,
      "fixture_id": 18535517,
      "market_id": 5,
      "bookmaker_id": 2,
      "label": "Over",
      "value": "26.00",
      "name": null,
      "sort_order": 1,
      "market_description": "Alternative Match Goals",
      "probability": "3.85%",
      "dp3": "26.00",
      "fractional": "25/1",
      "american": "2500",
      "winning": false,
      "suspended": true,
      "stopped": true,
      "total": "7.5",
      "handicap": null,
      "participants": null,
      "latest_bookmaker_update": null
    },
    {
      "id": 1164529067,
      "fixture_id": 18535517,
      "market_id": 5,
      "bookmaker_id": 2,
      "label": "Under",
      "value": "1.01",
      "name": null,
      "sort_order": 2,
      "market_description": "Alternative Match Goals",
      "probability": "99.01%",
      "dp3": "1.01",
      "fractional": "1/100",
      "american": "-10000",
      "winning": false,
      "suspended": true,
      "stopped": true,
      "total": "7.5",
      "handicap": null,
      "participants": null,
      "latest_bookmaker_update": null
    },
    //And more

GET Inplay Odds by Fixture ID and Bookmaker ID

You can also opt for the option to request the live odds for one fixture from one specific bookmaker.

It’s good to note that at the moment we only have live odds from bet365. This might change in the future. Therefore we’ve implemented this endpoint already.

To achieve this, the only thing you’ve to do is parse the fixture_id and bookmaker_id you want the odds for:

https://api.sportmonks.com/v3/football/odds/inplay/fixtures/{fixture_id}/bookmakers/{bookmaker_id}

For example, if you’re interested in the inplay odds from bet365 (id: 2) available for Celtic vs Rangers (fixture id: 18535517)

https://api.sportmonks.com/v3/football/odds/inplay/fixtures/18535517/bookmakers/2?api_token=YOUR_TOKEN
Response
{
  "data": [
    {
      "id": 1164529053,
      "fixture_id": 18535517,
      "market_id": 5,
      "bookmaker_id": 2,
      "label": "Over",
      "value": "26.00",
      "name": null,
      "sort_order": 1,
      "market_description": "Alternative Match Goals",
      "probability": "3.85%",
      "dp3": "26.00",
      "fractional": "25/1",
      "american": "2500",
      "winning": false,
      "suspended": true,
      "stopped": true,
      "total": "7.5",
      "handicap": null,
      "participants": null,
      "latest_bookmaker_update": null
    },
    {
      "id": 1164529067,
      "fixture_id": 18535517,
      "market_id": 5,
      "bookmaker_id": 2,
      "label": "Under",
      "value": "1.01",
      "name": null,
      "sort_order": 2,
      "market_description": "Alternative Match Goals",
      "probability": "99.01%",
      "dp3": "1.01",
      "fractional": "1/100",
      "american": "-10000",
      "winning": false,
      "suspended": true,
      "stopped": true,
      "total": "7.5",
      "handicap": null,
      "participants": null,
      "latest_bookmaker_update": null
    },
    //And more

GET Inplay Odds by Fixture ID and Market ID

You can also request all the inplay odds from a specific market and a specific fixture. The only thing you’ve to do is parse the fixture_id and market_id you want the odds for:

https://api.sportmonks.com/v3/football/odds/inplay/fixtures/{fixture_id}/markets/{market_id}

For example, if you’re interested in the inplay odds from the alternative match goals market (id: 5) available for Celtic vs Rangers (fixture id: 18535517)

https://api.sportmonks.com/v3/football/odds/inplay/fixtures/18535517/markets/5?api_token=YOUR_TOKEN
Response
{
  "data": [
    {
      "id": 1163842592,
      "fixture_id": 18535517,
      "market_id": 5,
      "bookmaker_id": 2,
      "label": "Over",
      "value": "1.06",
      "name": null,
      "sort_order": 1,
      "market_description": "Alternative Match Goals",
      "probability": "94.34%",
      "dp3": "1.06",
      "fractional": "1/16",
      "american": "-1667",
      "winning": false,
      "suspended": true,
      "stopped": true,
      "total": "0.5",
      "handicap": null,
      "participants": null,
      "latest_bookmaker_update": null
    },
    {
      "id": 1163842598,
      "fixture_id": 18535517,
      "market_id": 5,
      "bookmaker_id": 2,
      "label": "Under",
      "value": "10.00",
      "name": null,
      "sort_order": 2,
      "market_description": "Alternative Match Goals",
      "probability": "10%",
      "dp3": "10.00",
      "fractional": "9/1",
      "american": "900",
      "winning": false,
      "suspended": true,
      "stopped": true,
      "total": "0.5",
      "handicap": null,
      "participants": null,
      "latest_bookmaker_update": null
    },
    // And more

Adding useful information

As you’ve learnt in the includes tutorial, you can enrich your request with includes. This section will discuss some of the most common requests used on the odds endpoints.

First of all, you can find a list of all available includes on the endpoint pages. For the odds, there are only 3 includes available:

  • market: includes the market information the oddd belongs to.

  • bookmaker: includes the bookmaker information of the bookmaker that offers the odd.

  • fixture: includes the fixture information the odds is available for.

For example, if you’re interested in the inplay odds available for Celtic vs Rangers (fixture id: 18535517) with the name of the bookmakers, markets and fixture info.

https://api.sportmonks.com/v3/football/odds/inplay/fixtures/18535517?api_token=YOUR_TOKEN&include=bookmaker;market;fixture
Response
{
  "data": [
    {
      "id": 1164529053,
      "fixture_id": 18535517,
      "market_id": 5,
      "bookmaker_id": 2,
      "label": "Over",
      "value": "26.00",
      "name": null,
      "sort_order": 1,
      "market_description": "Alternative Match Goals",
      "probability": "3.85%",
      "dp3": "26.00",
      "fractional": "25/1",
      "american": "2500",
      "winning": false,
      "suspended": true,
      "stopped": true,
      "total": "7.5",
      "handicap": null,
      "participants": null,
      "latest_bookmaker_update": null,
      "bookmaker": {
        "id": 2,
        "legacy_id": 2,
        "name": "bet365"
      },
      "market": {
        "id": 5,
        "legacy_id": 136703813,
        "name": "Alternative Match Goals",
        "developer_name": "ALTERNATIVE_MATCH_GOALS",
        "has_winning_calculations": true
      },
      "fixture": {
        "id": 18535517,
        "sport_id": 1,
        "league_id": 501,
        "season_id": 19735,
        "stage_id": 77457866,
        "group_id": null,
        "aggregate_id": null,
        "round_id": 274719,
        "state_id": 5,
        "venue_id": 8909,
        "name": "Celtic vs Rangers",
        "starting_at": "2022-09-03 11:30:00",
        "result_info": "Celtic won after full-time.",
        "leg": "1/1",
        "details": null,
        "length": 90,
        "placeholder": false,
        "last_processed_at": "2023-03-02 17:47:38",
        "has_odds": true,
        "starting_at_timestamp": 1662204600
      }
    },
    // And more

Selecting and filtering

In our filtering tutorial you’ve learnt how to select specific fields or filter only on the data you’re interested in. Our API returns a set of data related to the odd by default. We can imagine you’re not interested in all the odds data the API returns. Let’s say you’re only interested in the market description and value.

You can add the &select= parameter followed by the fields you want. In our case: market_description,value. This results in the below request and response:

https://api.sportmonks.com/v3/football/odds/inplay/fixtures/18535517?api_token=YOUR_TOKEN&select=market_description,value
Response
{
  "data": [
    {
      "market_description": "Alternative Match Goals",
      "value": "26.00",
      "id": 1164529053,
      "fixture_id": 18535517,
      "market_id": 5,
      "bookmaker_id": 2
    },
    {
      "market_description": "Alternative Match Goals",
      "value": "1.01",
      "id": 1164529067,
      "fixture_id": 18535517,
      "market_id": 5,
      "bookmaker_id": 2
    },
    {
      "market_description": "Half Time/Full Time",
      "value": "251.00",
      "id": 1163842633,
      "fixture_id": 18535517,
      "market_id": 29,
      "bookmaker_id": 2
    },
    {
      "market_description": "Final Score",
      "value": "126.00",
      "id": 1163842664,
      "fixture_id": 18535517,
      "market_id": 8,
      "bookmaker_id": 2
    },
    // And more

Check our filtering tutorial for more tips and tricks.

Last updated