Skip to content
  • There are no suggestions because the search field is empty.

Bet Recommendations - Integration

Accessing and integrating with Future Anthem's Bet Recommendations

Overview

Future Anthem’s Bet Recommendations API provides sportsbook operators with a flexible, scalable solution for delivering personalised bet recommendations and player preference insights in real time. The product analyses historical player activity, betting markets, and upcoming events to generate relevant, context-aware outputs that can be used across the sportsbook experience. 

 

API Integration

API integration is the preferred and most common method for delivering personalised bet recommendations efficiently.

The Bet Recommendations API enables direct, real-time access to AI-driven bet recommendations for each player. Recommendations are generated dynamically based on the players recent activity and available upcoming sports events.

Endpoint Overview

Endpoint 

Description 

recommended_for_you_singles 

Returns personalised single bet recommendations. 

recommended_for_you_accas 

Returns personalised accumulators bets. 

recommended_for_you_bet_builder 

Returns personalised bet builders. 

preferences_sports 

Returns a ranked list of sports-level preferences.

preferences_tournaments 

Returns a ranked list of tournament-level preferences.

preferences_markets

Returns a ranked list of market-level preferences.

preferences_inplay Returns a ranked list of in-play preferences.

 

Personalised Single Bet Recommendations

Request Structure

  • Method: GET 
  • Authentication: x-api-key header 

Request Parameters

Parameter Type Location Required Description Example
user_id String Query Unique identifier for the player player123
sport String Query Filter by sport football
event_id String Query Filter by specific event ID 123456789
x-api-key String Header API key used for authentication AbCdEfGhIJkL
mNoPqRsTuVw
XyZ123456==

Response Structure

Each API response contains a player object (metadata about the player) and at present singles array (the recommended single bets).

Player Object

Field Type Description Example
player_id String Unique identifier for the player player123
country String Players country UK
site String Operator site or brand sportssite.com
control_group String Indicates if the player is in the control or target group False

Recommendation for Single Bets Object

Field Type Description Example
id String Unique identifier for the recommendation single_foot_001
sport String Sport type football
recommendation_type String Type of recommendation single
leg Array List of legs making up the recommendation [...]

Leg Fields

Field Type Description Example
sport_key_id String Sport ID 1
league_key_id String League or competition ID 101
event_id String Event ID 123456789
market_key_id String Market ID 998877665
outcome_key_id String Selection ID 009008007
event_time Integer Event start time in UNIX epoch seconds 1762632000

Example Response

Note: For demo purposes, the below response ID's have been replaced with readable values and the recommendations have been limited to 3.

{
  "player": {
    "player_id": "player123",
    "country": "UK",
    "site": "sportssite.com",
    "control_group": "False"
  },
  "singles": [
    {
      "id": "single_foot_001",
      "sport": "football",
      "recommendation_type": "single",
      "leg": [
        {
          "sport_key_id": "Football",
          "league_key_id": "English Premier League ",
          "event_id": "Arsenal vs Everton",
          "market_key_id": "First Goalscorer",
          "outcome_key_id": "Eberechi Eze",
          "event_time": 1762632000
        }
      ]
    },
    {
      "id": "single_foot_002",
      "sport": "football",
      "recommendation_type": "single",
      "leg": [
        {
          "sport_key_id": "Football",
          "league_key_id": "English Premier League",
          "event_id": "Tottenham vs Newcastle",
          "market_key_id": "Both Teams To Score",
          "outcome_key_id": "Yes",
          "event_time": 1762635600
        }
      ]
    },
    {
      "id": "single_foot_003",
      "sport": "football",
      "recommendation_type": "single",
      "leg": [
        {
          "sport_key_id": "Football",
          "league_key_id": "Spanish La Liga",
          "event_id": "Villareal vs Barcelona",
          "market_key_id": "Correct Score",
          "outcome_key_id": "2-0 Barcelona",
          "event_time": 1762639200
        }
      ]
    }
  ]
}

 

Personalised Accumulator Bet Recommendations

