Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.oddspapi.io/llms.txt

Use this file to discover all available pages before exploring further.

We continuously improve the Odds API. This page lists new features, changes, fixes, and breaking changes.
All timestamps are UTC. If a change affects data shape or behavior, it will be marked as Breaking.

2026-04-09

✨ Added

  • Fixture view: venue section — new nested object on all fixture responses with venueId, venueName, and venueLocation. Translated per language.
  • Fixture view: clock section — new nested object on all fixture responses with currentPeriod, currentTime, remainingTime, remainingTimeInPeriod, and stopped. All keys present with null values until clock data is populated for a fixture.
  • Fixture view: participant1ShortName / participant2ShortName — new fields in the participants section of fixture responses, sourced from translated participant data.
  • Fixture view: seasonRound — new field in the season section of fixture responses.
  • Futures view: marketId — the market section in future responses now includes the marketId from the futures table. Name fields (marketName, marketType, playerMarket, participantMarket) remain null for now.
  • Participants endpoint: participantShortName — the GET /{lang}/participants response now includes participantShortName for each participant.
  • New REST endpoint: GET /{lang}/venues?venueIds=... — returns venue data with translated venueName and venueLocation.
  • New WebSocket channel: clocks — delivers live clock updates per fixture (same routing as scores: filtered by fixtureId, sport, tournament). Supports resume/replay.

⚠️ Breaking

  • Fixture response shape changed — all fixture endpoints (REST and WebSocket) now include three new top-level keys: venue (object), clock (object), and updated participants / season sections. Clients parsing fixture responses strictly should update their models.
    • season now includes seasonRound: integer | null
    • participants now includes participant1ShortName: string | null and participant2ShortName: string | null
    • venue: { venueId, venueName, venueLocation } added after season
    • clock: { currentPeriod, currentTime, remainingTime, remainingTimeInPeriod, stopped } added after scores
  • Future response shape changedmarket.marketId is now populated (integer or null) instead of always null.

2025-12-12

✨ Added

  • WebSocket resume & replay support using entryId cursors
  • New WebSocket channels:
    • injuries
    • lineups
    • stats
  • AsyncAPI 3.0 reference for WebSocket gateway

🔧 Improved

  • Reduced WebSocket latency for odds and scores
  • Better filtering for sportIds, tournamentIds, and bookmakers

🐛 Fixed

  • Fixed an issue where some odds updates were delivered without bookmaker gating
  • Fixed incorrect live flag on some fixtures during transitions

2025-11-28

⚠️ Breaking

  • odds.payload.odds keys are now always bookmaker-scoped
    • Old clients expecting a flat structure must update

✨ Added

  • Support for receiveType: "binary" (MessagePack)
  • Added entryId to all update messages

2025-11-10

✨ Added

  • Initial WebSocket gateway
  • Channels:
    • fixtures
    • scores
    • odds
    • bookmakers