[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"football-site-config":3,"world-cup-status-en":27,"match-326329542509596672-en":61,"match-news-326329542509596672-en":86,"match-team-news-326329542509596672-en":87,"match-league-news-326329542509596672-en":230,"prediction-summary-326329542509596672":252,"timeline-326329542509596672":257},{"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","326257572149465088","https:\u002F\u002Fmedia.api-sports.io\u002Ffootball\u002Fteams\u002F101.png","Grenoble","grenoble","The Stade Marcel-Tribut is set for a charged atmosphere as USL Dunkerque host Grenoble Foot 38 in a pivotal Ligue 2 clash on May 2, 2026. With the season entering its decisive final stretch, this fixture carries immense weight for both clubs' ambitions. Dunkerque, the resilient newcomers, are battling to secure their second-tier status, while Grenoble, a consistent playoff contender, are desperate for points to keep their promotion hopes alive. This is more than a game; it's a direct confrontation between survival and ambition.\n\nHistorically, this is not a fixture steeped in deep-seated rivalry, but recent seasons have forged a competitive edge. Both teams have often found themselves in similar mid-table battles, making each encounter a tense, tactical affair. The key tactical duel will likely be between Dunkerque's organized, compact defensive block and Grenoble's fluid, possession-based attacking system. Watch for Grenoble's creative midfielders trying to unlock Dunkerque's disciplined backline, while the home side will look to exploit transitions with pace and directness.\n\nFans can expect a fervent, vocal backing for the home side, with the Marcel-Tribut's intimate stands creating a cauldron of noise designed to unsettle the visitors. Grenoble's travelling support, though smaller, will be equally passionate, adding to the electric cup-tie feel. Every tackle and chance will be met with a roar, underscoring the high stakes.\n\nAs the match concludes, the result will send shockwaves through the Ligue 2 table. A victory for Dunkerque could provide a crucial buffer from the relegation zone, while a win for Grenoble might catapult them into the top five. A draw would leave both teams with mixed emotions, potentially helping neither cause significantly. The final whistle will not just end a match but could define the trajectory of both clubs' seasons.",0,{"code":72,"id":73,"imagePath":74,"name":75,"slug":76},"HME","326257572505980928","https:\u002F\u002Fmedia.api-sports.io\u002Ffootball\u002Fteams\u002F1304.png","Dunkerque","dunkerque","326329542509596672","2026-05-02T18:00:00Z",90,"326135624505495552","Ligue 2","fr-ligue-2","dunkerque-vs-grenoble-2026-05-02","finished",[],[],[88,120,151,162,184,213],{"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":110,"title":119},"news","Mickaël Landreau warned at a French goalkeepers' convention that 1.83m keepers like David Raya must always be exceptional as taller keepers hone skills.","335943444973228033","326135625054949376","Premier League","0","2026-05-29T21:49:04Z","david-raya-at-1-83m-why-short-keepers-must-be-exceptional","L'Equipe","https:\u002F\u002Fwww.lequipe.fr\u002FFootball\u002FArticle\u002F-a-l-avenir-les-gardiens-de-1-83-m-devront-toujours-etre-exceptionnels-parce-que-les-grands-vont-travailler-david-raya-anachronique-d-une-finale\u002F1679878#at_medium=RSS_feeds","326257545968619520","Arsenal",[99,73,102,103,104,105,106,107,108,109],"326257535919067136","326257536112005120","326257535994564608","326257535885512704","326257536296554496","326222711447621632","326257546220277760","326257807785463808",[100,75,111,112,113,114,115,116,117,118],"Lyon","Monaco","Nantes","Lille","Auxerre","France","Chelsea","Reading","David Raya at 1.83m: Why Short Keepers Must Be Exceptional",{"awayTeamId":121,"awayTeamName":122,"body":-1,"category":89,"excerpt":123,"homeTeamId":124,"homeTeamName":125,"id":126,"leagueId":127,"leagueName":128,"matchId":129,"matchName":130,"publishedAt":131,"slug":132,"sourceName":97,"sourceURL":133,"teamId":121,"teamName":122,"teamIds":134,"teamNames":142,"title":150},"326257536334303232","Le Havre","Le Havre nears deal for Demba Ba as sporting director, replacing Mathieu Bodmer, with Dunkerque head of recruitment Romain Decool also possibly moving.","326257536216862720","Lorient","335127357721415681","326135625889615872","Ligue 1","327054525431025664","Lorient vs Le Havre","2026-05-27T15:51:05Z","le-havre-s-demba-ba-swoop-what-it-means-for-ligue-1","https:\u002F\u002Fwww.lequipe.fr\u002FFootball\u002FActualites\u002FLe-havre-fonce-sur-demba-ba-dunkerque\u002F1679337#at_medium=RSS_feeds",[121,124,73,108,135,136,137,138,139,140,141,107],"326222712936599552","326222767416414208","326255038852763648","326255039846813696","326257545754710016","326257546153168896","326222711783165952",[122,125,75,117,143,144,145,146,147,148,149,116],"Paraguay","Lesotho","BK Hacken","FK Partizan","Newcastle","West Ham","Senegal","Le Havre's Demba Ba Swoop: What It Means for Ligue 1",{"awayTeamId":121,"awayTeamName":122,"body":-1,"category":89,"excerpt":152,"homeTeamId":124,"homeTeamName":125,"id":153,"leagueId":127,"leagueName":128,"matchId":129,"matchName":130,"publishedAt":131,"slug":154,"sourceName":97,"sourceURL":133,"teamId":121,"teamName":122,"teamIds":155,"teamNames":158,"title":161},"Le Havre closing in on Demba Ba as sporting director; Romain Decool also joining. Ba's track record at Dunkerque makes him strong fit to replace Bodmer.","335119811312881665","le-havre-closing-in-on-demba-ba-as-sporting-director",[121,124,73,108,135,136,137,138,156,157],"326222707169431552","326222713142120448",[122,125,75,117,143,144,145,146,159,160],"Anderlecht","Canada","Le Havre Closing in on Demba Ba as Sporting Director",{"awayTeamId":-1,"awayTeamName":-1,"body":-1,"category":89,"excerpt":163,"homeTeamId":-1,"homeTeamName":-1,"id":164,"leagueId":165,"leagueName":81,"matchId":94,"matchName":21,"publishedAt":166,"slug":167,"sourceName":97,"sourceURL":168,"teamId":169,"teamName":170,"teamIds":171,"teamNames":177,"title":183},"Laval secured Ligue 2 survival with a nervy 1-0 home win over 10-man Rouen, sealing a 2-1 aggregate victory in the promotion\u002Frelegation playoff.","334047732098404353","326135626590064640","2026-05-24T16:59:18Z","laval-edge-10-man-rouen-1-0-to-secure-ligue-2-status","https:\u002F\u002Fwww.lequipe.fr\u002FFootball\u002FActualites\u002FLaval-bat-difficilement-rouen-et-valide-son-maintien-en-ligue-2\u002F1678556#at_medium=RSS_feeds","326257572275294208","Laval",[169,172,135,136,173,138,174,175,73,176,156,157],"326257544227983360","326255038584328192","326255041625198592","326255043672018944","326257781126467584",[170,178,143,144,179,146,180,181,75,182,159,160],"Santos","Legia Warszawa","Partizani","Oleksandria","Quevilly","Laval Edge 10-Man Rouen 1-0 to Secure Ligue 2 Status",{"awayTeamId":-1,"awayTeamName":-1,"body":-1,"category":89,"excerpt":185,"homeTeamId":-1,"homeTeamName":-1,"id":186,"leagueId":165,"leagueName":81,"matchId":94,"matchName":21,"publishedAt":187,"slug":188,"sourceName":97,"sourceURL":189,"teamId":73,"teamName":75,"teamIds":190,"teamNames":201,"title":212},"Darmstadt offers four-year contract to Alec Georgen as right-back leaves Dunkerque; unnamed Ligue 1 club also monitors after Team of the Season nod.","331178402537017345","2026-05-16T14:29:16Z","alec-georgen-offered-4-year-deal-what-german-move-means","https:\u002F\u002Fwww.lequipe.fr\u002FFootball\u002FActualites\u002FEn-fin-de-contrat-avec-dunkerque-avec-georgen-est-courtise-par-darmstadt-en-allemagne\u002F1676265#at_medium=RSS_feeds",[73,135,138,174,191,192,193,194,195,196,197,198,199,200,107],"326257536413995008","326257537865224192","326257538016219136","326257539844935680","326257536078450688","326257801217183744","326257781361348608","326222711401484288","326222712076767232","326257769613103104",[75,143,146,180,202,203,204,205,206,207,208,209,210,211,116],"Paris FC","Estoril","Casa Pia","Parma","Paris Saint Germain","SV Darmstadt 98","Avranches","Belgium","Germany","Capital","Alec Georgen Offered 4-Year Deal: What German Move Means?",{"awayTeamId":214,"awayTeamName":215,"body":-1,"category":89,"excerpt":216,"homeTeamId":104,"homeTeamName":113,"id":217,"leagueId":165,"leagueName":81,"matchId":218,"matchName":219,"publishedAt":220,"slug":221,"sourceName":97,"sourceURL":222,"teamId":104,"teamName":113,"teamIds":223,"teamNames":226,"title":229},"326257536179113984","Toulouse","Nantes' relegation to Ligue 2 was sealed by 20 defeats and three coaches; a failed summer mercato and Halilhodzic's ban typified the chaos.","329862623677911041","327054520452386816","Nantes vs Toulouse","2026-05-13T03:35:00Z","why-nantes-fell-3-coaches-20-losses-ligue-2-relegation","https:\u002F\u002Fwww.lequipe.fr\u002FFootball\u002FArticle\u002FUne-gestion-douteuse-et-une-descente-en-ligue-2-rendue-inevitable-nantes-chroniques-d-une-saison-noire\u002F1675313#at_medium=RSS_feeds",[104,214,73,107,224,135,136,138,192,225,156,157],"326257536443355136","326257556060114944",[113,215,75,116,227,143,144,146,203,228,159,160],"Lens","Estudiantes L.P.","Why Nantes Fell: 3 Coaches, 20 Losses, Ligue 2 Relegation",[231],{"awayTeamId":232,"awayTeamName":233,"body":-1,"category":89,"excerpt":234,"homeTeamId":235,"homeTeamName":236,"id":237,"leagueId":80,"leagueName":81,"matchId":238,"matchName":239,"publishedAt":240,"slug":241,"sourceName":97,"sourceURL":242,"teamId":243,"teamName":244,"teamIds":245,"teamNames":248,"title":251},"326257572367568896","Le Mans","Saint-Étienne faces a critical Ligue 2 promotion decider against Amiens without several key players due to injuries, complicating their direct promotion hopes.","326257572564701184","Bastia","327834742185529345","327052492669980672","Bastia vs Le Mans","2026-05-07T13:13:45Z","saint-etienne-s-promotion-hopes-dented-by-major-injury-crisis-ahead-of-amiens","https:\u002F\u002Fwww.lequipe.fr\u002FFootball\u002FActualites\u002FSaint-etienne-prive-de-nombreux-cadres-pour-son-match-decisif-pour-la-montee-contre-amiens\u002F1673857#at_medium=RSS_feeds","326257572300460032","Saint Etienne",[243,235,232,246,247,156,136,192,225,157],"326257572023635968","326257600637177856",[244,236,233,249,250,159,144,203,228,160],"Amiens","Chico","Saint-Étienne's Promotion Hopes Dented by Major Injury Crisis Ahead of Amiens Showdown",{"matchResult":253,"exactScore":254,"totalGoals":255,"bothTeamsToScore":256},[],[],[],[],[258,266,273,280,286,292,298,303,310,316,321,328,333,338,346],{"id":259,"addition":-1,"extraMinute":70,"info":260,"isHome":39,"minute":261,"narrative":262,"playerName":263,"relatedPlayerName":264,"result":21,"teamLogo":66,"teamName":67,"typeName":265},"326973695153147904","Substitution 1",10,"10' (Grenoble) makes a substitution: A. N’Gatta comes on for E. Maurin.","A. N’Gatta","E. Maurin","substitution",{"id":267,"addition":-1,"extraMinute":70,"info":268,"isHome":39,"minute":269,"narrative":270,"playerName":271,"relatedPlayerName":21,"result":21,"teamLogo":66,"teamName":67,"typeName":272},"326973695190896640","Red Card",21,"21' B. Mouazan (Grenoble) is sent off with a straight red card.","B. Mouazan","red_card",{"id":274,"addition":-1,"extraMinute":70,"info":275,"isHome":28,"minute":276,"narrative":277,"playerName":278,"relatedPlayerName":21,"result":21,"teamLogo":74,"teamName":75,"typeName":279},"326973695220256768","Yellow Card",31,"31' Z. Seha (Dunkerque) is shown a yellow card.","Z. Seha","yellow_card",{"id":281,"addition":-1,"extraMinute":70,"info":260,"isHome":28,"minute":282,"narrative":283,"playerName":284,"relatedPlayerName":285,"result":21,"teamLogo":74,"teamName":75,"typeName":265},"326973695249616896",32,"32' (Dunkerque) makes a substitution: A. Georgen comes on for Y. Sekongo.","A. Georgen","Y. Sekongo",{"id":287,"addition":-1,"extraMinute":70,"info":288,"isHome":28,"minute":289,"narrative":290,"playerName":278,"relatedPlayerName":291,"result":21,"teamLogo":74,"teamName":75,"typeName":265},"326973695283171328","Substitution 2",46,"46' (Dunkerque) makes a substitution: Z. Seha comes on for Aristide Zossou.","Aristide Zossou",{"id":293,"addition":-1,"extraMinute":70,"info":288,"isHome":39,"minute":294,"narrative":295,"playerName":296,"relatedPlayerName":297,"result":21,"teamLogo":66,"teamName":67,"typeName":265},"326973695308337152",53,"53' (Grenoble) makes a substitution: C. Vidal comes on for S. Mambo.","C. Vidal","S. Mambo",{"id":299,"addition":-1,"extraMinute":70,"info":275,"isHome":39,"minute":300,"narrative":301,"playerName":302,"relatedPlayerName":21,"result":21,"teamLogo":66,"teamName":67,"typeName":279},"326973695333502976",58,"58' G. Paquiez (Grenoble) is shown a yellow card.","G. Paquiez",{"id":304,"addition":-1,"extraMinute":70,"info":305,"isHome":39,"minute":306,"narrative":307,"playerName":308,"relatedPlayerName":309,"result":21,"teamLogo":66,"teamName":67,"typeName":265},"326973695362863104","Substitution 3",68,"68' (Grenoble) makes a substitution: U. Bonnet comes on for M. Djitté.","U. Bonnet","M. Djitté",{"id":311,"addition":-1,"extraMinute":70,"info":312,"isHome":39,"minute":306,"narrative":313,"playerName":314,"relatedPlayerName":315,"result":21,"teamLogo":66,"teamName":67,"typeName":265},"326973695417389056","Substitution 5","68' (Grenoble) makes a substitution: L. Bernadou comes on for S. Diba.","L. Bernadou","S. Diba",{"id":317,"addition":-1,"extraMinute":70,"info":275,"isHome":28,"minute":318,"narrative":319,"playerName":320,"relatedPlayerName":21,"result":21,"teamLogo":74,"teamName":75,"typeName":279},"326973695438360576",74,"74' A. Linguet (Dunkerque) is shown a yellow card.","A. Linguet",{"id":322,"addition":-1,"extraMinute":70,"info":323,"isHome":28,"minute":324,"narrative":325,"playerName":326,"relatedPlayerName":327,"result":21,"teamLogo":74,"teamName":75,"typeName":265},"326973695492886528","Substitution 4",75,"75' (Dunkerque) makes a substitution: M. Makhloufi comes on for Marco Decherf.","M. Makhloufi","Marco Decherf",{"id":329,"addition":-1,"extraMinute":70,"info":305,"isHome":28,"minute":324,"narrative":330,"playerName":331,"relatedPlayerName":332,"result":21,"teamLogo":74,"teamName":75,"typeName":265},"326973695463526400","75' (Dunkerque) makes a substitution: D. Diongu comes on for L. Doucet.","D. Diongu","L. Doucet",{"id":334,"addition":-1,"extraMinute":70,"info":275,"isHome":39,"minute":335,"narrative":336,"playerName":337,"relatedPlayerName":21,"result":21,"teamLogo":66,"teamName":67,"typeName":279},"326973695518052352",88,"88' M. Diop (Grenoble) is shown a yellow card.","M. Diop",{"id":339,"addition":-1,"extraMinute":70,"info":340,"isHome":39,"minute":341,"narrative":342,"playerName":343,"relatedPlayerName":344,"result":21,"teamLogo":66,"teamName":67,"typeName":345},"326973695543218176","Normal Goal",89,"89' Y. Diaby (Grenoble) scores, set up by L. Mouyokolo. 0-1 — a late winner.","Y. Diaby","L. Mouyokolo","goal",{"id":347,"addition":-1,"extraMinute":348,"info":312,"isHome":28,"minute":79,"narrative":349,"playerName":350,"relatedPlayerName":351,"result":21,"teamLogo":74,"teamName":75,"typeName":265},"326973695580966912",6,"90+6' (Dunkerque) makes a substitution: E. Bardeli comes on for Opa Sanganté.","E. Bardeli","Opa Sanganté"]