Request Structure

  • Method: GET 
  • Authentication: x-api-key header 

Request Parameters

Parameter Type Location Required Description Example
user_id String Query Unique identifier for the player player123
sport String Query Filter by sport football
x-api-key String Header API key used for authentication

AbCdEfGhIJkL
mNoPqRsTuVw
XyZ123456==

Each API response contains a player object (metadata about the player) and at present singles array (the recommended single bets).

Player Object

Field Type Description Example
player_id String Unique identifier for the player player123
country String Players country UK
site String Operator site or brand sportssite.com
control_group String Indicates if the player is in the control or target group False

Recommendation for Single Bets Object

Field Type Description Example
id String Unique identifier for the recommendation single_foot_001
sport String Sport type football
recommendation_type String Type of recommendation single
leg Array List of legs making up the recommendation [...]

Leg Fields

Field Type Description Example
sport_key_id String Sport ID 1
league_key_id String League or competition ID 101
event_id String Event ID 123456789
market_key_id String Market ID 998877665
outcome_key_id String Selection ID 009008007
event_time Integer Event start time in UNIX epoch seconds 1762632000

{
  "player": {
    "player_id": "player123",
    "country": "UK",
    "site": "sportssite.com",
    "control_group": "False"
  },
  "accas": [
    {
      "id": "acca_foot_001",
      "sport": "football",
      "recommendation_type": "acca",
      "combined_odds": 12.45,
      "legs_count": 4,
      "legs": [
        {
          "sport_key_id": "Football",
          "league_key_id": "English Premier League",
          "event_id": "Arsenal vs Everton",
          "market_key_id": "Match Winner",
          "outcome_key_id": "Arsenal",
          "event_time": 1762632000
        },
        {
          "sport_key_id": "Football",
          "league_key_id": "English Premier League",
          "event_id": "Man City vs Chelsea",
          "market_key_id": "Both Teams To Score",
          "outcome_key_id": "Yes",
          "event_time": 1762635600
        },
        {
          "sport_key_id": "Football",
          "league_key_id": "Spanish La Liga",
          "event_id": "Real Madrid vs Atletico",
          "market_key_id": "Over/Under 2.5 Goals",
          "outcome_key_id": "Over 2.5",
          "event_time": 1762642800
        },
        {
          "sport_key_id": "Football",
          "league_key_id": "Italian Serie A",
          "event_id": "Juventus vs Inter",
          "market_key_id": "Match Winner",
          "outcome_key_id": "Juventus",
          "event_time": 1762646400
        }
      ]
    },
    {
      "id": "acca_foot_002",
      "sport": "football",
      "recommendation_type": "acca",
      "combined_odds": 8.92,
      "legs_count": 3,
      "legs": [
        {
          "sport_key_id": "Football",
          "league_key_id": "English Premier League",
          "event_id": "Liverpool vs Tottenham",
          "market_key_id": "First Goalscorer",
          "outcome_key_id": "Mohamed Salah",
          "event_time": 1762722000
        },
        {
          "sport_key_id": "Football",
          "league_key_id": "German Bundesliga",
          "event_id": "Bayern vs Dortmund",
          "market_key_id": "Both Teams To Score",
          "outcome_key_id": "Yes",
          "event_time": 1762725600
        },
        {
          "sport_key_id": "Football",
          "league_key_id": "French Ligue 1",
          "event_id": "PSG vs Monaco",
          "market_key_id": "Match Winner",
          "outcome_key_id": "PSG",
          "event_time": 1762729200
        }
      ]
    }
  ]
}

 

Personalised Accumulator Bet Recommendations

Request Structure

  • Method: GET 
  • Authentication: x-api-key header 

Request Parameters

Parameter Type Location Required Description Example
user_id String Query Unique identifier for the player player123
sport String Query Filter by sport football
x-api-key String Header API key used for authentication

AbCdEfGhIJkL
mNoPqRsTuVw
XyZ123456==

Each API response contains a player object and a bet builder array containing personalised bet builder bet recommendations.

