🇿🇦 South Africa
· Premiership
· Round 29
💰 Betting Odds
Home
1.91
Draw
3.4
Away
3.4
🔥 Home Form
- first_to_score4/5
- less_than_45_cards5/6
- less_than_105_corners7/7
🔥 Away Form
- no_wins8
- without_clean_sheet3
- first_to_concede6/7
- less_than_45_cards5/6
- less_than_105_corners5/6
🥇 Head-to-Head
- wins6
- no_losses7
- without_clean_sheet6
- first_to_score6/6
- less_than_45_cards8/10
- less_than_105_corners4/5
⚽ Home Goal Distribution
{'scored': {'total': 47, 'penalty': 3, 'shots': 402, 'corners_won': 167, 'yellow_cards': 124, 'red_cards': 1, 'fouls': 577, 'offsides': 87, 'avg_possession': 49.1, 'pass_accuracy': 74.38, 'matches_played': 39}, 'conceded': {'total': 54, 'clean_sheets': 11, 'shots': 473}}
⚽ Away Goal Distribution
{'scored': {'total': 47, 'penalty': 8, 'shots': 378, 'corners_won': 137, 'yellow_cards': 101, 'red_cards': 1, 'fouls': 443, 'offsides': 74, 'avg_possession': 44.6, 'pass_accuracy': 70.81, 'matches_played': 38}, 'conceded': {'total': 54, 'clean_sheets': 9, 'shots': 459}}
⚽ Scorers
[{'name': "Jarlath O'Rourke", 'minute': 89, 'team': 'home', 'type': 'goal'}, {'name': 'Patrick McEleney', 'minute': 23, 'team': 'away', 'type': 'penalty'}, {'name': 'Jacob Blaney', 'minute': 21, 'team': 'home', 'type': 'goal'}, {'name': 'Conor Barr', 'minute': 14, 'team': 'home', 'type': 'ownGoal'}]
💰 Betting Markets
{'full_time': {'choices': {'1': {'odds': 1.91, 'won': True}, 'X': {'odds': 3.4, 'won': False}, '2': {'odds': 3.4, 'won': False}}}}
📄 Raw Data
{'match_id': '96716', 'match_info': {'country': 'South Africa', 'league': 'Premiership', 'round': 'Round 29', 'date': '2025-02-15', 'time': '15:00', 'status': 'Finished', 'home_team': 'Crusaders Fc', 'away_team': 'Ballymena United', 'final_score': '3 - 1', 'half_time_score': '2 - 1', 'scorers': [{'name': "Jarlath O'Rourke", 'minute': 89, 'team': 'home', 'type': 'goal'}, {'name': 'Patrick McEleney', 'minute': 23, 'team': 'away', 'type': 'penalty'}, {'name': 'Jacob Blaney', 'minute': 21, 'team': 'home', 'type': 'goal'}, {'name': 'Conor Barr', 'minute': 14, 'team': 'home', 'type': 'ownGoal'}]}, 'betting_markets': {'full_time': {'choices': {'1': {'odds': 1.91, 'won': True}, 'X': {'odds': 3.4, 'won': False}, '2': {'odds': 3.4, 'won': False}}}}, 'streaks': {'home_team': {'first_to_score': '4/5', 'less_than_45_cards': '5/6', 'less_than_105_corners': '7/7'}, 'away_team': {'no_wins': '8', 'without_clean_sheet': '3', 'first_to_concede': '6/7', 'less_than_45_cards': '5/6', 'less_than_105_corners': '5/6'}, 'h2h': {'wins': '6', 'no_losses': '7', 'without_clean_sheet': '6', 'first_to_score': '6/6', 'less_than_45_cards': '8/10', 'less_than_105_corners': '4/5'}}, 'goal_distribution': {'home_team': {'scored': {'total': 47, 'penalty': 3, 'shots': 402, 'corners_won': 167, 'yellow_cards': 124, 'red_cards': 1, 'fouls': 577, 'offsides': 87, 'avg_possession': 49.1, 'pass_accuracy': 74.38, 'matches_played': 39}, 'conceded': {'total': 54, 'clean_sheets': 11, 'shots': 473}}, 'away_team': {'scored': {'total': 47, 'penalty': 8, 'shots': 378, 'corners_won': 137, 'yellow_cards': 101, 'red_cards': 1, 'fouls': 443, 'offsides': 74, 'avg_possession': 44.6, 'pass_accuracy': 70.81, 'matches_played': 38}, 'conceded': {'total': 54, 'clean_sheets': 9, 'shots': 459}}}, 'h2h_history': [{'date': '2026-04-25', 'score': '3-2', 'home': 'Crusaders Fc', 'away': 'Ballymena United', 'competition': 'Premiership, Relegation Round'}, {'date': '2026-02-17', 'score': '2-0', 'home': 'Ballymena United', 'away': 'Crusaders Fc', 'competition': 'Premiership'}, {'date': '2026-02-10', 'score': '?-?', 'home': 'Ballymena United', 'away': 'Crusaders Fc', 'competition': 'Premiership'}, {'date': '2025-11-22', 'score': '2-2', 'home': 'Ballymena United', 'away': 'Crusaders Fc', 'competition': 'Premiership'}, {'date': '2025-09-20', 'score': '1-1', 'home': 'Crusaders Fc', 'away': 'Ballymena United', 'competition': 'Premiership'}]}