Skip to content

Odds Comparison (API v4)

abler98 edited this page Jan 2, 2024 · 15 revisions

Odds Comparison API

All requests must be authenticated by sending the API key in the apiKey query parameter. Please contact your account manager to receive your personal API key.

We are strongly recommend to use gzip or deflate compression for all requests. It will reduce traffic usage and response time. To enable compression, add Accept-Encoding: gzip, deflate header to your requests. Before adding this header, make sure your HTTP client supports compression.

Base URL

  • Live: https://api-lv.oddsmarket.org
  • Prematch: https://api-pr.oddsmarket.org

URL examples

  • https://api-lv.oddsmarket.org/v4/odds_comparison/countries?apiKey=YOUR_API_KEY
  • https://api-pr.oddsmarket.org/v4/odds_comparison/sports?apiKey=YOUR_API_KEY

Countries

Can be used to build a list of countries. It is recommended to cache this data on your side.

GET /v4/odds_comparison/countries
[
  {
    "id": 2,
    "name": "Italy",
    "code": "it",
    "slug": "italy"
  },
  {
    "id": 3,
    "name": "Brazil",
    "code": "br",
    "slug": "brazil"
  }
]

Countries By IDs

Can be used to get country names by IDs. It is recommended to cache this data on your side.

GET /v4/odds_comparison/countries/{ids}
Parameter Description Type Required
ids List of Country IDs SMALLINT[] Yes
[
  {
    "id": 2,
    "name": "Italy",
    "code": "it",
    "slug": "italy"
  }
]

Leagues

Can be used to build a list of leagues. By default, only leagues with active events are returned.

GET /v4/odds_comparison/leagues?countryId=3&sportId=7
Parameter Description Type Required Default
countryId Country ID SMALLINT *No
sportId Sport ID SMALLINT *No
onlyActive Filter leagues by active events BOOLEAN *No true

* at least one of these parameters is required.

[
  {
    "id": 3945,
    "sportId": 7,
    "name": "Brazil. Cup"
  }
]

Leagues By IDs

Can be used to get league names by IDs. It is recommended to cache this data on your side.

GET /v4/odds_comparison/leagues/{ids}
Parameter Description Type Required
ids List of League IDs INT[] Yes
[
  {
    "id": 3945,
    "sportId": 7,
    "name": "Brazil. Cup"
  }
]

Sports

Can be used to build a list of sports. It is recommended to cache this data on your side.

GET /v4/odds_comparison/sports
[
  {
    "id": 2,
    "name": "Basketball",
    "slug": "basketball"
  },
  {
    "id": 7,
    "name": "Soccer",
    "slug": "soccer"
  },
  {
    "id": 10,
    "name": "American Football",
    "slug": "american-football"
  }
]

Sports By IDs

Can be used to get sport names by IDs. It is recommended to cache this data on your side.

GET /v4/odds_comparison/sports/{ids}
Parameter Description Type Required
ids List of Sport IDs SMALLINT[] Yes
[
  {
    "id": 2,
    "name": "Basketball",
    "slug": "basketball"
  }
]

Bookmakers

Returns a list of bookmakers and bookmaker clones. Can be used to determine bookmaker IDs for other endpoints.

GET /v4/odds_comparison/bookmakers
Parameter Description Type Required Default
includeBookmakerClones Include bookmaker clones BOOLEAN No true
[
  {
    "id": 1,
    "name": "Bookmaker 1",
    "url": "https://bookmaker1.example/"
  },
  {
    "id": 2,
    "name": "Bookmaker 2",
    "url": "https://bookmaker2.example/"
  },
  {
    "id": -1,
    "name": "Bookmaker 3",
    "url": "https://bookmaker3.example/"
  }
]

Note: id can be negative for bookmaker clones.

Bookmakers By IDs

Can be used to get bookmaker names by IDs. It is recommended to cache this data on your side.

