Bet Builders

Sport bet builders related endpoints

get
/api/sports/bet_builders/recommended

Returns personalized bet builder recommendations.

Produces recommended bet builders based on the provided input.

If the event_id parameter is passed, then count bet builders for the given event will be generated.

If an event_id is not provided, then count bet builders will be generated. In that case for each event its associated confidence will be also returned.

The amount of bet builders to generate per event will be dynamically calculated based on the personalization score of each event, promoting the most recommended ones. The query parameter max_count_per_event can be used to apply an upper limit on that dynamically calculated number.

The selections picked are the most relevant to the given user from the supported ones. Validation steps are also applied to ensure that the produced bet builders contain only valid and combinable selections.

Supported data providers

The current endpoint is available for specific data providers only, which are:

`Igt`

- AmericanFootball - Baseball - Basketball - IceHockey

`Kambi`

- AmericanFootball - Baseball - Basketball - Football - IceHockey - Tennis

`Openbet`

- Baseball - Basketball - Football

`SR`

- AmericanFootball - Baseball - Basketball - Football - IceHockey - Tennis

Contact the API team for integration with other data providers.

Supported markets

Only a subset of the available markets can be used and combined in a bet builder. Currently the supported markets are the following:

`AmericanFootball`

- Match result - Xth half result - Xth quarter result - Winner - Double chance - Handicap - Xth half handicap - Xth quarter handicap - Asian handicap - Total points - Xth half total points - Xth quarter total points - Home Team total points - Away Team total points - Total touchdowns - Total field goals - Total turnovers - Total sacks - Odd/Even points - 1st half odd/even points - Winning margin - Will there be Overtime - Last touchdown scorer - Player total touchdowns - Player total touchdown passes - Player total receptions - Player total field goals - Player total kicking points - Player total interceptions - Player total receiving touchdowns - Player total receiving yards - Player total rushing attempts - Player total rushing touchdowns - Player total rushing yards - Player total passing touchdowns - Player total passing yards - Player total pass attempts - Player total pass completions - Player longest reception - Player longest pass completion

`Baseball`

- Match Result - Winner - Handicap - Total runs - Home total runs - Away total runs - Total home runs - Home total home runs - Away total home runs - Total runs odd or even - Total hits - Player total runs - Player total home runs - Player total hits - Player total bases - Player total strikeouts - Player total RBIs

`Basketball`

- Match Result - Winner - Match result - 1st half - Match result - 1st quarter - Total points - Home total points - Away total points - Total points - 1st half - Home total points - 1st half - Away total points - 1st half - Total points - 1st quarter - Home total points - 1st quarter - Away total points - 1st quarter - Player total points - Player total assists - Player total rebounds - Player total blocks - Player total steals - Player total 3-points made

`Football`

- Match result - Match result - 1st half - Double chance - Double chance - 1st half - Both teams to score - Both teams to score - 1st half - Total goals - Home total goals - Away total goals - Total goals - 1st half - Home total goals - 1st half - Away total goals - 1st half - Total goals - 2nd half - Home total goals - 2nd half - Away total goals - 2nd half - Total cards - Home total cards - Away total cards - Total corners - Home total corners - Away total corners - Player total goals - Player total assists - Player total shots on target - Player total shots - Goal range - Home clean sheet - Away clean sheet - Xth player to score - First half total bookings - Home team first half total bookings - Away team first half total bookings - First half total corners - Home team first half total corners - Away team first half total corners - Player to be carded

`IceHockey`

- Match result - Winner - Handicap - 3-Way handicap - Both teams to score - Total goals - Home total goals - Away total goals - Player total goals - Xth goal - Period total goals

`Tennis`

- Winner - Winner - Xth set - Result - Games - Game handicap - Game handicap - Xth set - Set handicap - Total sets - Total games - Total games - Xth set - Home player total games - Away player total games - Home player to win a set - Away player to win a set - Set to nil - Tiebreak occurrence - Exact sets - Total games odd or even - Total games odd or even - Xth set - Correct score - Correct score - Xth set - Player to win Xth set

