Table of Contents

API Documentation

GetFixtures

The endpoint {fixtures} allows you to retrieve active fixtures in one sport from one country. Active fixtures are all fixtures in a state before and up to 2 hours after their cut-off date. Mandatory input parameters are the Sport ID and the Country. The fixtures are returned together with their markets, options, and prices. The refresh interval for this endpoint is 2 seconds.

Betting Insights (optional enrichment)

Betting Insights are not a standalone endpoint. They are an optional enrichment of this fixtures response, requested with the isBettingInsightsEnabled query parameter. When enabled and supported, each eligible fixture is enriched with a bettingInsights object describing the distribution of bets across market options.

Eligibility — Even with isBettingInsightsEnabled=true, a fixture is enriched only when all of the following server-side conditions are met (configured via BettingInsightsConfig):

  • The requesting Login Domain ID is in SupportedLoginDomainIds.
  • The fixture's trading partition (version) is in SupportedTradingPartitionIds (pre-match only).
  • The fixture's sport + competition pair is listed in SupportedSportCompetitionIds.
  • The fixture is not in-play.

Insights are computed only for main markets, and only for markets that have more than one option and whose total bet weight exceeds the configured MinimumBetThreshold. Results are cached in memory per sportId-fixtureId for CacheDurationMinutes.

Example (enriched fixture excerpt)

{
  "bettingInsights": {
    "marketOptions": [
      {
        "marketId": "123456",
        "options": [
          { "optionId": "1", "percentageBets": 0.72 },
          { "optionId": "2", "percentageBets": 0.28 }
        ]
      }
    ]
  }
}

Behavior notes — The upstream Bestseller API is queried per fixture with the fixture's sport, competition, and main-market IDs; the raw option weights are aggregated into percentageBets. Markets with a single option, or whose combined weight does not exceed MinimumBetThreshold, are excluded. If the Bestseller API returns no data (or is unreachable), the fixture is returned without a bettingInsights object rather than failing the request.

Configuration reference (BettingInsightsConfig)

Setting Type Default Description
SupportedLoginDomainIds int[] Login domains allowed to receive insights.
SupportedTradingPartitionIds int[] Trading partitions (versions) eligible for insights; pre-match only.
SupportedSportCompetitionIds map<int,int[]> Allowed competition IDs per sport ID.
BestsellerApiBaseUrl string Base URL of the upstream Bestseller service.
MaxBestsellerOptions int 50 Max option items requested from Bestseller per call.
MinimumBetThreshold int 0 Minimum total market weight required for a market to be included.
CacheDurationMinutes int 10 In-memory cache lifetime per sportId-fixtureId.
CountryIdOverride int? Optional country segment for the Bestseller URL.
EnableLogging bool false Enables verbose insight-flow logging.
Request
GET /offer/api/{sportId}/{country}/fixtures[?language&competitionIds&fixtureIds&isInPlay&onlyMainMarkets&since&marketsFilterCriteria&isBettingInsightsEnabled]
Parameters
Name Type Default Notes
*sportId

The unique ID of the sport. Mandatory.

*country

The country's Alpha-2 code, as defined in ISO 3166. Mandatory. See https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes for details.

language en

The Language Code as defined in the list of supported language codes. If not specified, "en" is assumed.

competitionIds

A list of Competition IDs. Make sure that the competitions are defined for the specified sport.

fixtureIds

A list of unique IDs of fixtures. Optional. Limits the response to the fixtures with the given IDs.

isInPlay

A filter for including only fixtures in pre-match ({false}) or in-play ({true}) state. If not specified, both are included.

onlyMainMarkets True

A filter to include only markets previously defined as main markets, including the balanced line markets.

since

A timestamp in UTC time. Data is retrieved from this point up to now. Format: {yyyyMMddHHmmss}.

marketsFilterCriteria

Use this filter to return markets based on input, If pass Visible then It will return only visible markets

isBettingInsightsEnabled False

When {true}, eligible fixtures in the response are enriched with a bettingInsights object describing the distribution of bets across market options. When {false} (default), no insights are added. A fixture is enriched only when it meets the server-side eligibility rules (supported login domain, supported trading partition (pre-match only), supported sport/competition, and not in-play), and insights are computed only for main markets with more than one option.

Responses
Status Code Type Description Samples
200 FixtureResultEnvelope

Success

GetFixtureIndex

The endpoint {fixtureIndex} allows you to retrieve an overview of the active fixtures in one sport from one country. "Active" fixtures are all fixtures in a state before and up to 2 hours after their cut-off date. Mandatory input parameters are the Sport ID and the Country Code. The fixtures are returned without markets, options, and prices. The refresh interval for this endpoint is 2 seconds.

