parlays

Price a parlay (accumulator) from selected oddsIds.

The legs are grouped by bookmaker and each group's prices are multiplied locally — no bookmaker round-trip and no correlation adjustment. Legs may span several fixtures and sports; for a correlated same-game price use /fixtures/odds/sgp.

Returns one normal fixture view per fixture a leg belongs to, ordered by fixtureId, each with a parlay section added. A cross-fixture parlay appears on every involved fixture with the same entry.

Max 20 legs per request.

get/fixtures/odds/parlay

Request

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

Query parameters

oddsIdsstring required

Comma- or space-separated oddsIds in the form {fixtureId}:{bookmaker}:{outcomeId}:{playerId}. Duplicates are removed and the list is sorted. Each bookmaker's legs form one parlay. Max 20 legs.

Response

One FixtureParlayResponse per involved fixture, ordered by fixtureId.

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 required

bookmakerSlug -> BookmakerFixtureMeta, for the requested bookmakers only.

oddsOddsByBookmaker required
missingOddsIdsstring[]

Requested oddsIds of this fixture that could not be found (unknown bookmaker, unknown or expired oddsId). Present only when at least one leg is missing.

parlayParlayByBookmaker required

bookmakerSlug -> (parlayId -> ParlayEntry). parlayId is the sorted, deduped oddsIds joined by ,. A bookmaker whose legs could not all be found is omitted entirely, so this object can be {}.

Changes