[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"football-site-config":3,"world-cup-status-en":27,"match-326324473701601280-en":61,"match-news-326324473701601280-en":86,"match-team-news-326324473701601280-en":87,"match-league-news-326324473701601280-en":246,"prediction-summary-326324473701601280":247,"timeline-326324473701601280":252},{"adSlots":4,"affiliateMode":5,"brandName":6,"contentStrategy":7,"currency":8,"friendLinks":9,"homepageLayoutKey":10,"leagueFocus":11,"locale":12,"planVisibility":13,"seoDescription":14,"seoTitleTemplate":15,"siteCode":10,"siteName":6,"siteType":10,"subscriptionMode":5,"timezone":16,"id":17,"tenantID":18,"primaryDomain":19,"countryCode":20,"logoUrl":21,"faviconUrl":21,"theme":22,"seoKeywords":24,"status":25,"ads":4,"focusLeagues":26,"affiliatePolicies":26},[],"shared","Football Prediction Platform","scores_predictions","USD",[],"main",[],"en-US",[],"Football fixtures, results, free predictions, subscriptions, and clearly labeled partner links.","{page} | Football Prediction Platform","America\u002FNew_York",323900000000000000,1,"football.easytestdev.online","US","",{"primaryColor":23},"#1677ff","football predictions, football fixtures, football results","active",null,{"active":28,"leagueId":29,"leagueName":30,"leagueImagePath":31,"seasonId":32,"seasonName":33,"startingAt":34,"endingAt":35,"daysToStart":36,"daysToEnd":37,"phase":38,"includeQualifying":39,"hostCities":40},true,"326135624916537344","World Cup","https:\u002F\u002Fmedia.api-sports.io\u002Ffootball\u002Fleagues\u002F1.png","326255613308833792","2026\u002F2027","2026-06-11","2026-06-28",-38,-21,"finished_recent",false,[41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],"Atlanta","Boston","Dallas","East Rutherford","Guadalajara","Houston","Kansas City","Los Angeles","Mexico City","Miami","Monterrey","New-York","New York New Jersey","Philadelphia","San-Francisco","San Francisco Bay Area","Seattle","Toronto","Vancouver","Zapopan",{"match":62},{"awayScore":18,"awayTeam":63,"description":69,"homeScore":70,"homeTeam":71,"id":77,"kickoffAt":78,"length":79,"leagueId":80,"leagueName":81,"leagueSlug":82,"probabilityLabel":81,"slug":83,"status":84,"tvStations":85,"venueCity":21,"venueName":21},{"code":64,"id":65,"imagePath":66,"name":67,"slug":68},"AWY","326257613719212032","https:\u002F\u002Fmedia.api-sports.io\u002Ffootball\u002Fteams\u002F975.png","Olympique Safi","olympique-safi","The coastal Moroccan derby returns as Hassania Agadir hosts Olympique Safi in a crucial Botola Pro encounter. More than just local pride, this fixture carries significant weight in the league standings. Both teams are typically locked in a fierce battle for mid-table supremacy and continental qualification spots, making every point vital as the season enters its decisive phase. The historical rivalry, fueled by geographic proximity along the Atlantic coast, ensures a charged atmosphere regardless of the table positions.\n\nTactically, this match promises a compelling clash of styles. Hassania Agadir, often solid and organized at their Stade Adrar, will look to control the game through disciplined defensive structure and quick transitions. Olympique Safi, known for their passionate and sometimes unpredictable approach, will aim to disrupt Agadir's rhythm with high energy and direct play. Key battles will likely occur in midfield, where Safi's tenacity meets Agadir's tactical discipline, and in the wide areas, where both teams possess players capable of delivering decisive crosses.\n\nThe Stade Adrar will be a cauldron of noise, with the home \"Green Eagles\" supporters creating an intimidating wall of sound to spur their team on. The visiting Safi fans, though fewer in number, will make their presence felt with relentless chanting. Fans can expect a fiercely contested, physical match with little given away easily. The atmosphere will be electric, embodying the raw passion of Moroccan football. Given the historical context and current stakes, a tight, tense affair is anticipated, where a single moment of brilliance or a defensive lapse could decide the outcome and have a major impact on both teams' final league positions.",2,{"code":72,"id":73,"imagePath":74,"name":75,"slug":76},"HME","326257613643714560","https:\u002F\u002Fmedia.api-sports.io\u002Ffootball\u002Fteams\u002F973.png","Hassania Agadir","hassania-agadir","326324473701601280","2026-05-04T16:00:00Z",90,"326135633930096640","Botola Pro","ma-botola-pro","hassania-agadir-vs-olympique-safi-2026-05-04","finished",[],[],[88,126,154,180,196,222],{"awayTeamId":-1,"awayTeamName":-1,"body":-1,"category":89,"excerpt":90,"homeTeamId":-1,"homeTeamName":-1,"id":91,"leagueId":92,"leagueName":93,"matchId":94,"matchName":21,"publishedAt":95,"slug":96,"sourceName":97,"sourceURL":98,"teamId":99,"teamName":100,"teamIds":101,"teamNames":113,"title":125},"news","Leeds Rhinos snapped a 10-year Headingley curse against St Helens with a 24-16 fightback, moving top of Super League. Maika Sivo's 20th try sealed the win.","338095545681711105","326135630578847744","Super League","0","2026-06-04T16:58:00Z","leeds-edge-st-helens-24-16-to-end-hoodoo-take-top-spot","Sky Sports","https:\u002F\u002Fwww.skysports.com\u002Frugby-league\u002Fleeds-vs-st-helens\u002Freport\u002F63240","326257839859306496","St Helens",[99,102,103,104,105,106,107,108,109,110,73,111,112],"326257546358689792","326222707169431552","326257664579342336","326257747110662144","326257749308477440","326257766752587776","326257777523560448","326257546392244224","326257551639318528","326257615342407680","326257617288564736",[100,114,115,116,117,118,119,120,121,122,75,123,124],"Leeds","Anderlecht","Faroe Islands","Farense","Sintrense","Fortaleza EC","Al-Wasl FC","Nottingham Forest","Mannsdorf-Großenzersdorf","FC Winterthur","Mantova","Leeds Edge St Helens 24-16 to End Hoodoo, Take Top Spot",{"awayTeamId":-1,"awayTeamName":-1,"body":-1,"category":89,"excerpt":127,"homeTeamId":-1,"homeTeamName":-1,"id":128,"leagueId":129,"leagueName":130,"matchId":94,"matchName":21,"publishedAt":131,"slug":132,"sourceName":133,"sourceURL":134,"teamId":135,"teamName":136,"teamIds":137,"teamNames":145,"title":153},"L'Equipe's interactive tool lets fans choose France's starting XI for the Ivory Coast match. See squad, make picks as Les Bleus prepare for a crucial test.","338018848877842433","326135632491450368","Africa Cup of Nations","2026-06-04T16:05:00Z","france-xi-vs-ivory-coast-pick-your-starting-lineup","L'Equipe","https:\u002F\u002Fwww.lequipe.fr\u002Fspecial\u002Fselection\u002F11-bleus-cdm-2026#at_medium=RSS_feeds","326222711447621632","France",[135,138,107,139,140,141,103,142,143,73,144],"326222712533946368","326257768367394816","326257810339794944","326257695210344448","326222713142120448","326222767416414208","326257623760375808",[136,146,119,147,148,149,115,150,151,75,152],"Ivory Coast","Desportiva ES","Forest Green","Signal","Canada","Lesotho","FC Anyang","France XI vs Ivory Coast: Pick Your Starting Lineup",{"awayTeamId":-1,"awayTeamName":-1,"body":-1,"category":89,"excerpt":155,"homeTeamId":-1,"homeTeamName":-1,"id":156,"leagueId":157,"leagueName":158,"matchId":94,"matchName":21,"publishedAt":159,"slug":160,"sourceName":161,"sourceURL":162,"teamId":163,"teamName":164,"teamIds":165,"teamNames":172,"title":179},"Bayern Munich reportedly has an agreement with Brown; Benfica reveals Mourinho transfer fee demands. Full details from Kicker's latest report.","338026480460107777","326135624673267712","Bundesliga","2026-06-04T14:51:06Z","brown-to-bayern-benfica-discusses-mourinho-transfer-fee","Kicker","https:\u002F\u002Fwww.kicker.de\u002Ftransferticker-953155\u002Fartikel#omrss","326257537559040000","Benfica",[163,166,167,168,169,73,170,171,107,141,103,142,109],"326255039712595968","326257534270705664","326257580877811712","326257599160782848","326257615203995648","326257760532434944",[164,173,174,175,176,75,177,178,119,149,115,150,121],"Başakşehir","Werder Bremen","Mito Hollyhock","Istra 1961","FC Zurich","İstanbulspor","Brown to Bayern: Benfica Discusses Mourinho Transfer Fee",{"awayTeamId":-1,"awayTeamName":-1,"body":-1,"category":89,"excerpt":181,"homeTeamId":-1,"homeTeamName":-1,"id":182,"leagueId":94,"leagueName":21,"matchId":94,"matchName":21,"publishedAt":183,"slug":184,"sourceName":161,"sourceURL":162,"teamId":102,"teamName":114,"teamIds":185,"teamNames":190,"title":195},"Ethan Ampadu commits his long-term future to Leeds United with a new deal, as FC Köln opt not to trigger the purchase clause for Chavez after his loan spell.","337964339321376769","2026-06-04T12:17:24Z","ampadu-extends-leeds-contract-koln-decline-chavez-option",[102,166,167,169,73,171,107,186,187,103,142,188,109,189],"326257783785656320","326257814404075520","326257545754710016","326257554411753472",[114,173,174,176,75,178,119,191,192,115,150,193,121,194],"Istres","Hastings United","Newcastle","Newcastle Jets","Ampadu Extends Leeds Contract; Köln Decline Chavez Option",{"awayTeamId":197,"awayTeamName":198,"body":-1,"category":89,"excerpt":199,"homeTeamId":142,"homeTeamName":150,"id":200,"leagueId":29,"leagueName":30,"matchId":201,"matchName":202,"publishedAt":203,"slug":204,"sourceName":205,"sourceURL":206,"teamId":207,"teamName":208,"teamIds":209,"teamNames":215,"title":221},"326222712898850816","Qatar","FIFA bans reusable water bottles at 2026 World Cup after safety U-turn, raising heat concerns with 28C temps. Mitigation measures in place.","337886628729065473","327115064219799552","Canada vs Qatar","2026-06-04T07:21:08Z","fifa-bans-reusable-bottles-what-2026-world-cup-heat-means","The Guardian","https:\u002F\u002Fwww.theguardian.com\u002Ffootball\u002F2026\u002Fjun\u002F04\u002Ffifa-bans-reusable-water-bottles-world-cup-stadiums","326222711908995072","Mexico",[207,142,197,103,109,73,210,107,211,212,213,214],"326257636301344768","326257784637100032","326255042854129664","326255043940454400","326257556026560512",[208,150,198,115,121,75,216,119,217,218,219,220],"Arema FC","Cannes","FC Urartu","Banga","Banfield","Fifa Bans Reusable Bottles: What 2026 World Cup Heat Means",{"awayTeamId":-1,"awayTeamName":-1,"body":-1,"category":89,"excerpt":223,"homeTeamId":-1,"homeTeamName":-1,"id":224,"leagueId":29,"leagueName":30,"matchId":94,"matchName":21,"publishedAt":225,"slug":226,"sourceName":227,"sourceURL":228,"teamId":229,"teamName":230,"teamIds":231,"teamNames":238,"title":245},"Wales women's team forced to land in Brindisi after electrical storms prevented landing in Podgorica; World Cup qualifier vs Montenegro still set for Friday.","337857137512288257","2026-06-04T03:30:09Z","wales-flight-diverted-3-hour-delay-italy-stopover","BBC Sport","https:\u002F\u002Fwww.bbc.com\u002Fsport\u002Ffootball\u002Farticles\u002Fcj3pk2erknno?at_medium=RSS&at_campaign=rss","326257664185077760","Wales",[229,232,233,234,235,236,103,73,237],"326257664877137920","326222712290676736","326257769613103104","326257807676411904","326257661500723200","326257686389723136",[230,239,240,241,242,243,115,75,244],"Montenegro","Czechia","Capital","Cardiff","Italy","Together","Wales Flight Diverted: 3-Hour Delay, Italy Stopover",[],{"matchResult":248,"exactScore":249,"totalGoals":250,"bothTeamsToScore":251},[],[],[],[],[253,262,269,274,282,287,293,298,302,309,315,320,327,333,337,342],{"id":254,"addition":-1,"extraMinute":255,"info":256,"isHome":39,"minute":257,"narrative":258,"playerName":259,"relatedPlayerName":260,"result":21,"teamLogo":66,"teamName":67,"typeName":261},"326966171230277632",0,"Normal Goal",9,"9' Moussa Koné (Olympique Safi) scores, set up by Soulaimane El Bouchqali. 1-0 — an early opener.","Moussa Koné","Soulaimane El Bouchqali","goal",{"id":263,"addition":-1,"extraMinute":255,"info":264,"isHome":28,"minute":265,"narrative":266,"playerName":267,"relatedPlayerName":21,"result":21,"teamLogo":74,"teamName":75,"typeName":268},"326966171280609280","Yellow Card",33,"33' Euclides Cabral (Hassania Agadir) is shown a yellow card.","Euclides Cabral","yellow_card",{"id":270,"addition":-1,"extraMinute":255,"info":264,"isHome":39,"minute":271,"narrative":272,"playerName":273,"relatedPlayerName":21,"result":21,"teamLogo":66,"teamName":67,"typeName":268},"326966171322552320",41,"41' Houari Ferhani (Olympique Safi) is shown a yellow card.","Houari Ferhani",{"id":275,"addition":-1,"extraMinute":255,"info":276,"isHome":28,"minute":277,"narrative":278,"playerName":279,"relatedPlayerName":280,"result":21,"teamLogo":74,"teamName":75,"typeName":281},"326966171377078272","Substitution 1",46,"46' (Hassania Agadir) makes a substitution: Mehdi Akoumi comes on for Hamid Ahdad.","Mehdi Akoumi","Hamid Ahdad","substitution",{"id":283,"addition":-1,"extraMinute":255,"info":264,"isHome":28,"minute":284,"narrative":285,"playerName":286,"relatedPlayerName":21,"result":21,"teamLogo":74,"teamName":75,"typeName":268},"326966171439992832",47,"47' Mouad Bahsain (Hassania Agadir) is shown a yellow card.","Mouad Bahsain",{"id":288,"addition":-1,"extraMinute":255,"info":276,"isHome":39,"minute":289,"narrative":290,"playerName":291,"relatedPlayerName":292,"result":21,"teamLogo":66,"teamName":67,"typeName":281},"326966171477741569",53,"53' (Olympique Safi) makes a substitution: Imad Khannouss comes on for Achref Habbassi.","Imad Khannouss","Achref Habbassi",{"id":294,"addition":-1,"extraMinute":255,"info":256,"isHome":28,"minute":295,"narrative":296,"playerName":297,"relatedPlayerName":21,"result":21,"teamLogo":74,"teamName":75,"typeName":261},"326966171511296000",60,"60' Baba Ilou (Hassania Agadir) scores. 1-1 — the equaliser.","Baba Ilou",{"id":299,"addition":-1,"extraMinute":255,"info":256,"isHome":28,"minute":300,"narrative":301,"playerName":297,"relatedPlayerName":280,"result":21,"teamLogo":74,"teamName":75,"typeName":261},"326966171553239040",62,"62' Baba Ilou (Hassania Agadir) scores, set up by Hamid Ahdad. 1-2 — his second of the match.",{"id":303,"addition":-1,"extraMinute":255,"info":304,"isHome":28,"minute":305,"narrative":306,"playerName":307,"relatedPlayerName":308,"result":21,"teamLogo":74,"teamName":75,"typeName":281},"326966171607764992","Substitution 2",69,"69' (Hassania Agadir) makes a substitution: Mohamed Ounajem comes on for Mohamed Bakhkhach.","Mohamed Ounajem","Mohamed Bakhkhach",{"id":310,"addition":-1,"extraMinute":255,"info":311,"isHome":28,"minute":305,"narrative":312,"playerName":313,"relatedPlayerName":314,"result":21,"teamLogo":74,"teamName":75,"typeName":281},"326966171641319424","Substitution 3","69' (Hassania Agadir) makes a substitution: Youssef Arbidi comes on for Mohamed Amine Katiba.","Youssef Arbidi","Mohamed Amine Katiba",{"id":316,"addition":-1,"extraMinute":255,"info":304,"isHome":39,"minute":317,"narrative":318,"playerName":273,"relatedPlayerName":319,"result":21,"teamLogo":66,"teamName":67,"typeName":281},"326966171674873856",76,"76' (Olympique Safi) makes a substitution: Houari Ferhani comes on for Anass Eddaou.","Anass Eddaou",{"id":321,"addition":-1,"extraMinute":255,"info":322,"isHome":28,"minute":323,"narrative":324,"playerName":325,"relatedPlayerName":326,"result":21,"teamLogo":74,"teamName":75,"typeName":281},"326966171712622593","Substitution 4",82,"82' (Hassania Agadir) makes a substitution: Jalal Tachtach comes on for Abdellah Ait Brayim.","Jalal Tachtach","Abdellah Ait Brayim",{"id":328,"addition":-1,"extraMinute":255,"info":329,"isHome":28,"minute":323,"narrative":330,"playerName":331,"relatedPlayerName":332,"result":21,"teamLogo":74,"teamName":75,"typeName":281},"326966171758759936","Substitution 5","82' (Hassania Agadir) makes a substitution: Abderrahmane Qassaq comes on for Jose Dembi.","Abderrahmane Qassaq","Jose Dembi",{"id":334,"addition":-1,"extraMinute":255,"info":264,"isHome":28,"minute":335,"narrative":336,"playerName":308,"relatedPlayerName":21,"result":21,"teamLogo":74,"teamName":75,"typeName":268},"326966171783925760",87,"87' Mohamed Bakhkhach (Hassania Agadir) is shown a yellow card.",{"id":338,"addition":-1,"extraMinute":255,"info":311,"isHome":39,"minute":79,"narrative":339,"playerName":340,"relatedPlayerName":341,"result":21,"teamLogo":66,"teamName":67,"typeName":281},"326966171859423232","90' (Olympique Safi) makes a substitution: Anas Mkhair comes on for Marwane Elaz.","Anas Mkhair","Marwane Elaz",{"id":343,"addition":-1,"extraMinute":344,"info":264,"isHome":39,"minute":79,"narrative":345,"playerName":341,"relatedPlayerName":21,"result":21,"teamLogo":66,"teamName":67,"typeName":268},"326966171821674496",6,"90+6' Marwane Elaz (Olympique Safi) is shown a yellow card."]