GET /v4/odds_comparison/bookmakers/{ids}
Parameter Description Type Required
ids List of Bookmaker IDs SMALLINT[] Yes
[
  {
    "id": 1,
    "name": "Bookmaker 1",
    "url": "https://bookmaker1.example/"
  }
]

Events Count

Returns the number of events for specified bookmakers, markets and periods. Can be used to filter countries, leagues and sports by the number of events.

GET /v4/odds_comparison/events/count?countryIds=2,3&leagueIds=5302,3946,3945,5271&sportIds=2,7&bookmakerIds=200,255
Parameter Description Type Required
leagueIds List of League IDs INT[] *No
sportIds List of Sport IDs SMALLINT[] *No
countryIds List of Country IDs SMALLINT[] *No
bookmakerIds List of Bookmaker IDs to count events SMALLINT[] Yes
marketIds List of Market IDs to count events SMALLINT[] No
periodIdentifiers List of Period identifiers to count events SMALLINT[] No

* at least one of these parameters is required.

{
  "total": 10,
  "leagues": {
    "5302": 7,
    "3946": 2,
    "3945": 1,
    "5271": 0
  },
  "sports": {
    "2": 2,
    "7": 8
  }
}

Events

The main endpoint to get events and odds. Can be used to build a list of events and odds for specified bookmakers, markets and periods.

GET /v4/odds_comparison/events?leagueIds=4780&bookmakerIds=200,255&marketIds=1&periodIdentifiers=0
Parameter Description Type Required
eventIds List of Event IDs (countryIds, leagueIds, sportIds will be ignored) BIGINT[] *No
leagueIds List of League IDs INT[] *No
sportIds List of Sport IDs SMALLINT[] *No
countryIds List of Country IDs SMALLINT[] *No
startedFrom Filter by start datetime (event must be started after this timestamp) BIGINT (milliseconds since epoch) No
startedTo Filter by start datetime (event must be started before this timestamp) BIGINT (milliseconds since epoch) No
nameContains Filter by name VARCHAR No
bookmakerIds List of Bookmaker IDs to filter events by availability for one of specific Bookmaker IDs SMALLINT[] Yes
marketIds List of Market IDs to fetch outcomes in specified markets SMALLINT[] No
periodIdentifiers List of Period identifiers to fetch outcomes for specified periods SMALLINT[] No
includeLiveStatus Include live status (isLive field) in response (prematch only) BOOLEAN No

* at least one of these parameters is required.

[
  {
    "id": 55195165,
    "name": "Montana - Marek Dupnitsa",
    "score": "0:0 (0:0)",
    "leagueId": 4304,
    "leagueName": "Bulgaria. B PFG",
    "sportId": 7,
    "sportName": "Soccer",
    "homeId": 1841,
    "homeName": "Montana",
    "awayId": 102631,
    "awayName": "Marek Dupnitsa",
    "startedAt": 1701705600000,
    "isLive": true,
    "bookmakers": [
      {
        "id": 1,
        "rawId": "1582979022",
        "directLink": "1582979022"
      }
    ],
    "markets": [
      {
        "marketId": 1,
        "marketTitle": "1X2",
        "outcomes": [
          {
            "marketAndBetTypeId": 12,
            "betTypeTitle": "X",
            "marketAndBetTypeParam": 0.0,
            "periodIdentifier": 0,
            "periodName": "match",
            "playerId1": 0,
            "playerId2": 0,
            "values": [
              {
                "bookmakerId": 1,
                "odds": 2.28,
                "oddsLay": 1.96
              },
              {
                "bookmakerId": 2,
                "odds": 2.6
              },
              {
                "bookmakerId": -65,
                "odds": 2.28
              }
            ]
          }
        ]
      }
    ]
  }
]

Response schema

Field Description Type
root List of events Event[]

Event