Request
GET /offer/api/{sportId}/{country}/fixtureIndex[?language&competitionIds&fixtureIds&isInPlay&since]
Parameters
Name Type Default Notes
*sportId

The unique ID of the sport. Mandatory.

*country

The country's Alpha-2 code, as defined in ISO 3166. Mandatory. See https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes for details.

language en

The Language Code as defined in the list of supported language codes. If not specified, "en" is assumed.

competitionIds

A list of Competition IDs. Make sure that the competitions are defined for the specified sport.

fixtureIds

A list of unique IDs of fixtures. Optional. Limits the response to the fixtures with the given IDs.

isInPlay

A filter for including only fixtures in pre-match ({false}) or in-play ({true}) state. If not specified, both are included.

since

A timestamp in UTC time. Data is retrieved from this point up to now. Format: {yyyyMMddHHmmss}.

Responses
Status Code Type Description Samples
200 FixtureIndexResultEnvelope

Success

GetCompetitions

The endpoint {competitions} allows you to retrieve the available competitions in one sport from one country. Mandatory input parameters are the Sport ID and the Country Code. The refresh interval for this endpoint is 1 second.

Request
GET /offer/api/{sportId}/{country}/competitions[?participants&language]
Parameters
Name Type Default Notes
*sportId

The unique ID of the sport. Mandatory.

*country

The country's Alpha-2 code, as defined in ISO 3166. Mandatory.
See https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes for details.

participants

A filter for including the list of participants (teams/players) in the competition ({true}) or not ({false}). Optional. If not specified, the list is not included.

language en

The Language Code as defined in the list of supported language codes. If not specified, "en" is assumed.

Responses
Status Code Type Description Samples
200 CompetitionResultEnvelope

Success

GetSports

The endpoint {sports} allows you to retrieve available sports in one country. Mandatory input parameter is the Country Code. The refresh interval for this endpoint is 1 second.

Request
GET /offer/api/{country}/sports[?language]
Parameters
Name Type Default Notes
*country

The country's Alpha-2 code, as defined in ISO 3166.
Mandatory. See https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes for details.

language en

The Language Code as defined in the list of supported language codes. If not specified, "en" is assumed.

Responses
Status Code Type Description Samples
200 SportResultEnvelope

Success

GetSupportedLanguageCodes

The endpoint {languageCodes} allows you to retrieve the complete list of supported language codes.

Request
GET /offer/api/languageCodes
Responses
Status Code Type Description Samples
200 array

Success

GetScoreboards

The endpoint {scoreboards} allows you to retrieve the basic scoreboard information for fixtures: the current state of a fixture, the period the event is in and the current score (if applicable for this type of fixture), and the elapsed minutes and seconds. Mandatory input parameters are the Sport ID, and the Country. The refresh interval for this endpoint is 2 seconds.

Request
GET /offer/api/{sportId}/{country}/scoreboards[?competitionIds&fixtureIds&since]
Parameters
Name Type Default Notes
*sportId

The unique ID of the sport. Mandatory.

*country

The country's Alpha-2 code, as defined in ISO 3166. Mandatory. See https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes for details.

competitionIds

A list of Competition IDs. Make sure that the competitions are defined for the specified sport.

fixtureIds

A list of unique IDs of fixtures. Optional. Limits the response to the fixtures with the given IDs.

since

A timestamp in UTC time. Data is retrieved from this point up to now. Format: {yyyyMMddHHmmss}.

Responses
Status Code Type Description Samples
200 ScoreboardResultEnvelope

Success

GetPreCreatedBuildBets

The endpoint {preCreatedBuildBets} retrieves all pre-created BuildBet (Same Game Parlay) markets available across all sports. Returns pre-created BuildBet markets, optionally filtered by fixture, minimum number of legs, and BuildBet-tab visibility. The response is wrapped in the standard result envelope and includes a next link (in the envelope links) for continuation.

Note: Pre-created BuildBets are served only when the feature is enabled on the server (EnableSGPBetBuilderMarkets). When disabled, the endpoint returns an empty result set.

Examples

GET /offer/api/preCreatedBuildBets?totalLegs=3&visibleOnBetBuilderTabEnabled=true
GET /offer/api/preCreatedBuildBets?fixtureIds={fixtureId}&totalLegs=2

Behavior notes

Data is read from the server-side BuildBet index (Redis) and filtered in this order:

  1. Match against the requested fixtureIds (if any).
  2. Keep only legs matching visibleOnBetBuilderTabEnabled.
  3. Keep only markets whose remaining leg count is greater than or equal to totalLegs.
  4. Drop markets that have no legs left after filtering.

