{"ok":true,"source":"API-Football live + PronosticiBomba Supabase + OddAlerts public pages","generated_at_dublin":"2026-10-20T16:55:33.535929+01:00","match_date":"2026-10-20","selection_window":"fixed_next_hour_00_45","target_block_start_dublin":"2026-10-20T17:00:00+01:00","target_block_end_dublin":"2026-10-20T17:45:00+01:00","target_block_matches":3,"block_verified":true,"fixtures_today_total":233,"fixtures_target_date_total":233,"fixtures_in_next_75m":9,"relevant_fixtures_in_next_75m":7,"fixtures_in_target_block":3,"relevant_fixtures_in_target_block":3,"excluded_in_target_block":0,"excluded_breakdown":{},"fixtures_analyzed_before_ranking":3,"analysis_truncated":false,"analysis_hard_cap":1000,"technical_coverage_count":3,"odds_coverage_count":3,"oddalerts_ai_coverage_count":0,"oddalerts_public_value_coverage_count":0,"oddalerts_corner_trend_coverage_count":0,"oddalerts_confirmed_value_count":0,"model_disagreement_count":0,"oddalerts_status":{"enabled":true,"ai":{"ok":false,"status_code":null,"cache_hit":false,"error":"HTTPError: 403 Client Error: Forbidden for url: https://www.oddalerts.com/ai-football-predictions"},"value":{"ok":false,"status_code":null,"cache_hit":false,"error":"HTTPError: 403 Client Error: Forbidden for url: https://www.oddalerts.com/value-bets"},"corner_trend":{"ok":false,"status_code":null,"cache_hit":false,"error":"HTTPError: 403 Client Error: Forbidden for url: https://www.oddalerts.com/trends/over-8-corners"}},"external_signal_policy":{"oddalerts":"enabled_public_best_effort_second_model","footystats":"disabled","failure_policy":"OddAlerts failure never invalidates PB40; fall back to PB + API-Football"},"actionable_candidates_found":1,"matches_returned":3,"max_is_return_limit_only":true,"max_return_limit":1000,"live_enrichment_strategy":"prediction_for_no_pb_then_odds_for_pb_then_complementary_calls_plus_oddalerts_parallel","live_api_minute_limit_seen":450,"live_api_minute_remaining_before_enrichment":449,"live_api_safety_reserve":20,"live_api_budget":429,"live_odds_requested":3,"live_predictions_requested":3,"pb_state_metrics_available":3,"fallback_used":false,"request_ms":9176,"api_usage_this_request":{"calls":4,"by_endpoint":{"/fixtures":1,"/odds":3},"prediction_cache_hits":3,"odds_cache_hits":0},"api_rate_limit":{"daily_limit":75000,"daily_remaining":72031,"minute_limit":450,"minute_remaining":446},"partial_api_errors":[],"ranked_matches":[{"fixture_id":"1640382","kickoff_dublin":"2026-10-20T17:00:00+01:00","minutes_to_kickoff":4.4,"timing_priority":"fixed_target_block","league":"Cup","country":"Croatia","round":"Round of 16","home":"Karlovac 1919","away":"HNK Rijeka","venue":"Stadion Branko Cavlovic-Cavlek","referee":"","exclusion_reason":"","api_prediction":{"pred_winner_name":"Karlovac 1919","pred_winner_comment":"Win or draw","win_or_draw":true,"under_over":"+1.5","advice":"Combo Double chance : Karlovac 1919 or draw and +1.5 goals","goals_home":"-3.5","goals_away":"-6.5","prob_home":"35%","prob_draw":"35%","prob_away":"30%"},"live_odds":{"bookmaker":"Bet365","odd_home":10.0,"odd_draw":6.0,"odd_away":1.18,"odd_ou_1_5_over":1.17,"odd_ou_2_5_over":1.57,"odd_ou_2_5_under":2.35,"odd_ou_3_5_over":2.38,"odd_btts_yes":2.25,"odd_btts_no":1.57,"odd_ht_home_team_o05":null,"odd_ht_away_team_o05":null},"pb_metrics":{"lambda_home":1.188,"lambda_away":5.94,"lambda_total":7.128,"p_over_1_5":0.9935,"p_over_2_5":0.9731,"p_over_3_5":0.9247,"p_btts_yes":0.6933},"pb_picks":[],"pb_raw_available":true,"value_markets":[{"market":"Over 3.5","probability":0.9247,"odd":2.38,"implied_probability":0.4202,"edge":0.5045},{"market":"Over 2.5","probability":0.9731,"odd":1.57,"implied_probability":0.6369,"edge":0.3362},{"market":"BTTS YES","probability":0.6933,"odd":2.25,"implied_probability":0.4444,"edge":0.2489}],"best_value_market":{"market":"Over 3.5","probability":0.9247,"odd":2.38,"implied_probability":0.4202,"edge":0.5045},"oddalerts":{"enabled":true,"ai":{"matched":false,"match_confidence":0.0},"public_value_bet":{"matched":false,"match_confidence":0.0},"corner_trend":{"matched":false,"match_confidence":0.0}},"consensus_markets":[{"market":"Over 3.5","pb_probability":0.9247,"oddalerts_probability":null,"consensus_probability":0.9247,"model_gap":null,"agreement":"single_source","odd":2.38,"implied_probability":0.4202,"pb_edge":0.5045,"oddalerts_edge":null,"consensus_edge":0.5045,"consensus_ev":1.2008,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"Over 2.5","pb_probability":0.9731,"oddalerts_probability":null,"consensus_probability":0.9731,"model_gap":null,"agreement":"single_source","odd":1.57,"implied_probability":0.6369,"pb_edge":0.3362,"oddalerts_edge":null,"consensus_edge":0.3362,"consensus_ev":0.5278,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"BTTS YES","pb_probability":0.6933,"oddalerts_probability":null,"consensus_probability":0.6933,"model_gap":null,"agreement":"single_source","odd":2.25,"implied_probability":0.4444,"pb_edge":0.2489,"oddalerts_edge":null,"consensus_edge":0.2489,"consensus_ev":0.5599,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"Over 1.5","pb_probability":0.9935,"oddalerts_probability":null,"consensus_probability":0.9935,"model_gap":null,"agreement":"single_source","odd":1.17,"implied_probability":0.8547,"pb_edge":0.1388,"oddalerts_edge":null,"consensus_edge":0.1388,"consensus_ev":0.1624,"tag":"NO_CONFIRMED_VALUE","recommended":false}],"best_consensus_market":null,"model_disagreement":false,"oddalerts_rank_adjustment":0.0,"rank_score":55.95,"actionable_candidate":true,"live_enrichment":"odds+prediction"},{"fixture_id":"1635661","kickoff_dublin":"2026-10-20T17:45:00+01:00","minutes_to_kickoff":49.4,"timing_priority":"fixed_target_block","league":"UEFA Champions League","country":"World","round":"League Stage - 3","home":"Fenerbahçe","away":"Slavia Praha","venue":"Chobani Stadium","referee":"Ricardo De Burgos Bengoetxea","exclusion_reason":"","api_prediction":{"pred_winner_name":"Fenerbahçe","pred_winner_comment":"Win or draw","win_or_draw":true,"under_over":null,"advice":"Double chance : Fenerbahçe or draw","goals_home":"-2.5","goals_away":"-1.5","prob_home":"45%","prob_draw":"45%","prob_away":"10%"},"live_odds":{"bookmaker":"Bet365","odd_home":1.55,"odd_draw":4.5,"odd_away":5.25,"odd_ou_1_5_over":1.14,"odd_ou_2_5_over":1.5,"odd_ou_2_5_under":2.62,"odd_ou_3_5_over":2.2,"odd_btts_yes":1.57,"odd_btts_no":2.25,"odd_ht_home_team_o05":null,"odd_ht_away_team_o05":null},"pb_metrics":{"lambda_home":1.584,"lambda_away":0.45,"lambda_total":2.034,"p_over_1_5":0.6031,"p_over_2_5":0.3325,"p_over_3_5":0.1491,"p_btts_yes":0.288},"pb_picks":[],"pb_raw_available":true,"value_markets":[],"best_value_market":null,"oddalerts":{"enabled":true,"ai":{"matched":false,"match_confidence":0.0},"public_value_bet":{"matched":false,"match_confidence":0.0},"corner_trend":{"matched":false,"match_confidence":0.0}},"consensus_markets":[{"market":"Over 1.5","pb_probability":0.6031,"oddalerts_probability":null,"consensus_probability":0.6031,"model_gap":null,"agreement":"single_source","odd":1.14,"implied_probability":0.8772,"pb_edge":-0.2741,"oddalerts_edge":null,"consensus_edge":-0.2741,"consensus_ev":-0.3125,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"Over 3.5","pb_probability":0.1491,"oddalerts_probability":null,"consensus_probability":0.1491,"model_gap":null,"agreement":"single_source","odd":2.2,"implied_probability":0.4545,"pb_edge":-0.3054,"oddalerts_edge":null,"consensus_edge":-0.3054,"consensus_ev":-0.672,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"Over 2.5","pb_probability":0.3325,"oddalerts_probability":null,"consensus_probability":0.3325,"model_gap":null,"agreement":"single_source","odd":1.5,"implied_probability":0.6667,"pb_edge":-0.3342,"oddalerts_edge":null,"consensus_edge":-0.3342,"consensus_ev":-0.5012,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"BTTS YES","pb_probability":0.288,"oddalerts_probability":null,"consensus_probability":0.288,"model_gap":null,"agreement":"single_source","odd":1.57,"implied_probability":0.6369,"pb_edge":-0.3489,"oddalerts_edge":null,"consensus_edge":-0.3489,"consensus_ev":-0.5478,"tag":"NO_CONFIRMED_VALUE","recommended":false}],"best_consensus_market":null,"model_disagreement":false,"oddalerts_rank_adjustment":0.0,"rank_score":2.5,"actionable_candidate":false,"live_enrichment":"odds+prediction"},{"fixture_id":"1635719","kickoff_dublin":"2026-10-20T17:45:00+01:00","minutes_to_kickoff":49.4,"timing_priority":"fixed_target_block","league":"UEFA Champions League","country":"World","round":"League Stage - 3","home":"Sabah FA","away":"Borussia Dortmund","venue":"Baku Olympic Stadium","referee":"Javier Alberola Rojas","exclusion_reason":"","api_prediction":{"pred_winner_name":"Sabah FA","pred_winner_comment":"Win or draw","win_or_draw":true,"under_over":null,"advice":"Double chance : Sabah FA or draw","goals_home":"-2.5","goals_away":"-2.5","prob_home":"45%","prob_draw":"45%","prob_away":"10%"},"live_odds":{"bookmaker":"Bet365","odd_home":9.5,"odd_draw":6.25,"odd_away":1.27,"odd_ou_1_5_over":1.14,"odd_ou_2_5_over":1.5,"odd_ou_2_5_under":2.62,"odd_ou_3_5_over":2.2,"odd_btts_yes":1.91,"odd_btts_no":1.91,"odd_ht_home_team_o05":null,"odd_ht_away_team_o05":null},"pb_metrics":{"lambda_home":1.824,"lambda_away":0.384,"lambda_total":2.208,"p_over_1_5":0.6474,"p_over_2_5":0.3794,"p_over_3_5":0.1822,"p_btts_yes":0.2674},"pb_picks":[],"pb_raw_available":true,"value_markets":[],"best_value_market":null,"oddalerts":{"enabled":true,"ai":{"matched":false,"match_confidence":0.0},"public_value_bet":{"matched":false,"match_confidence":0.0},"corner_trend":{"matched":false,"match_confidence":0.0}},"consensus_markets":[{"market":"Over 1.5","pb_probability":0.6474,"oddalerts_probability":null,"consensus_probability":0.6474,"model_gap":null,"agreement":"single_source","odd":1.14,"implied_probability":0.8772,"pb_edge":-0.2298,"oddalerts_edge":null,"consensus_edge":-0.2298,"consensus_ev":-0.262,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"BTTS YES","pb_probability":0.2674,"oddalerts_probability":null,"consensus_probability":0.2674,"model_gap":null,"agreement":"single_source","odd":1.91,"implied_probability":0.5236,"pb_edge":-0.2562,"oddalerts_edge":null,"consensus_edge":-0.2562,"consensus_ev":-0.4893,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"Over 3.5","pb_probability":0.1822,"oddalerts_probability":null,"consensus_probability":0.1822,"model_gap":null,"agreement":"single_source","odd":2.2,"implied_probability":0.4545,"pb_edge":-0.2723,"oddalerts_edge":null,"consensus_edge":-0.2723,"consensus_ev":-0.5992,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"Over 2.5","pb_probability":0.3794,"oddalerts_probability":null,"consensus_probability":0.3794,"model_gap":null,"agreement":"single_source","odd":1.5,"implied_probability":0.6667,"pb_edge":-0.2873,"oddalerts_edge":null,"consensus_edge":-0.2873,"consensus_ev":-0.4309,"tag":"NO_CONFIRMED_VALUE","recommended":false}],"best_consensus_market":null,"model_disagreement":false,"oddalerts_rank_adjustment":0.0,"rank_score":2.5,"actionable_candidate":false,"live_enrichment":"odds+prediction"}],"matches":[{"fixture_id":"1640382","kickoff_dublin":"2026-10-20T17:00:00+01:00","minutes_to_kickoff":4.4,"timing_priority":"fixed_target_block","league":"Cup","country":"Croatia","round":"Round of 16","home":"Karlovac 1919","away":"HNK Rijeka","venue":"Stadion Branko Cavlovic-Cavlek","referee":"","exclusion_reason":"","api_prediction":{"pred_winner_name":"Karlovac 1919","pred_winner_comment":"Win or draw","win_or_draw":true,"under_over":"+1.5","advice":"Combo Double chance : Karlovac 1919 or draw and +1.5 goals","goals_home":"-3.5","goals_away":"-6.5","prob_home":"35%","prob_draw":"35%","prob_away":"30%"},"live_odds":{"bookmaker":"Bet365","odd_home":10.0,"odd_draw":6.0,"odd_away":1.18,"odd_ou_1_5_over":1.17,"odd_ou_2_5_over":1.57,"odd_ou_2_5_under":2.35,"odd_ou_3_5_over":2.38,"odd_btts_yes":2.25,"odd_btts_no":1.57,"odd_ht_home_team_o05":null,"odd_ht_away_team_o05":null},"pb_metrics":{"lambda_home":1.188,"lambda_away":5.94,"lambda_total":7.128,"p_over_1_5":0.9935,"p_over_2_5":0.9731,"p_over_3_5":0.9247,"p_btts_yes":0.6933},"pb_picks":[],"pb_raw_available":true,"value_markets":[{"market":"Over 3.5","probability":0.9247,"odd":2.38,"implied_probability":0.4202,"edge":0.5045},{"market":"Over 2.5","probability":0.9731,"odd":1.57,"implied_probability":0.6369,"edge":0.3362},{"market":"BTTS YES","probability":0.6933,"odd":2.25,"implied_probability":0.4444,"edge":0.2489}],"best_value_market":{"market":"Over 3.5","probability":0.9247,"odd":2.38,"implied_probability":0.4202,"edge":0.5045},"oddalerts":{"enabled":true,"ai":{"matched":false,"match_confidence":0.0},"public_value_bet":{"matched":false,"match_confidence":0.0},"corner_trend":{"matched":false,"match_confidence":0.0}},"consensus_markets":[{"market":"Over 3.5","pb_probability":0.9247,"oddalerts_probability":null,"consensus_probability":0.9247,"model_gap":null,"agreement":"single_source","odd":2.38,"implied_probability":0.4202,"pb_edge":0.5045,"oddalerts_edge":null,"consensus_edge":0.5045,"consensus_ev":1.2008,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"Over 2.5","pb_probability":0.9731,"oddalerts_probability":null,"consensus_probability":0.9731,"model_gap":null,"agreement":"single_source","odd":1.57,"implied_probability":0.6369,"pb_edge":0.3362,"oddalerts_edge":null,"consensus_edge":0.3362,"consensus_ev":0.5278,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"BTTS YES","pb_probability":0.6933,"oddalerts_probability":null,"consensus_probability":0.6933,"model_gap":null,"agreement":"single_source","odd":2.25,"implied_probability":0.4444,"pb_edge":0.2489,"oddalerts_edge":null,"consensus_edge":0.2489,"consensus_ev":0.5599,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"Over 1.5","pb_probability":0.9935,"oddalerts_probability":null,"consensus_probability":0.9935,"model_gap":null,"agreement":"single_source","odd":1.17,"implied_probability":0.8547,"pb_edge":0.1388,"oddalerts_edge":null,"consensus_edge":0.1388,"consensus_ev":0.1624,"tag":"NO_CONFIRMED_VALUE","recommended":false}],"best_consensus_market":null,"model_disagreement":false,"oddalerts_rank_adjustment":0.0,"rank_score":55.95,"actionable_candidate":true,"live_enrichment":"odds+prediction"},{"fixture_id":"1635661","kickoff_dublin":"2026-10-20T17:45:00+01:00","minutes_to_kickoff":49.4,"timing_priority":"fixed_target_block","league":"UEFA Champions League","country":"World","round":"League Stage - 3","home":"Fenerbahçe","away":"Slavia Praha","venue":"Chobani Stadium","referee":"Ricardo De Burgos Bengoetxea","exclusion_reason":"","api_prediction":{"pred_winner_name":"Fenerbahçe","pred_winner_comment":"Win or draw","win_or_draw":true,"under_over":null,"advice":"Double chance : Fenerbahçe or draw","goals_home":"-2.5","goals_away":"-1.5","prob_home":"45%","prob_draw":"45%","prob_away":"10%"},"live_odds":{"bookmaker":"Bet365","odd_home":1.55,"odd_draw":4.5,"odd_away":5.25,"odd_ou_1_5_over":1.14,"odd_ou_2_5_over":1.5,"odd_ou_2_5_under":2.62,"odd_ou_3_5_over":2.2,"odd_btts_yes":1.57,"odd_btts_no":2.25,"odd_ht_home_team_o05":null,"odd_ht_away_team_o05":null},"pb_metrics":{"lambda_home":1.584,"lambda_away":0.45,"lambda_total":2.034,"p_over_1_5":0.6031,"p_over_2_5":0.3325,"p_over_3_5":0.1491,"p_btts_yes":0.288},"pb_picks":[],"pb_raw_available":true,"value_markets":[],"best_value_market":null,"oddalerts":{"enabled":true,"ai":{"matched":false,"match_confidence":0.0},"public_value_bet":{"matched":false,"match_confidence":0.0},"corner_trend":{"matched":false,"match_confidence":0.0}},"consensus_markets":[{"market":"Over 1.5","pb_probability":0.6031,"oddalerts_probability":null,"consensus_probability":0.6031,"model_gap":null,"agreement":"single_source","odd":1.14,"implied_probability":0.8772,"pb_edge":-0.2741,"oddalerts_edge":null,"consensus_edge":-0.2741,"consensus_ev":-0.3125,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"Over 3.5","pb_probability":0.1491,"oddalerts_probability":null,"consensus_probability":0.1491,"model_gap":null,"agreement":"single_source","odd":2.2,"implied_probability":0.4545,"pb_edge":-0.3054,"oddalerts_edge":null,"consensus_edge":-0.3054,"consensus_ev":-0.672,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"Over 2.5","pb_probability":0.3325,"oddalerts_probability":null,"consensus_probability":0.3325,"model_gap":null,"agreement":"single_source","odd":1.5,"implied_probability":0.6667,"pb_edge":-0.3342,"oddalerts_edge":null,"consensus_edge":-0.3342,"consensus_ev":-0.5012,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"BTTS YES","pb_probability":0.288,"oddalerts_probability":null,"consensus_probability":0.288,"model_gap":null,"agreement":"single_source","odd":1.57,"implied_probability":0.6369,"pb_edge":-0.3489,"oddalerts_edge":null,"consensus_edge":-0.3489,"consensus_ev":-0.5478,"tag":"NO_CONFIRMED_VALUE","recommended":false}],"best_consensus_market":null,"model_disagreement":false,"oddalerts_rank_adjustment":0.0,"rank_score":2.5,"actionable_candidate":false,"live_enrichment":"odds+prediction"},{"fixture_id":"1635719","kickoff_dublin":"2026-10-20T17:45:00+01:00","minutes_to_kickoff":49.4,"timing_priority":"fixed_target_block","league":"UEFA Champions League","country":"World","round":"League Stage - 3","home":"Sabah FA","away":"Borussia Dortmund","venue":"Baku Olympic Stadium","referee":"Javier Alberola Rojas","exclusion_reason":"","api_prediction":{"pred_winner_name":"Sabah FA","pred_winner_comment":"Win or draw","win_or_draw":true,"under_over":null,"advice":"Double chance : Sabah FA or draw","goals_home":"-2.5","goals_away":"-2.5","prob_home":"45%","prob_draw":"45%","prob_away":"10%"},"live_odds":{"bookmaker":"Bet365","odd_home":9.5,"odd_draw":6.25,"odd_away":1.27,"odd_ou_1_5_over":1.14,"odd_ou_2_5_over":1.5,"odd_ou_2_5_under":2.62,"odd_ou_3_5_over":2.2,"odd_btts_yes":1.91,"odd_btts_no":1.91,"odd_ht_home_team_o05":null,"odd_ht_away_team_o05":null},"pb_metrics":{"lambda_home":1.824,"lambda_away":0.384,"lambda_total":2.208,"p_over_1_5":0.6474,"p_over_2_5":0.3794,"p_over_3_5":0.1822,"p_btts_yes":0.2674},"pb_picks":[],"pb_raw_available":true,"value_markets":[],"best_value_market":null,"oddalerts":{"enabled":true,"ai":{"matched":false,"match_confidence":0.0},"public_value_bet":{"matched":false,"match_confidence":0.0},"corner_trend":{"matched":false,"match_confidence":0.0}},"consensus_markets":[{"market":"Over 1.5","pb_probability":0.6474,"oddalerts_probability":null,"consensus_probability":0.6474,"model_gap":null,"agreement":"single_source","odd":1.14,"implied_probability":0.8772,"pb_edge":-0.2298,"oddalerts_edge":null,"consensus_edge":-0.2298,"consensus_ev":-0.262,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"BTTS YES","pb_probability":0.2674,"oddalerts_probability":null,"consensus_probability":0.2674,"model_gap":null,"agreement":"single_source","odd":1.91,"implied_probability":0.5236,"pb_edge":-0.2562,"oddalerts_edge":null,"consensus_edge":-0.2562,"consensus_ev":-0.4893,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"Over 3.5","pb_probability":0.1822,"oddalerts_probability":null,"consensus_probability":0.1822,"model_gap":null,"agreement":"single_source","odd":2.2,"implied_probability":0.4545,"pb_edge":-0.2723,"oddalerts_edge":null,"consensus_edge":-0.2723,"consensus_ev":-0.5992,"tag":"NO_CONFIRMED_VALUE","recommended":false},{"market":"Over 2.5","pb_probability":0.3794,"oddalerts_probability":null,"consensus_probability":0.3794,"model_gap":null,"agreement":"single_source","odd":1.5,"implied_probability":0.6667,"pb_edge":-0.2873,"oddalerts_edge":null,"consensus_edge":-0.2873,"consensus_ev":-0.4309,"tag":"NO_CONFIRMED_VALUE","recommended":false}],"best_consensus_market":null,"model_disagreement":false,"oddalerts_rank_adjustment":0.0,"rank_score":2.5,"actionable_candidate":false,"live_enrichment":"odds+prediction"}]}