GET odds-by-tournaments

Retrieves odds for all events in a specified league.

Endpoint

GET /v4/odds-by-tournaments

Request Parameters

  • tournamentIds* (string) A comma-separated list of league IDs.
  • bookmakers (string) Docs.GetOddsByTournaments.bookmakers_param
  • language (string) (Optional) Language code for translated labels (e.g., en, de, es). Default is en.
  • verbosity (number) (Optional) The verbosity level to control the detail of the response.
  • oddsFormat (string) (Optional) Format of odds in the response. (e.g. decimal, american).

Example Request

GET /v4/odds-by-tournaments?tournamentIds=17&bookmakers=pinnacle&language=en&verbosity=3

Example Response

{
  "fixtureId": "id1000001761301153",
  "participant1Id": 35,
  "participant2Id": 34,
  "sportId": 10,
  "tournamentId": 17,
  "seasonId": 130281,
  "statusId": 0,
  "hasOdds": true,
  "startTime": "2026-04-13T19:00:00.000Z",
  "trueStartTime": null,
  "trueEndTime": null,
  "updatedAt": "2026-04-06T23:17:08.202Z",
  "bookmakerOdds": {
    "pinnacle": {
      "bookmakerIsActive": true,
      "bookmakerFixtureId": "1626291706",
      "fixturePath": "https://www.pinnacle.com/en/e/e/e/1626291706/#all",
      "suspended": false,
      "markets": {
        "1012": {
          "bookmakerMarketId": "line/29/1980/1626291706/56152425451/0/totals",
          "marketActive": true,
          "outcomes": {
            "1012": {
              "players": {
                "0": {
                  "active": true,
                  "betslip": null,
                  "bookmakerOutcomeId": "3.5/over",
                  "bookmakerChangedAt": "2026-04-13T09:24:46.990Z",
                  "changedAt": "2026-04-13T09:24:47.424Z",
                  "limit": 20000,
                  "playerName": null,
                  "price": 2.71,
                  "priceAmerican": "171",
                  "priceFractional": "171/100",
                  "mainLine": false,
                  "exchangeMeta": null
                }
              }
            },
            "1013": {
              "players": {
                "0": {
                  "active": true,
                  "betslip": null,
                  "bookmakerOutcomeId": "3.5/under",
                  "bookmakerChangedAt": "2026-04-13T09:11:04.603Z",
                  "changedAt": "2026-04-13T09:11:05.099Z",
                  "limit": 40241,
                  "playerName": null,
                  "price": 1.497,
                  "priceAmerican": "-201",
                  "priceFractional": "49/99",
                  "mainLine": false,
                  "exchangeMeta": null
                }
              }
            }
          }
        }
      }
    }
  }
}

Response (200 OK)

On a successful request, the server responds with a status code 200 and returns a JSON object containing events with their associated odds.

Top-Level Fields

  • fixtureId (string) The unique identifier of the event to retrieve scores for.
  • participant1Id (number) ID of first participant.
  • participant2Id (number) ID of second participant.
  • sportId (number)The unique identifier for the sport. This ID must correspond to an existing sport.
  • tournamentId (number)The unique identifier for the league. This ID must correspond to an existing league.
  • seasonId (number|null) ID of the season, if applicable.
  • statusId (number) Fixture status code (e.g., 0 = Pre-Game, 1 = Scheduled, 2 = In-Play, 3 = Ended).
  • hasOdds (boolean) Whether odds data is available for this fixture.
  • startTime (string)ISO 8601 start time.
  • trueStartTime (string|null) Actual start time if different from scheduled (e.g., delayed kick-off).
  • trueEndTime (string|null) Actual end time of the fixture, if available.
  • updatedAt (string) ISO 8601 timestamp for last update (UTC).
  • bookmakerOdds (object) Odds grouped by bookmaker slug:
    • bookmakerIsActive (boolean) Whether this bookmaker is currently active for this fixture (mostly indicates whether we collect the data from this bookmaker).
    • bookmakerFixtureId (string) Unique event ID used by the bookmaker.
    • fixturePath (string) Link to the bookmaker's betting page for the event.
    • suspended (boolean) Whether all markets for this bookmaker are currently suspended.
    • markets (object) Object containing market IDs as keys and their corresponding market data:
      • bookmakerMarketId (string) Internal market ID or path used by the bookmaker.
      • marketActive (boolean) Whether this specific market is currently active.
      • outcomes (object) Map of outcome IDs to outcome data:
        • players (object) Map of player IDs to player-level pricing:
          • active (boolean) Whether the odds are currently active.
          • betslip (string|null) Betslip deep-link or identifier, if available.
          • bookmakerOutcomeId (string) Bookmaker's outcome label.
          • bookmakerChangedAt (string|null) ISO 8601 timestamp of the bookmaker's last reported change, if provided.
          • changedAt (string) Timestamp of the last change to the odds.
          • limit (number|null) The maximum stake allowed for the odds.
          • playerName (string|null) Player name for player-prop markets; null for standard markets.
          • price (number) Odds in decimal format.
          • priceAmerican (string) Odds in American format (e.g., "-201", "171").
          • priceFractional (string) Odds in fractional format (e.g., "49/99").
          • mainLine (boolean) Whether this is the primary/main line for the market.
          • exchangeMeta (any|null) Additional metadata for exchange-based bookmakers (e.g., liquidity, lay price).

Notes

  • Endpoint cooldown (rate limit): 1000ms
  • If no bookmakers parameter is specified, odds from all available bookmakers are included.
  • All timestamps are in UTC (ISO 8601).
  • All three price formats (price, priceAmerican, priceFractional) are always returned regardless of the oddsFormat query parameter.
Previous pageGET odds
Report an issue
OddsPapi | Docs GET odds by tournaments