fixtures/odds

Fixtures Odds Main

Changed on

Get current main odds for multiple fixtures.

Lookup mode: provide exactly one of:

  • tournamentId (recommended)
  • fixtureIds (fast path)

If since is provided, returns odds updates with changedAt >= since.

Capped at 100 fixtures per call. The limit is fixed and cannot be raised by a parameter — limit, offset, cursor and page are not supported and are ignored if sent. Truncation is silent: a tournamentId with more than 100 fixtures, or a fixtureIds list longer than 100, still returns 200 with only the first 100 entries and no warning. To cover a larger tournament, list the fixtures first with /fixtures?tournamentId=... (uncapped) and then request odds in chunks of 100 via fixtureIds.

Response size is driven by the number of bookmakers, not the number of fixtures. A single top-league call with bookmakers=* can return tens of MiB and take ten seconds, while the same call narrowed to one bookmaker returns well under a MiB in under a second. Always pass an explicit bookmakers list in production.

get/fixtures/odds/main

Request

  • Base URL
    https://v5.oddspapi.io/en
  • URL
    https://v5.oddspapi.io/en/fixtures/odds/main
  • Auth
    • API key in query parameter apiKey
    • or API key in header X-API-Key

Query parameters

tournamentIdinteger nullable

Single tournamentId. Required if fixtureIds is not provided. Only the first 100 fixtures of the tournament are returned; see the endpoint description for chunking.

fixtureIdsstring nullable

Comma/space-separated fixtureIds (fast path). Required if tournamentId is not provided. Maximum 100 ids — anything beyond the first 100 is silently dropped.

bookmakersstring nullable

Comma/space-separated bookmaker slugs (default: all).

sinceinteger nullable

changedAt >= since (ms). If provided, returns also inactive odds.

Response

Returns an array of fixtures (fixture meta + odds + bookmaker meta).

fixtureIdstring required

Fixture identifier: {prefix}{sportId}{tournamentId}{nativeId} — see Core Concepts → ID structure.

reissuedFixtureIdstring nullable required

The fixture that replaced this one, when a cancelled fixture has been re-listed under a new id. null is the normal value: it is only ever populated on a cancelled fixture (status.statusId 3) whose replacement already exists in the feed, so permanent cancellations stay null, and a fixture can go from null to an id after you first saw it cancelled. One hop: if the replacement was itself cancelled, follow its own reissuedFixtureId.

previousFixtureIdstring nullable required

The inverse of reissuedFixtureId: the cancelled fixture this one replaced. Unlike the forward pointer this sits on a normal scheduled or live fixture, so a fixture carries its own history even if you never saw the cancelled one. null is the normal value. One hop and one predecessor at most — follow it repeatedly to walk back to the start of a chain, where a fixture postponed twice gives A → B → C and B carries both previousFixtureId: A and reissuedFixtureId: C. Cleared again if a postponement is reverted.

startTimeinteger required

Epoch seconds (UTC).

trueStartTimestring nullable

Actual start time (ISO 8601), once known — may differ from the scheduled startTime.

trueEndTimestring nullable

Actual end time (ISO 8601), once known.

scoresobject required

Score rows keyed by period (result, p1, …).

expectedPeriodsinteger nullable

Number of regular periods expected for this fixture — use it (with periodLength) to interpret period keys per sport/league.

periodLengthinteger nullable

Length of a regular period in minutes.

externalProvidersExternalProviders required
bookmakersobject

Per-bookmaker availability and freshness metadata. Only populated when the bookmakers query parameter is present on the request — otherwise {}. Contains only bookmakers that currently offer valid realtime odds for this fixture. Present on odds endpoints; omitted on CLV, historical-odds and settlement responses.

oddsOddsByBookmaker required

Changes

    • breaking

      the response property ///// became optional for the status

    • breaking

      the ///// response's property type changed from int null to integer null for status

    • breaking

      the ///// response's property type changed from int to integer for status

    • breaking

      the ///// response's property type changed from json null to object null for status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      response property items/allOf[Fixture]/bookmakers/additionalProperties/staleOddsResponseCode deprecated

    • info

      added the required property ///// to the response with the status

    • info

      added the required property ///// to the response with the status