Notice that the above list contains the algorithm's supported markets. It is the responsibility of the operator to provide VAIX with the markets listed, or at least a subset of them, in order for them to be used.

Length of produced bet builder

There is the possibility that a bet builder with length less than the requested one will be returned, in case the markets offered for the given event are insufficient or not combinable.

Mostly applicable to cases where a big bet builder length is requested (> 6).

Integration concerns

Getting two recommender bet builders with 3 selections

In this example we get two recommender bet builders containing 3 selections each for the event with id sr:match:40781327, for the user with id 1.

$ curl --request GET \
  --url 'https://api.vaix.ai/api/sports/bet_builders/recommended?user=1&event_id=sr:match:40781327&length=3&count=2'
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
event_idstringOptional

The event id to get a bet builder for. If not set then the top count recommended events of the given user will be picked and bet builders for them will be generated.

Example: sr:match:23150637
countinteger · min: 1 · max: 20Optional

How many bet builders to produce in total.

Default: 1Example: 1
max_count_per_eventinteger · min: 1 · max: 10Optional

Optional upper limit to the amount of bet builders to generate per event. Since the number of bet builders to generate per event is dynamically calculated based on their confidence (so more bet builders are generated for highly recommended events), this parameter can be used to apply a limit, for example if one wants only one bet builder per event regardless of their personalization score. If not set, it will be ignored.

Example: 1
fromstring · date-timeOptional

The minimum event's starting datetime. If not explicitly set it defaults to now.

from_offsetstringOptional

Considers events starting after the from timestamp plus the given minutes/hours/days. If not set defaults to 0 minutes. The value must be in range [-7d - 7d].

Default: 0Example: -3hPattern: ^[+-]?[0-9]+([.][0-9]+)?[smhd]?$
to_offsetstringOptional

Considers events starting till the from timestamp plus the given minutes/hours/days. If not set defaults to one day (24 hours). The value must be in range [-7d - 7d].

Default: 2dExample: 2dPattern: ^[+-]?[0-9]+([.][0-9]+)?[smhd]?$
lengthinteger · min: 2 · max: 10Optional

The bet builder length.

Default: 2Example: 2
filtersstring · enumOptional

Optional filtering on the events and markets to consider. The event related filters are ignored in case the event_id parameter is provided. It expects a string adhering to the filtering format, as described in the filtering section, e.g. market_status:eq:OPEN.

Possible values:
userstringRequired

The user to get recommended bet builder for.

order_bystring · enumOptional

The columns to sort the results by. It expects a string adhering to the ordering format, as described in the ordering section, e.g. +league_confidence,-sport_confidence.

Possible values:
fieldsstring · enumOptional

Optional selection of the object fields to retrieve. It expects a comma separated list of strings, as described in the field selection section, e.g. event_id,event_type.

Default: ["event_id","event_type","begin","country","country_id","league","league_id","sport","sport_id","participants","participant_ids","status","confidence","selection_id","bet_offer_id","market","market_id","market_type","market_type_id","uof_external_id","outcome","outcome_id","period","period_id","quote","quote_group","count","confidence"]Possible values:
operatorstringOptional

The operator to use for querying data. Notice that this is applied only if your account has access to multiple operators. In a different case the assigned operator to your account is used and the value of this field is ignored.

bookmaker_idintegerOptional

The bookmaker id to use for querying data. Notice that this is applied only if your account has access to multiple operators. In a different case the assigned operator to your account is used and the value of this field is ignored. Note that this parameter is used together with the sub_bookmaker_id parameter.

sub_bookmaker_idintegerOptional

The sub-bookmaker id to use for querying data. Notice that this is applied only if your account has access to multiple operators. In a different case the assigned operator to your account is used and the value of this field is ignored. Note that this parameter is used together with the bookmaker_id parameter.

event_typesstring · enumOptional

List of event types to consider when generating recommendations. One or more types can be provided. Available options are:

  • match: Standard matches to be considered.
  • seasonal: Seasonal events to be considered.
  • forced_events: Handpicked events to be considered regardless of their start_time.