When caching is enabled, a cache header is applied using the PreCreatedBuildBets cache setting.

Request
GET /offer/api/preCreatedBuildBets[?totalLegs&fixtureIds&visibleOnBetBuilderTabEnabled]
Parameters
Name Type Default Notes
totalLegs 0

Returns only BuildBet markets whose number of available legs is greater than or equal to the provided value.

fixtureIds

A list of fixture IDs, provided in full (compound) format. When supplied, only BuildBets for the matching fixtures are returned.

visibleOnBetBuilderTabEnabled True

Filters the legs included in a fixture by their BuildBet-tab visibility. When {true} (default), only legs flagged as visible on the BuildBet tab are returned; when {false}, only legs not flagged visible are returned.

Responses
Status Code Type Description Samples
200 BuildBetResultEnvelope

Success

Definitions

FixtureResultEnvelope

Name Type Notes
items Fixture[]
count integer (int32)
links object
type ResponseType

Fixture

Name Type Notes
markets Market[]
id CompoundIdentifier[]
name SignedTranslation[]
version ObjectVersion
startDateUtc string (date-time)
cutOffDateUtc string (date-time)
isInPlay boolean
isDisplayed boolean
isOpenForBetting boolean
isPlannedInPlay boolean
state string
type string
fixtureGroupId integer (int32)
competition Tag[]
region Tag[]
participantType string
participants Participant[]
bettingInsights BettingInsights[]

Market

Name Type Notes
id integer (int64)
name SignedTranslation[]
marketType string
happening string
period string
subPeriod string
value number (double)
isDisplayed boolean
isOpenForBetting boolean
isBalancedLine boolean
options Option[]

SignedTranslation

Name Type Notes
text string
sign string
shortText string
shortTextSign string

Option

Name Type Notes
id integer (int64)
name SignedTranslation[]
price Price[]
isDisplayed boolean
isOpenForBetting boolean

Price

Name Type Notes
fraction Fraction[]
odds number (double)
usOdds number (double)

Fraction

Name Type Notes
numerator integer (int32)
denominator integer (int32)

CompoundIdentifier

Name Type Notes
full string
entityId integer (int64)

ObjectVersion

Enum Values
1
2

Tag

Name Type Notes
id integer (int64)
name Translation[]

Translation

Name Type Notes
text string
shortText string

Participant

Name Type Notes
id integer (int64)
name Translation[]
participantTag string

BettingInsights

Name Type Notes
marketOptions BettingInsightsMarketOption[]

BettingInsightsMarketOption

Name Type Notes
marketId string
options BettingInsightsOption[]

BettingInsightsOption

Name Type Notes
optionId string
percentageBets number (double)

ResponseType

FixtureIndexResultEnvelope

Name Type Notes
items FixtureIndex[]
count integer (int32)
links object
type ResponseType

FixtureIndex

Name Type Notes
id CompoundIdentifier[]
name SignedTranslation[]
version ObjectVersion
startDateUtc string (date-time)
cutOffDateUtc string (date-time)
isInPlay boolean
isDisplayed boolean
isOpenForBetting boolean
isPlannedInPlay boolean
state string
type string
fixtureGroupId integer (int32)
competition Tag[]
region Tag[]
participantType string
participants Participant[]

CompetitionResultEnvelope

Name Type Notes
items Competition[]
count integer (int32)
links object
type ResponseType

Competition

Name Type Notes
id integer (int32)
version ObjectVersion
region Tag[]
name Translation[]
type string
competitionGroupId integer (int32)

SportResultEnvelope

Name Type Notes
items Sport[]
count integer (int32)
links object
type ResponseType

Sport

Name Type Notes
id integer (int64)
name Translation[]

ScoreboardResultEnvelope

Name Type Notes
items Scoreboard[]
count integer (int32)
links object
type ResponseType

Scoreboard

Name Type Notes
id CompoundIdentifier[]
version ObjectVersion
period string
state string
score string
time ScoreboardTime[]
happenings Happening[]

ScoreboardTime

Name Type Notes
minutes integer (int32)
seconds integer (int32)
isRunning boolean

Happening

Name Type Notes
id integer (int64)
type string
value string
timer HappeningTimer[]

HappeningTimer

Name Type Notes
minutes integer (int32)
seconds integer (int32)

BuildBetResultEnvelope

Name Type Notes
items BuildBet[]
count integer (int32)
links object
type ResponseType

BuildBet

Name Type Notes
mainFixtureId string
legOptions LegOption[]

LegOption

Name Type Notes
visibleOnBetBuilderTabEnabled boolean