Field Description Type Optional
id Event ID BIGINT false
name Event name VARCHAR false
score Current score VARCHAR true
leagueId League ID INT false
leagueName League name VARCHAR false
sportId Sport ID SMALLINT false
sportName Sport name VARCHAR false
homeId Home team ID INT false
homeName Home team name VARCHAR false
awayId Away team ID INT false
awayName Away team name VARCHAR false
startedAt Start date BIGINT (milliseconds since epoch) false
isLive Indicates the status of live event (prematch only). Available when includeLiveStatus set to true. May be absent if live event has not yet beet created. BOOLEAN true
bookmakers List of bookmakers with raw IDs and direct links EventBookmaker[] false
markets List of available markets EventMarket[] false

EventBookmaker

Field Description Type Optional
id Bookmaker ID SMALLINT false
rawId Event ID from bookmaker VARCHAR true
directLink Direct link VARCHAR true

EventMarket

Field Description Type Optional
marketId Market ID SMALLINT false
marketTitle Market title VARCHAR false
outcomes Event outcomes container EventOutcome[] false

EventOutcome

Field Description Type Optional
marketAndBetTypeId Market and bet type ID SMALLINT false
betTypeTitle Bet type title VARCHAR false
marketAndBetTypeParam Market and bet type parameter (nominal) FLOAT false
periodIdentifier Period identifier SMALLINT false
periodName Period name VARCHAR false
playerId1 Player ID 1 INT true
playerName1 Player name 1 VARCHAR true
playerId2 Player ID 2 INT true
playerName2 Player name 2 VARCHAR true
bookmakers DEPRECATED. List of odds by bookmakers Map from bookmaker ID (SMALLINT) to odds (FLOAT) false
layOdds DEPRECATED. List of lay odds (price) value of the reverse outcome in decimal format. Valid only for betting exchanges. Map from bookmaker ID (SMALLINT) to lay odds (FLOAT) true
values List of EventOutcomeValue EventOutcomeValue[] false

EventOutcomeValue

Field Description Type Optional
bookmakerId Bookmaker ID SMALLINT false
odds Bookmaker odds FLOAT false
oddsLay Bookmaker lay odds (price) value of the reverse outcome in decimal format. Valid only for betting exchanges. FLOAT true

oddsLay

Betting exchanges have back price and lay price on each outcome. odds field contains back prices, oddsLay contains lay prices.

To calculate reverse price, you need to use the following formula:

{back price} = 1 / (1 - 1 / {lay price})

Event Markets

Returns a list of available markets (without odds) for specified event ID. Can be used to build a list of markets.

GET /v4/odds_comparison/events/{eventId}/markets?bookmakerIds=200,255
Parameter Description Type Required
eventId Event ID BIGINT Yes
bookmakerIds List of Bookmaker IDs to filter markets SMALLINT[] Yes
periodIdentifiers List of Period identifiers to filter markets SMALLINT[] No
[
  {
    "marketId": 1,
    "marketTitle": "1X2",
    "outcomes": [
      {
        "marketAndBetTypeId": 12,
        "betTypeTitle": "X",
        "marketAndBetTypeParam": 0.0,
        "periodIdentifier": 0,
        "periodName": "match",
        "playerId1": 0,
        "playerId2": 0
      }
    ]
  }
]

Response schema

Similar to markets in Events response, but without bookmakers field.

Field Description Type
root List of markets Market[]

Market

Field Description Type Optional
marketId Market ID SMALLINT false
marketTitle Market title VARCHAR false
outcomes Market outcomes container MarketOutcome[] false

MarketOutcome

Field Description Type Optional
marketAndBetTypeId Market and bet type ID SMALLINT false
betTypeTitle Bet type title VARCHAR false
marketAndBetTypeParam Market and bet type parameter (nominal) FLOAT false
periodIdentifier Period identifier SMALLINT false
periodName Period name VARCHAR false
playerId1 Player ID 1 INT true
playerName1 Player name 1 VARCHAR true
playerId2 Player ID 2 INT true
playerName2 Player name 2 VARCHAR true
Clone this wiki locally