Default: match,forced_eventsPossible values:
locationstringOptional

The location of the page where the request takes place.

Example: inplay_widget
rawstring · enumOptional

Comma separated list of keywords. If given, this input will be used as user demographics data for the recommendations, e.g country:gr,city:ath.

Possible values:
Header parameters
x-vaix-client-idstringRequired

Custom client header, the value should be the name of the group the user belongs to

x-vaix-authentication-methodstringOptional

Authentication method to be used, supported values [vaix, iam]. Defaults to vaix

Responses
200

OK

application/json
get
/api/sports/bet_builders/recommended
GET /api/sports/bet_builders/recommended?user=text HTTP/1.1
Host: api.vaix.ai
Authorization: Bearer YOUR_SECRET_TOKEN
x-vaix-client-id: text
Accept: */*
{
  "data": [
    {
      "begin": "2021-07-02T14:00:00Z",
      "bet_builders": [
        [
          {
            "bet_offer_id": null,
            "count": 6,
            "market": null,
            "market_id": null,
            "market_type": null,
            "market_type_id": 1,
            "outcome": null,
            "outcome_id": 1,
            "period": null,
            "period_id": null,
            "quote": 1.01,
            "quote_group": "0-1.1",
            "selection_id": "3e645b27118a119dc01ea11ace11d38d",
            "uof_external_id": "uof:1/sr:sport:1/1/1"
          },
          {
            "bet_offer_id": null,
            "count": 7,
            "market": null,
            "market_id": null,
            "market_type": null,
            "market_type_id": 29,
            "outcome": null,
            "outcome_id": 74,
            "period": null,
            "period_id": null,
            "quote": 5.5,
            "quote_group": "4.2-7.4",
            "selection_id": "741a8ce6e81f2f51a88b3dd63b80dab5",
            "uof_external_id": "uof:1/sr:sport:1/29/74"
          }
        ]
      ],
      "confidence": 0.723419964,
      "country": "International Clubs",
      "country_id": "sr:category:393",
      "event_id": "sr:match:27186050",
      "event_type": null,
      "league": "AFC Champions League",
      "league_id": "sr:tournament:463",
      "participant_ids": [
        "sr:competitor:7644",
        "sr:competitor:3376"
      ],
      "participants": [
        "Daegu FC",
        "Beijing Guoan"
      ],
      "sport": "Soccer",
      "sport_id": "sr:sport:1",
      "status": "closed"
    },
    {
      "begin": "2021-07-02T16:00:00Z",
      "bet_builders": [
        [
          {
            "bet_offer_id": null,
            "count": 289,
            "market": null,
            "market_id": null,
            "market_type": null,
            "market_type_id": 1,
            "outcome": null,
            "outcome_id": 3,
            "period": null,
            "period_id": null,
            "quote": 1.2,
            "quote_group": "1.2-1.4",
            "selection_id": "53dc2a7096d543c0788512271bcb6470",
            "uof_external_id": "uof:1/sr:sport:1/1/3"
          },
          {
            "bet_offer_id": null,
            "count": 2,
            "market": "total=5.5",
            "market_id": null,
            "market_type": null,
            "market_type_id": 168,
            "outcome": null,
            "outcome_id": 12,
            "period": null,
            "period_id": null,
            "quote": 2,
            "quote_group": "1.8-2.6",
            "selection_id": "831c7222abc16686f30f1fd85ff8b243",
            "uof_external_id": "uof:1/sr:sport:1/168/12?total=5.5"
          }
        ]
      ],
      "confidence": 0.689064801,
      "country": "International",
      "country_id": "sr:category:4",
      "event_id": "sr:match:21514503",
      "event_type": null,
      "league": "Euro Cup",
      "league_id": "sr:tournament:1",
      "participant_ids": [
        "sr:competitor:4699",
        "sr:competitor:4698"
      ],
      "participants": [
        "Switzerland",
        "Spain"
      ],
      "sport": "Soccer",
      "sport_id": "sr:sport:1",
      "status": "closed"
    }
  ],
  "status": "success"
}

Was this helpful?