Player Object

Field Type Description Example
player_id String Unique identifier for the player player123
country String Players country UK
site String Operator site or brand sportssite.com
control_group String Indicates if the player is in the control or target group False

Recommendation for Bet Builder Bets Object

Field Type Description Example
id String Unique identifier for the recommendation bb_foot_001
sport String Sport type football
recommendation_type String Type of recommendation betbuilder
combined_odds Number Approximate decimal odds if all legs win   12.45 
legs_count Integer Number of legs in this accumulator  4
legs Array List of legs making up the recommendation [...]

Leg Fields

Field Type Description Example
sport_key_id          String Sport ID Football
league_key_id String League or competition ID English Premier League
event_id String Event ID Arsenal vs Everton 
market_key_id String Market ID Match Winner 
outcome_key_id String Selection ID Arsenal 
event_time Integer Event start time in UNIX epoch seconds 1762632000

{
  "player": {
    "player_id": "player123",
    "country": "UK",
    "site": "sportssite.com",
    "control_group": "False"
  },
  "betbuilders": [
    {
      "id": "bb_foot_001",
      "sport": "football",
      "recommendation_type": "betbuilder",
      "event_id": "Arsenal vs Everton",
      "event_time": 1762632000,
      "combined_odds": 15.80,
      "legs_count": 5,
      "legs": [
        {
          "sport_key_id": "Football",
          "league_key_id": "English Premier League",
          "event_id": "Arsenal vs Everton",
          "market_key_id": "Match Winner",
          "outcome_key_id": "Arsenal",
          "event_time": 1762632000
        },
        {
          "sport_key_id": "Football",
          "league_key_id": "English Premier League",
          "event_id": "Arsenal vs Everton",
          "market_key_id": "Both Teams To Score",
          "outcome_key_id": "Yes",
          "event_time": 1762632000
        },
        {
          "sport_key_id": "Football",
          "league_key_id": "English Premier League",
          "event_id": "Arsenal vs Everton",
          "market_key_id": "Total Corners Over/Under",
          "outcome_key_id": "Over 9.5",
          "event_time": 1762632000
        },
        {
          "sport_key_id": "Football",
          "league_key_id": "English Premier League",
          "event_id": "Arsenal vs Everton",
          "market_key_id": "Player Shots On Target",
          "outcome_key_id": "Bukayo Saka 2+",
          "event_time": 1762632000
        },
        {
          "sport_key_id": "Football",
          "league_key_id": "English Premier League",
          "event_id": "Arsenal vs Everton",
          "market_key_id": "Player To Be Carded",
          "outcome_key_id": "Declan Rice",
          "event_time": 1762632000
        }
      ]
    }
  ]
}

 

Sports Preferences

Request Structure

  • Method: GET 
  • Authentication: x-api-key header 

Request Parameters

Parameter Type Location Required Description Example
user_id String Query Unique identifier for the player player123
x-api-key String Header API key used for authentication

AbCdEfGhIJkL
mNoPqRsTuVw
XyZ123456==

Each API response contains a player object and a preferences array containing sports-level preference objects.

Player Object

Field Type Description Example
player_id String Unique identifier for the player player123
country String Players country UK
site String Operator site or brand sportssite.com
control_group String Indicates if the player is in the control or target group False

Recommendation for Sports Preferences Object

Field Type Description Example
sport_id String Sport identifier football



"player": { 
   "player_id": "player123", 
   "country": "UK", 
   "site": "sportssite.com", 
   "control_group": "False" 
}, 
"preferences": [ 
   { "sport_id": "Football" }, 
   { "sport_id": "Horse Racing" }, 
   { "sport_id": "Tennis" } 

}

 

Tournament Preferences

Request Structure

  • Method: GET 
  • Authentication: x-api-key header 

Request Parameters

Parameter Type Location Required Description Example
user_id String Query Unique identifier for the player player123
sport String Query Filter by sport football
x-api-key String Header API key used for authentication

