In the previous sections, you’ve learnt about bookmakers and markets and how to retrieve them via our API. Now, let’s take a look at the odds from those bookmakers and markets.
It’s good to note that we’ve separated pre-match odds from live odds. Interested in live odds? Check our live odds section.
An overview of all the options available to request pre-match odds:
GET All Odds: returns all the pre-match odds.
GET Odds by Fixture ID: returns the pre-match odds from your requested fixture id.
GET Odds by Fixture ID and Bookmaker ID: returns the pre-match odds filtered on bookmaker id from your requested fixture id.
GET Odds by Fixture ID and Market ID: returns the pre-match odds filtered on market id from your requested fixture id.
For all the pre-match odds endpoints the base URL is the same:
Per endpoint the rest of the URL requires additional information. We will explain this per endpoint.
Requesting Odds
GET All Odds
The first option is to request all the 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 pre-match odds is the same as the base URL for pre-match odds. All you have to do is authorize the request with your API token. Check our authentication section for more info.
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
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 pre-match odds. You can also retrieve the odds for only a specific fixture.
GET Pre-match 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:
As you might have noticed in the previous example, requesting all the pre-match odds for a single fixture is quite a big response. Maybe you’re only interested in the odds of a specific fixture from a single bookmaker?
This endpoint is perfectly suited for this. The only thing you’ve to do is parse the fixture_id and bookmaker_id you want the odds for:
You can also request all the pre-match 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:
{"data": [ {"id":532896804,"fixture_id":18535517,"market_id":14,"bookmaker_id":1,"label":"No","value":"2.20","name":"No","sort_order":null,"market_description":"Both Teams To Score","probability":"45.45%","dp3":"2.200","fractional":"11/5","american":"120","winning":true,"stopped":false,"total":null,"handicap":null,"participants":null,"created_at":"2022-08-29T13:09:23.000000Z","updated_at":"2023-01-11T22:50:55.000000Z","original_label":null,"latest_bookmaker_update":"2022-09-03 11:16:59" }, {"id":532896802,"fixture_id":18535517,"market_id":14,"bookmaker_id":1,"label":"Yes","value":"1.60","name":"Yes","sort_order":null,"market_description":"Both Teams To Score","probability":"62.5%","dp3":"1.600","fractional":"8/5","american":"-167","winning":false,"stopped":false,"total":null,"handicap":null,"participants":null,"created_at":"2022-08-29T13:09:23.000000Z","updated_at":"2023-01-11T22:50:55.000000Z","original_label":null,"latest_bookmaker_update":"2022-09-03 11:16:59" },//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 pre-match odds available for Celtic vs Rangers (fixture id: 18535517) with the name of the bookmakers, markets and fixture info.
{"data": [ {"id":532896804,"fixture_id":18535517,"market_id":14,"bookmaker_id":1,"label":"No","value":"2.20","name":"No","sort_order":null,"market_description":"Both Teams To Score","probability":"45.45%","dp3":"2.200","fractional":"11/5","american":"120","winning":true,"stopped":false,"total":null,"handicap":null,"participants":null,"created_at":"2022-08-29T13:09:23.000000Z","updated_at":"2023-01-11T22:50:55.000000Z","original_label":null,"latest_bookmaker_update":"2022-09-03 11:16:59","bookmaker": {"id":1,"legacy_id":1,"name":"10Bet" },"market": {"id":14,"legacy_id":976105,"name":"Both Teams To Score","developer_name":"BOTH_TEAMS_TO_SCORE","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:
{"data": [ {"market_description":"Both Teams To Score","value":"2.20","id":532896804,"fixture_id":18535517,"market_id":14,"bookmaker_id":1 }, {"market_description":"Both Teams To Score","value":"1.60","id":532896802,"fixture_id":18535517,"market_id":14,"bookmaker_id":1 }, {"market_description":"Both Teams To Score","value":"2.28","id":532897895,"fixture_id":18535517,"market_id":14,"bookmaker_id":5 }, {"market_description":"Both Teams To Score","value":"1.58","id":532897893,"fixture_id":18535517,"market_id":14,"bookmaker_id":5 },//And more