🇲🇦 Morocco
· Botola Pro
· Round 21
💰 Betting Odds
Home
1.95
Draw
3.0
Away
3.75
🔥 Home Form
- losses3
- no_wins4
- without_clean_sheet4
- both_teams_scoring4/5
- first_to_score5/7
- less_than_45_cards4/5
- less_than_105_corners7/7
🔥 Away Form
- no_losses9
- no_wins4
- both_teams_scoring4/5
- less_than_105_corners8/9
🥇 Head-to-Head
- no_losses4
- more_than_45_cards5/6
⚽ Home Goal Distribution
{'scored': {'total': 34, 'penalty': 7, 'shots': 292, 'corners_won': 118, 'yellow_cards': 83, 'red_cards': 4, 'fouls': 358, 'offsides': 88, 'avg_possession': 52.8, 'pass_accuracy': 79.55, 'matches_played': 30}, 'conceded': {'total': 37, 'clean_sheets': 7, 'shots': 307}}
⚽ Away Goal Distribution
{'scored': {'total': 37, 'penalty': 6, 'shots': 300, 'corners_won': 141, 'yellow_cards': 73, 'red_cards': 9, 'fouls': 388, 'offsides': 51, 'avg_possession': 47, 'pass_accuracy': 77.72, 'matches_played': 30}, 'conceded': {'total': 33, 'clean_sheets': 11, 'shots': 257}}
⚽ Scorers
[{'name': 'Mohsine Moutouali', 'minute': 80, 'team': 'home', 'type': 'penalty'}, {'name': 'Abdoulaye Diarra', 'minute': 56, 'team': 'away', 'type': 'goal'}, {'name': 'Faouzi Abdoul Mutalib', 'minute': 48, 'team': 'home', 'type': 'goal'}, {'name': 'Abdoulaye Diarra', 'minute': 28, 'team': 'away', 'type': 'penalty'}, {'name': 'Hamza El Wasti', 'minute': 20, 'team': 'home', 'type': 'goal'}, {'name': 'Hamza El Wasti', 'minute': 13, 'team': 'home', 'type': 'goal'}]
💰 Betting Markets
{'full_time': {'choices': {'1': {'odds': 1.95, 'won': True}, 'X': {'odds': 3.0, 'won': False}, '2': {'odds': 3.75, 'won': False}}}, 'double_chance': {'choices': {'1X': {'odds': 1.22, 'won': True}, 'X2': {'odds': 1.73, 'won': False}, '12': {'odds': 1.33, 'won': True}}}, 'first_half': {'choices': {'1': {'odds': 2.88, 'won': True}, 'X': {'odds': 1.95, 'won': False}, '2': {'odds': 4.75, 'won': False}}}, 'draw_no_bet': {'choices': {'1': {'odds': 1.44, 'won': True}, '2': {'odds': 2.62, 'won': False}}}, 'both_teams_to_score': {'choices': {'yes': {'odds': 2.2, 'won': True}, 'no': {'odds': 1.62, 'won': False}}}, 'corners_2_way': {'line': 2.0, 'over': {'odds': 2.0, 'won': True}, 'under': {'odds': 1.73, 'won': False}}, 'first_team_to_score': {'choices': {'home': {'odds': 1.67, 'won': True}, 'no_goal': {'odds': 6.5, 'won': False}, 'away': {'odds': 2.75, 'won': False}}}}
📄 Raw Data
{'match_id': '97308', 'match_info': {'country': 'Morocco', 'league': 'Botola Pro', 'round': 'Round 21', 'date': '2025-02-16', 'time': '15:00', 'status': 'Finished', 'home_team': 'Ittihad Tanger', 'away_team': 'Olympic Safi', 'final_score': '4 - 2', 'half_time_score': '2 - 1', 'scorers': [{'name': 'Mohsine Moutouali', 'minute': 80, 'team': 'home', 'type': 'penalty'}, {'name': 'Abdoulaye Diarra', 'minute': 56, 'team': 'away', 'type': 'goal'}, {'name': 'Faouzi Abdoul Mutalib', 'minute': 48, 'team': 'home', 'type': 'goal'}, {'name': 'Abdoulaye Diarra', 'minute': 28, 'team': 'away', 'type': 'penalty'}, {'name': 'Hamza El Wasti', 'minute': 20, 'team': 'home', 'type': 'goal'}, {'name': 'Hamza El Wasti', 'minute': 13, 'team': 'home', 'type': 'goal'}]}, 'betting_markets': {'full_time': {'choices': {'1': {'odds': 1.95, 'won': True}, 'X': {'odds': 3.0, 'won': False}, '2': {'odds': 3.75, 'won': False}}}, 'double_chance': {'choices': {'1X': {'odds': 1.22, 'won': True}, 'X2': {'odds': 1.73, 'won': False}, '12': {'odds': 1.33, 'won': True}}}, 'first_half': {'choices': {'1': {'odds': 2.88, 'won': True}, 'X': {'odds': 1.95, 'won': False}, '2': {'odds': 4.75, 'won': False}}}, 'draw_no_bet': {'choices': {'1': {'odds': 1.44, 'won': True}, '2': {'odds': 2.62, 'won': False}}}, 'both_teams_to_score': {'choices': {'yes': {'odds': 2.2, 'won': True}, 'no': {'odds': 1.62, 'won': False}}}, 'corners_2_way': {'line': 2.0, 'over': {'odds': 2.0, 'won': True}, 'under': {'odds': 1.73, 'won': False}}, 'first_team_to_score': {'choices': {'home': {'odds': 1.67, 'won': True}, 'no_goal': {'odds': 6.5, 'won': False}, 'away': {'odds': 2.75, 'won': False}}}}, 'streaks': {'home_team': {'losses': '3', 'no_wins': '4', 'without_clean_sheet': '4', 'both_teams_scoring': '4/5', 'first_to_score': '5/7', 'less_than_45_cards': '4/5', 'less_than_105_corners': '7/7'}, 'away_team': {'no_losses': '9', 'no_wins': '4', 'both_teams_scoring': '4/5', 'less_than_105_corners': '8/9'}, 'h2h': {'no_losses': '4', 'more_than_45_cards': '5/6'}}, 'goal_distribution': {'home_team': {'scored': {'total': 34, 'penalty': 7, 'shots': 292, 'corners_won': 118, 'yellow_cards': 83, 'red_cards': 4, 'fouls': 358, 'offsides': 88, 'avg_possession': 52.8, 'pass_accuracy': 79.55, 'matches_played': 30}, 'conceded': {'total': 37, 'clean_sheets': 7, 'shots': 307}}, 'away_team': {'scored': {'total': 37, 'penalty': 6, 'shots': 300, 'corners_won': 141, 'yellow_cards': 73, 'red_cards': 9, 'fouls': 388, 'offsides': 51, 'avg_possession': 47, 'pass_accuracy': 77.72, 'matches_played': 30}, 'conceded': {'total': 33, 'clean_sheets': 11, 'shots': 257}}}, 'h2h_history': [{'date': '2026-04-29', 'score': '1-2', 'home': 'Olympic Safi', 'away': 'Ittihad Tanger', 'competition': 'Botola Pro'}, {'date': '2025-09-15', 'score': '1-1', 'home': 'Ittihad Tanger', 'away': 'Olympic Safi', 'competition': 'Botola Pro'}, {'date': '2025-02-15', 'score': '4-2', 'home': 'Ittihad Tanger', 'away': 'Olympic Safi', 'competition': 'Botola Pro'}, {'date': '2024-10-20', 'score': '2-3', 'home': 'Olympic Safi', 'away': 'Ittihad Tanger', 'competition': 'Botola Pro'}, {'date': '2024-04-27', 'score': '1-1', 'home': 'Olympic Safi', 'away': 'Ittihad Tanger', 'competition': 'Botola Pro'}]}