AbCdEfGhIJkL
mNoPqRsTuVw
XyZ123456==

Each API response contains a player object and a preferences array containing tournament-level preference objects.

Player Object

Field Type Description Example
player_id String Unique identifier for the player player123
country String Players country UK
site String Operator site or brand sportssite.com
control_group String Indicates if the player is in the control or target group False

Recommendation for Tournament Preferences Object

Field Type Description Example
sport_id String Sport identifier football
tournament_id String Tournament identifier Premier League


"player": { 
   "player_id": "player123", 
   "country": "UK", 
   "site": "sportssite.com", 
   "control_group": "False" 
}, 
"preferences": [ 
   { "sport_id": "Football", "tournament_id": "Premier League" }, 
   { "sport_id": " Football ", "tournament_id": "Serie A" } 

}

 

Market Preferences

Request Structure

  • Method: GET 
  • Authentication: x-api-key header 

Request Parameters

Parameter Type Location Required Description Example
user_id String Query Unique identifier for the player player123
sport String Query Filter by sport football
x-api-key String Header API key used for authentication

AbCdEfGhIJkL
mNoPqRsTuVw
XyZ123456==

Each API response contains a player object and a preferences array containing market-level preference objects.

Player Object

Field Type Description Example
player_id String Unique identifier for the player player123
country String Players country UK
site String Operator site or brand sportssite.com
control_group String Indicates if the player is in the control or target group False

Recommendation for Market Preferences Object

Field Type Description Example
sport_id String Sport identifier football
market_id String Market identifier Match Result

{
  "player": {
    "player_id": "player123",
    "country": "UK",
    "site": "sportssite.com",
    "control_group": "False"
  },
  "preferences": [
    { "sport_id": "1", "market_id": "Match Result" },
    { "sport_id": "1", "market_id": "Both Teams To Score" }
  ]
}

 

In-Play Preferences

Request Structure

  • Method: GET 
  • Authentication: x-api-key header 

Request Parameters

Parameter Type Location Required Description Example
user_id String Query Unique identifier for the player player123
sport String Query Filter by sport football
x-api-key String Header API key used for authentication

AbCdEfGhIJkL
mNoPqRsTuVw
XyZ123456==

Each API response contains a player object and a preferences array containing inplay preference objects.

Player Object

Field Type Description Example
player_id String Unique identifier for the player player123
country String Players country UK
site String Operator site or brand sportssite.com
control_group String Indicates if the player is in the control or target group False

Recommendation for Sports-Level In-Play Preference Object

Field Type Description Example
sport_id String Sport identifier football

{
  "player": {
    "player_id": "player123",
    "country": "UK",
    "site": "sportssite.com",
    "control_group": "False"
  },
  "preferences": [
    { "sport_id": "1" },
    { "sport_id": "2" }
  ]
}

Recommendation for Tournament-Level In-Play Preference Object

Field Type Description Example
sport_id String Sport identifier football
tournament_id String Tournament identifier Match Result

{
  "player": {
    "player_id": "player123",
    "country": "UK",
    "site": "sportssite.com",
    "control_group": "False"
  },
  "preferences": [
    { "sport_id": "1", "tournament_id": "101" },
    { "sport_id": "1", "tournament_id": "102" }
  ]
}

 

Other Integration Methods

In addition to direct API integration, bet recommendations can also be delivered using alternative methods to fit operational or technical constraints:

  • File Export: Personalised bet recommendations can be exported as CSV files, containing player IDs and recommended event, market and outcome IDs
  • SFTP Delivery: Exports can be securely transferred to operator servers via SFTP for ingestion into downstream systems
  • CRM or CMS Integration: Recommendations can be pushed directly into CRM or front-end content systems to support personalised messaging, promotions and in-app recommendations

 

Data Requirements

To ensure optimal recommendation accuracy and freshness, the model relies on recent player betting activity. Operators should provide regular updates of player bet transactions and outcomes.

For detailed instructions on how to integrate your data with Amplifier AI, refer to our data integration guide.