pybet365.client package

Submodules

pybet365.client.client module

Bet365 API Wrapper.

Bet365 Serves as a Client to make requests to Bet365 API see for documentation: (https://1394697259.gitbook.io/bet365-api/)

Bet365 Exposes 6 Endpoints:

Result [“GET”]

InPlay Filter [“GET”]

InPlay Odds [“GET”]

PreMatch odds [“GET”]

InPlay Events [“GET”]

Upcoming Events [“GET”]

Responses are parsed into Facade Access objects (Base Bet365Response)

class pybet365.client.client.Bet365(api_host, api_key)[source]

Bases: object

Bet365 API Wrapper.

in_play_events(raw: Optional[str] = None) → pybet365.response.base.Bet365Response[source]

Caller for InPlay Events endpoint of Bet365 API.

Parameters:raw (Optional[str]) – option for raw Bet365 body response
Returns:Response Object for in_play_events endpoint
Return type:Bet365Response
in_play_filter(sport_id: Optional[str] = None, league_id: Optional[str] = None) → pybet365.response.base.Bet365Response[source]

Caller for InPlay Filters endpoint of Bet365 API.

Parameters:
  • sport_id (Optional[str]) – Identifier for sport type
  • league_id (Optional[str]) – Identifier for specific league
Returns:

Response Object for in_play_filter endpoint

Return type:

Bet365Response

in_play_odds(fi: str, raw: Optional[str] = None, lineup: Optional[str] = None, stats: Optional[str] = None) → pybet365.response.base.Bet365Response[source]

Caller for InPlay Odds endpoint of Bet365 API.

Parameters:
  • fi (str) – FI from Bet365 InPlay
  • raw (Optional[str]) – option for raw Bet365 body response
  • lineup (Optional[str]) – lineup info (NOTE: ONLY FOR CRICKET)
  • stats (Optional[str]) – extra stats info (NOTE: ONLY FOR SOCCER, BASKETBALL, CRICKET, BASEBALL, TENNIS)
Returns:

Response Object for in_play_odds endpoint

Return type:

Bet365Response

pre_match_odds(fi: str, raw: Optional[str] = None) → pybet365.response.base.Bet365Response[source]

Caller for PreMatch Odds endpoint of Bet365 API.

Parameters:
  • fi (str) – FI from Bet365 InPlay
  • raw (Optional[str]) – option for raw Bet365 body response
Returns:

Response Object for pre_match_odds endpoint

Return type:

Bet365Response

result(event_id: str) → pybet365.response.base.Bet365Response[source]

Caller for Result endpoint of Bet365 API.

Parameters:event_id (str) – Sporting event id to get result for
Returns:Response Object for result endpoint
Return type:Bet365Response
upcoming_events(sport_id: str, page: Optional[str] = None, lng_id: Optional[str] = None, day: Optional[str] = None, league_id: Optional[str] = None) → pybet365.response.base.Bet365Response[source]

Caller for Upcoming Events endpoint of Bet365 API.

Parameters:
  • sport_id (str) – String identifier for sport type
  • page (Optional[str]) – Pagination for API Response
  • lng_id (Optional[str]) – Language Id
  • day (Optional[str]) – Go forward ONLY date to query
  • league_id (Optional[str]) – Id for desired league
Returns:

Response Object for upcoming_events endpoint

Return type:

Bet365Response

pybet365.client.config module

Configuration File for Bet365 Client.

class pybet365.client.config.Bet365Mnemonic[source]

Bases: enum.Enum

Bet365 API Mnemonic Field Enumeration. see: (https://1394697259.gitbook.io/bet365-api/bet36)

Internal mapping to cast fields where necessary

ADDITIONAL_DATA_TEAM_TOUCHDOWN_QUOTE = 'AD'
ADDITIONAL_STATS_ANIMATION_SOUND_TEAM_FIELDGOAL_QUOTE = 'AS'
ANIMATION_ICON = 'AM'
ANIMATION_ID = 'AI'
ANIMATION_TEXT_STATS_TAB = 'AT'
ANIMATION_TOPIC = 'AO'
ARCHIVE_FIXTURE_INFO = 'AF'
ARCHIVE_VIDEO_AVAILABLE = 'AV'
ASIAN_HOVER_FINANCIALS_MARKET_ODDS_1 = 'AH'
AUDIO_AVAILABLE = 'AU'
AUDIO_ICON_DIARY_AUDIO_AVAILABLE = 'IA'
AUDIO_ID = 'SD'
BANKER_OPTION_OPEN_BETS_ENABLED = 'OB'
BANNER_STYLE = 'BS'
BASE_LINE = 'BL'
BASE_ODDS_OPEN_BETS_COUNT = 'BO'
BET = 'BE'
BET_CALL_FEATURE_DISABLED_COMMENT = 'CM'
BET_CALL_V2_DISABLED_MAX_BET = 'MB'
BET_CALL_V2_TWILIO_DISABLED_MARKET_TYPE = 'MT'
BET_RETURNS = 'RE'
BET_TOTE_TYPE_TEAM_COLOR = 'TC'
BET_TYPE_PULL_COMPETITION_CODE = 'CC'
BLURB_HEADER = 'BH'
BOOK_CLOSES_CLOSE_BETS_COUNT = 'BC'
BREADCRUMB_LEVEL_1 = 'L1'
BREADCRUMB_TRAIL = 'TB'
BUTTON_BAR = 'BB'
BUTTON_BAR_INDEX_BUTTON_SPLIT_INDEX = 'BI'
C1_ID_MINI_DIARY_C1 = 'C1'
C1_TABLE_MINI_DIARY_T1_TEXT_1 = 'T1'
C2_ID_MINI_DIARY_C2 = 'C2'
C2_TABLE_MINI_DIARY_T2_TEXT_2 = 'T2'
CHANGE_STAMP_SUSPEND_ARRAY = 'SA'
CHANNEL_COLUMN_NUMBER = 'CN'
CHECK_BOX = 'XB'
CLASSIFICATION = 'CL'
CLASSIFICATIONS = 'CS'
CLASS_ID_MINI_DIARY_CUP_ICON = 'CI'
CLASS_ORDER_CLOSE_BET_RETURNS = 'CR'
CLOSE_BETS = 'CB'
CLOSE_BETS_PRESENTATION_PULL_DISABLED_CURRENT_PROGRESS_CURRENT_PERIOD = 'CP'
CLOTH_NUMBER = 'NC'
CLOTH_NUMBER_PULL = 'PN'
COLUMN = 'CO'
COMPETITION_DROPDOWN_FINANCIALS_TRADE = 'CD'
COMPETITION_KEY = 'CK'
COMPETITION_NAME = 'CT'
CONFIG = 'CF'
CONTROLLER = 'XL'
COUNTDOWN_TAX_DETAILS = 'TD'
CURRENT_INFO = 'CU'
CURRENT_INFO_V4 = 'UC'
CUSTOMER_TO_CUSTOMER_CALLING_FEATURE_DISABLED_COMMENT_V4_MARKET_COUNT = 'MC'
CUSTOMER_TO_REPRESENTATIVE_CALLING_FEATURE_DISABLED_MORE_MARKETS = 'MR'
DATA_1 = 'D1'
DATA_2 = 'D2'
DATA_3 = 'D3'
DATA_4 = 'D4'
DATA_5 = 'D5'
DECIMAL_PLACES = 'DP'
DEFAULT_OPEN = 'DO'
DEFAULT_OPEN_HOMEPAGE = 'HO'
DEFAULT_OPEN_LEFT = 'LO'
DEFAULT_OPEN_RIGHT_RACE_OFF = 'RO'
DESCRIPTION = 'DE'
DIARY = 'DY'
DIARY_DAY = 'DA'
DIARY_NAME_DRAW_NUMBER = 'DN'
DIARY_REFRESH = 'DR'
DISABLE_COLUMN_DISTRIBUTION = 'DX'
DISPLAY_CLOCK = 'DC'
DISPLAY_DATE = 'DD'
DISPLAY_SCORE = 'DS'
DRAW_NUMBER_PULL = 'SN'
EACH_WAY = 'EW'
EMBEDDED_STREAMING_EXTRA_SCORES = 'ES'
EMPTY = 'EM'
EMPTY_TOPIC_ID_PHONE_ONLY_LIST = 'TO'
END_TIME_EVENT_TYPE = 'ET'
ERROR_CODE_EXCLUDED_COUNTRY_CODES = 'EC'
ERROR_LOGGING = 'ER'
EVENT = 'EV'
EVENT_ID = 'EI'
EVENT_TIME = 'EA'
EXCLUDE_COLUMN_NUMBERS = 'XC'
EXTRA_DATA_1_TEAM_ODDS_H = 'EX'
EXTRA_DATA_2_TEAM_ODDS_A = 'ED'
EXTRA_INFO_NODE_TEAM_MATCHTOTAL_QUOTE = 'XI'
EXTRA_PARTICIPANTS = 'EP'
EXTRA_STATS_AVAILABLE = 'EL'
EXTRA_TIME_LENGTH = 'XT'
FILTERING = 'FF'
FINANCIALS_CLOSE_TIME = 'AQ'
FINANCIALS_FEED_1 = 'FK'
FINANCIALS_FEED_2_FORM_PULL = 'FO'
FINANCIALS_MARKET_1A = 'FM'
FINANCIALS_MARKET_1B = 'FN'
FINANCIALS_MARKET_2A = 'FQ'
FINANCIALS_MARKET_2B = 'FR'
FINANCIALS_MARKET_ODDS_2 = 'AJ'
FINANCIALS_PERIOD_1_APN_FLUC = 'FL'
FINANCIALS_PERIOD_2_FIXED_PLACE = 'FP'
FINANCIALS_PRICE_1 = 'AB'
FIXED_WIN = 'FW'
FIXTURE_PARENT_ID = 'FI'
FIXTURE_STARTED = 'FS'
FORCE_DISPLAY = 'FD'
GLOBAL_CONFIG = 'CG'
GROUP = 'GR'
HANDICAP = 'HA'
HANDICAP_FORMATTED = 'HD'
HASH = 'HS'
HEADER_IMAGE_BET_HISTORY = 'HI'
HORSE_AGE = 'HY'
HORSE_WEIGHT = 'HW'
IBOX = 'IB'
ICON = 'IC'
ID = 'ID'
ID2 = 'I2'
IMAGE_ID = 'IG'
IMAGE_ID_PULL_SECTION_ID = 'SI'
IMAGE_INCLUDE_OVERVIEW_MARKET = 'IM'
INFO_BANNER_SUBHEAD2 = 'HU'
INFO_INFO_POD_IMAGE_URL = 'IN'
INFO_POD_DETAIL_1_STAT_POD_BODY_TEXT_1_STAKE = 'ST'
INFO_POD_DETAIL_2 = 'BT'
INFO_POD_IMAGE1 = 'IQ'
INFO_POD_IMAGE2 = 'IU'
INFO_POD_IMAGE_PATH1 = 'IS'
INRUNNING_INFO = 'IR'
IN_PLAY = 'IF'
IN_PLAY_AVAILABLE_FLAG_PARENT_ID = 'IP'
IN_PLAY_LAUNCHER_DISPLAY_MODE = 'DM'
ITEM_ORDER = 'IO'
JOCKEY = 'JY'
JOCKEY_PULL = 'JN'
KIT_COLORS = 'KC'
KIT_ID = 'KI'
LEAGUE_TOPIC_TOPIC_LIST = 'TL'
LOTTO_GAME_CODE = 'GC'
LOTTO_GAME_MARKET = 'GM'
LOTTO_MAX_WINNINGS = 'MW'
MARKET = 'MA'
MARKET_BAR = 'HM'
MARKET_GROUP = 'MG'
MARKET_GROUP_PAIR_ID = '4Q'
MARKET_STYLE = 'MY'
MATCHLIVE_ANIMATION = 'VC'
MATCHLIVE_AVAILABLE = 'SV'
MATCHLIVE_COORDINATES = 'XY'
MATCHLIVE_PERIOD = 'MD'
MATCHLIVE_STATS_1 = 'S1'
MATCHLIVE_STATS_2 = 'S2'
MATCHLIVE_STATS_3 = 'S3'
MATCHLIVE_STATS_4 = 'S4'
MATCHLIVE_STATS_5 = 'S5'
MATCHLIVE_STATS_6 = 'S6'
MATCHLIVE_STATS_7 = 'S7'
MATCHLIVE_STATS_8 = 'S8'
MATCH_FLAG = 'MF'
MATCH_LENGTH = 'ML'
MATCH_POSTPONED = 'MP'
MEDIA_ID = 'MS'
MERGE_MARKET = 'MM'
MINI_DIARY_C3 = 'C3'
MINI_DIARY_T3_TEXT_3 = 'T3'
MULTILINE = 'MU'
MULTI_EVENT = 'ME'
NAME = 'NA'
NAME2 = 'N2'
NEUTRAL_VENUE = 'NV'
NEUTRAL_VENUE_TEXT = 'NT'
NEXT_HEADER = 'NH'
NGENERA = 'NG'
NON_MATCH_BASED = 'NM'
NON_RUNNER = 'NR'
NO_OFFER = 'PX'
ODDS = 'OD'
ODDS_HISTORY = 'OH'
ODDS_OVERRIDE = 'OO'
OPEN_BETS_PRESENTATION_PULL_DISABLED_OPEN_BETS = 'OP'
ORDER = 'OR'
OTHERS_AVAILABLE = 'OT'
PADDOCK_VIDEO_AVAILABLE = '_V'
PAGE_DATA_1_PARTICIPANT_COUNT_PARTIAL_CASHOUT_AVAILABLE = 'PC'
PAGE_DATA_POD_INFO_POD_TYPE_PULL_DELAY = 'PD'
PARTICIPANT = 'PA'
PARTICIPANTS_EXCEEDED_PERIOD = 'PE'
PARTICIPANT_STYLE = 'PY'
PENALTY_GOALS_MATCHLIVE_ADDITIONAL_INFO_PAGE_TYPE = 'PG'
PHONE_ONLY = 'PH'
PLACE_365 = '3P'
PLAYING_INDICATOR_AUS_TOTE_COMBINATION = 'PI'
POD_BODY_TEXT_2 = 'HV'
POD_ENCODED_URL_1_LIVE_MARKETS = 'LM'
POD_ENCODED_URL_2 = 'LN'
POD_HEADER_TEXT = 'HT'
POD_OPEN = 'PP'
POD_STACK_ORDER_POINTS = 'PO'
POD_STACK_PARTICIPANT_STATUS = 'PS'
PREFERENCE_ID_MARKET_GROUP_USER_PREFERENCE = 'PR'
PREMIUM_VERSION = 'PV'
PREVIOUS_SET_SCORE_SELECTED = 'LS'
PRODUCT_TYPE_POD_TYPE = 'PT'
PULL_BET_DATA = 'BD'
PUSH_BALANCE_ENABLED = 'PB'
PUSH_FLAG = 'PF'
R4_COMMENT = 'RI'
RACE_DETAILS = 'RD'
RANGE = 'RA'
REGION = 'RG'
RESULTS_TEXT = 'RT'
RESULT_CODE = 'RC'
RUNNER_STATUS_REGULAR_SINGLE = 'RS'
SCOREBOARD_TYPE = 'SB'
SCORES_CELL = 'SL'
SCORE_SCORES_COLUMN = 'SC'
SECONDARY_EVENT = 'SE'
SECONDARY_UK_EVENT = 'MO'
SHORT_POINTS = 'XP'
SHORT_SCORE_SUSPENDED_SELECTION = 'SS'
SHOW_ON_HOMEPAGE = 'HP'
SPOTLIGHT_FORM = 'SF'
START_TIME = 'SM'
STATS_CELL = 'AE'
STATS_COLUMN = 'AC'
STATS_PANE = 'AP'
STAT_GROUP = 'SG'
STAT_LOCATION = 'SZ'
STAT_PERIOD = 'SP'
STAT_TIME_TMR_MINS = 'TM'
STYLE = 'SY'
SUCCESS_SUSPENDED = 'SU'
TAX_METHOD_TOPIC_LIST_EXCLUSIONS = 'TX'
TAX_RATE_TOPIC_REFERENCE = 'TR'
TEAM = 'TE'
TEAM_GROUP = 'TG'
TEXT_4 = 'T4'
TEXT_5 = 'T5'
TIMEZONE_ADJUSTMENT = 'ZA'
TIME_ADDED = 'TA'
TIME_STAMP = 'TP'
TMR_SECS_TOTE_NAMES = 'TS'
TMR_SERVER = 'TI'
TMR_TICKING = 'TT'
TMR_UPDATED = 'TU'
TOPIC_ID = 'IT'
TRAINER_NAME = 'TN'
UPDATE_FREQUENCY = 'UF'
VALUE = 'VA'
VIDEO_AVAILABLE = 'VI'
VIDEO_STREAM = 'VS'
VIRTUAL_DATA = 'VD'
VIRTUAL_RACE = 'VR'
VISIBLE = 'VL'
WINNING_MARGIN = 'WM'
WIN_365 = '3W'
WIZE_GUY = 'WG'
class pybet365.client.config.Bet365SportId[source]

Bases: pybet365.client.config.ExtendedEnum

Bet365 API SportId Enumeration.

Registered members have accesses to: _name_ - name _value_ - value[0] _pretty_ - value[1]

>>> soccer = Bet365SportId.AMERICAN_FOOTBALL
>>> soccer.name
>>> "AMERICAN_FOOTBALL"
>>> soccer.value
>>> 12
>>> soccer.pretty
>>> "american-football"
AMERICAN_FOOTBALL = ('12', 'american-football')
AUSTRALIAN_RULES = ('36', 'austalian-rules')
BADMINTON = ('94', 'badminton')
BASEBALL = ('16', 'baseball')
BASKETBALL = ('18', 'basketball')
BEACH_VOLLEYBALL = ('95', 'beach-volleyball')
BOWLS = ('66', 'bowls')
BOXING_UFC = ('9', 'boxing-ufc')
CRICKET = ('3', 'cricket')
DARTS = ('15', 'darts')
E_SPORTS = ('151', 'e-sports')
FLOORBALL = ('90', 'floorball')
FUTSAL = ('83', 'futsal')
GAELIC_SPORTS = ('75', 'gaelic-sports')
HANDBALL = ('78', 'handball')
ICE_HOCKEY = ('17', 'ice-hockey')
RUGBY_LEAGUE = ('19', 'rugby')
RUGBY_UNION = ('8', 'rugby-union')
SNOOKER = ('14', 'snooker')
SOCCER = ('1', 'soccer')
SQUASH = ('107', 'squash')
TABLE_TENNIS = ('92', 'table-tennis')
TENNIS = ('13', 'tennis')
VOLLEYBALL = ('91', 'volleyball')
WATER_POLO = ('110', 'water-polo')
pretty

Access for pretty in base Enum.

sport_id

Access for sport_id in base Enum.

class pybet365.client.config.ExtendedEnum[source]

Bases: enum.Enum

Allows access to overloaded functions for standard Enum.

list = <bound method ExtendedEnum.list of <enum 'ExtendedEnum'>>[source]

Module contents

Client Namespace.