Growing Discord community — direct access to the developer, live coverage & picks. Join now →
0
Bug Archived Apr 18, 2026 · WillG25

Lineups are inaccurate for most top 5 league teams & Substitutions appear as null everytime

Kindly fix this please : Lineups are inaccurate for most top 5 league teams & Substitutions appear as null everytime. For most of the other leaagues when i cross check with other sources the lineups seem accurate but whenever i check for a premier league, serie a, la liga, europa, etc, i tend to find a lot of innacuracies, what could be the cause?

Resolution: Both issues addressed. The substitutions null bug was fixed in #83 (sub_in/sub_out now correctly populated from incidents). For lineup accuracy: data is confirmed for finished matches. We verified Che
Comments (4)
Dora — BSD Support Admin AI Apr 18, 2026 17:56
Hey WillG25, Thanks for the detailed report. I see you're getting inaccurate lineups for top 5 leagues (Premier League, Serie A, La Liga, Europa) and substitutions showing as null. Quick clarification: **Are you using `?full=true`** on the `/api/events/` endpoint? Lineups require that parameter to be included. Without it, they won't appear at all—which might explain the null substitutions. For finished matches, lineups populate automatically ~1 hour after final whistle. For live/in-progress matches, they're derived from real-time incident data. If substitutions are null, it could mean: 1. You're querying before the match finished or before data synced 2. The incident data for that match hasn't been fully processed yet (we sync daily at 5 AM UTC, full sync Sundays) 3. Missing `?full=true` parameter Can you share: - A specific match ID and timestamp you checked? - Are you using `?full=true`? - Which lineups look wrong compared to the actual team sheets? Once I see the details, I can dig into why top-5 leagues are behaving differently than others. Dora — BSD Support
WillG25 Apr 18, 2026 18:03
https://sports.bzzoiro.com/api/events/?date_from=2026-04-18&full=true { "id": 325, "league": { "id": 1, "name": "Premier League", "country": "England", "is_women": false, "current_season": { "id": 337, "name": "Premier League 25/26", "year": 2025, "start_date": "2025-07-01", "end_date": "2026-06-30" } }, "season": { "id": 337, "name": "Premier League 25/26", "year": 2025 }, "home_team": "Brentford", "away_team": "Fulham", "home_team_obj": { "id": 16, "name": "Brentford", "short_name": "Brentford", "country": "England", "coach": { "name": "Keith Andrews", "shortName": "K. Andrews" } }, "away_team_obj": { "id": 6, "name": "Fulham", "short_name": "Fulham", "country": "England", "coach": { "name": "Marco Silva", "shortName": "M. Silva" } }, "event_date": "2026-04-18T15:30:00+04:00", "round_number": 33, "status": "finished", "home_score": 0, "away_score": 0, "home_score_ht": 0, "away_score_ht": 0, "current_minute": 90, "period": "FT", "odds_home": 3.05, "odds_draw": 1.8, "odds_away": 5.9, "odds_over_15": 4.7, "odds_over_25": 12, "odds_over_35": 15, "odds_under_15": 1.18, "odds_under_25": 1.02, "odds_under_35": 1.07, "odds_btts_yes": 7.5, "odds_btts_no": 1.07, "odds_dc_12": 2, "actual_home_xg": null, "actual_away_xg": null, "home_xg_live": 1.36, "away_xg_live": 0.74, "referee": null, "home_coach": { "id": 550, "name": "Keith Andrews", "short_name": "K. Andrews", "country": "Ireland", "profile": "balanced", "preferred_formation": "4-2-3-1" }, "away_coach": { "id": 553, "name": "Marco Silva", "short_name": "M. Silva", "country": "Portugal", "profile": "balanced", "preferred_formation": "4-2-3-1" }, "unavailable_players": { "home": [ { "name": "Antoni Milambo", "status": "injured", "reason": "ACL Knee Injury", "expected_return": "2026-05-25" }, { "name": "Fabio Carvalho", "status": "injured", "reason": "Cruciate Ligament Injury", "expected_return": "2026-09-20" }, { "name": "Jordan Henderson", "status": "injured", "reason": "Knock Injury", "expected_return": "2026-05-10" }, { "name": "Kaye Furo", "status": "injured", "reason": "Muscle Injury", "expected_return": "2026-05-10" }, { "name": "Reiss Nelson", "status": "injured", "reason": "Calf Injury", "expected_return": null }, { "name": "Rico Henry", "status": "injured", "reason": "Hamstring Injury", "expected_return": "2026-05-10" }, { "name": "Vitaly Janelt", "status": "injured", "reason": "Knock Injury", "expected_return": "2026-05-10" } ], "away": [ { "name": "Harrison Reed", "status": "injured", "reason": "Knee Injury", "expected_return": "2026-04-30" }, { "name": "Kenny Tete", "status": "injured", "reason": "Foot Injury", "expected_return": "2026-04-30" } ] }, "lineups": { "away": { "players": [ { "name": "B. Leno", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "G", "red_card": false, "player_id": 823, "yellow_card": false, "jersey_number": "1" }, { "name": "T. Castagne", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 834, "yellow_card": false, "jersey_number": "21" }, { "name": "J. Andersen", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 825, "yellow_card": false, "jersey_number": "5" }, { "name": "C. Bassey", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 826, "yellow_card": false, "jersey_number": "3" }, { "name": "A. Robinson", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 4559, "yellow_card": false, "jersey_number": "33" }, { "name": "A. Iwobi", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "M", "red_card": false, "player_id": 832, "yellow_card": false, "jersey_number": "17" }, { "name": "S. Berge", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "M", "red_card": false, "player_id": 829, "yellow_card": false, "jersey_number": "16" }, { "name": "H. Wilson", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "M", "red_card": false, "player_id": 830, "yellow_card": false, "jersey_number": "8" }, { "name": "J. King", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "M", "red_card": false, "player_id": 837, "yellow_card": false, "jersey_number": "24" }, { "name": "O. Bobb", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "M", "red_card": false, "player_id": 3651, "yellow_card": false, "jersey_number": "14" }, { "name": "R. Muniz", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "F", "red_card": false, "player_id": 4095, "yellow_card": false, "jersey_number": "9" } ], "formation": "4-2-3-1", "substitutes": [] },
WillG25 Apr 18, 2026 18:05
whereas the turkish league has lineups and substitutes: { "id": 3328, "league": { "id": 11, "name": "Trendyol Super Lig", "country": "Turkey", "is_women": false, "current_season": { "id": 380, "name": "Super Lig 25/26", "year": 2025, "start_date": "2025-07-01", "end_date": "2026-06-30" } }, "season": { "id": 380, "name": "Super Lig 25/26", "year": 2025 }, "home_team": "Fatih Karagümrük", "away_team": "Eyüpspor", "home_team_obj": { "id": 193, "name": "Fatih Karagümrük", "short_name": "Karagümrük", "country": "Türkiye", "coach": { "name": "Aleksandar Stanojević", "shortName": "A. Stanojević" } }, "away_team_obj": { "id": 191, "name": "Eyüpspor", "short_name": "Eyüpspor", "country": "Türkiye", "coach": { "name": "Atila Gerin", "shortName": "A. Gerin" } }, "event_date": "2026-04-18T15:30:00+04:00", "round_number": 30, "status": "finished", "home_score": 1, "away_score": 2, "home_score_ht": 1, "away_score_ht": 2, "current_minute": 90, "period": "FT", "odds_home": 1.91, "odds_draw": 3.4, "odds_away": 3.9, "odds_over_15": 1.3, "odds_over_25": 2.05, "odds_over_35": 3.5, "odds_under_15": 3.4, "odds_under_25": 1.75, "odds_under_35": 1.29, "odds_btts_yes": 1.83, "odds_btts_no": 1.83, "odds_dc_12": null, "actual_home_xg": null, "actual_away_xg": null, "home_xg_live": 1.47, "away_xg_live": 0.32, "referee": null, "home_coach": { "id": 367, "name": "Aleksandar Stanojević", "short_name": "A. Stanojević", "country": "Serbia", "profile": "defensive", "preferred_formation": "4-2-3-1" }, "away_coach": { "id": 388, "name": "Atila Gerin", "short_name": "A. Gerin", "country": "Türkiye", "profile": "defensive", "preferred_formation": "4-2-3-1" }, "unavailable_players": { "home": [ { "name": "Abdul Kader Moussa Kone", "status": "injured", "reason": "Muscle Injury", "expected_return": null }, { "name": "Ahmet Sivri", "status": "injured", "reason": "Muscle Injury", "expected_return": null } ], "away": [ { "name": "Denis Radu", "status": "suspended", "reason": "Red card suspension", "expected_return": "2026-04-19" }, { "name": "Dorin Rotariu", "status": "injured", "reason": "Muscle Injury", "expected_return": null }, { "name": "Emre Akbaba", "status": "injured", "reason": "Calf/Shin Injury", "expected_return": null } ] }, "lineups": { "away": { "players": [ { "name": "J. Yılmaz", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "G", "red_card": false, "player_id": 6355, "yellow_card": false, "jersey_number": "24" }, { "name": "Calegari", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 6863, "yellow_card": false, "jersey_number": "2" }, { "name": "L. Claro", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 6907, "yellow_card": false, "jersey_number": "4" }, { "name": "S. A. Yaşar", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 7133, "yellow_card": false, "jersey_number": "16" }, { "name": "U. Meraş", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 6357, "yellow_card": false, "jersey_number": "77" }, { "name": "T. Ilter", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "M", "red_card": false, "player_id": 6353, "yellow_card": false, "jersey_number": "28" }, { "name": "M. Łęgowski", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "M", "red_card": false, "player_id": 6358, "yellow_card": false, "jersey_number": "20" }, { "name": "B. A. Gezek", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "M", "red_card": false, "player_id": 6352, "yellow_card": false, "jersey_number": "55" }, { "name": "U. Bozok", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "M", "red_card": false, "player_id": 6350, "yellow_card": false, "jersey_number": "19" }, { "name": "C. R. Yao", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "F", "red_card": false, "player_id": 8656, "yellow_card": false, "jersey_number": "15" }, { "name": "M. Altunbaş", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "F", "red_card": false, "player_id": 6360, "yellow_card": false, "jersey_number": "26" } ], "formation": "4-4-1-1", "substitutes": [ { "name": "M. Felipe", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "G", "red_card": false, "player_id": 4992, "yellow_card": false, "jersey_number": "1" }, { "name": "B. Özyurt", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 6897, "yellow_card": false, "jersey_number": "5" }, { "name": "B. Satli", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 8658, "yellow_card": false, "jersey_number": "42" }, { "name": "J. Onguene", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 8651, "yellow_card": false, "jersey_number": "68" }, { "name": "A. Yavuz", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 8652, "yellow_card": false, "jersey_number": "88" }, { "name": "T. Ülvan", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 6356, "yellow_card": false, "jersey_number": "17" }, { "name": "D. Ndoye", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 13680, "yellow_card": false, "jersey_number": "14" }, { "name": "L. Pintor", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "F", "red_card": false, "player_id": 8653, "yellow_card": false, "jersey_number": "23" }, { "name": "I. Manga", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "M", "red_card": false, "player_id": 9000, "yellow_card": false, "jersey_number": "27" }, { "name": "A. Sy", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "F", "red_card": false, "player_id": 10580, "yellow_card": false, "jersey_number": "25" } ] }, "home": { "players": [ { "name": "I. Grbic", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "G", "red_card": false, "player_id": 5807, "yellow_card": false, "jersey_number": "13" }, { "name": "R. Esgaio", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 5808, "yellow_card": false, "jersey_number": "47" }, { "name": "D. Biraschi", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 8738, "yellow_card": false, "jersey_number": "4" }, { "name": "I. Lichnovsky", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 8956, "yellow_card": false, "jersey_number": "3" }, { "name": "M. Kranevitter", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 5813, "yellow_card": false, "jersey_number": "5" }, { "name": "D. Verde", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "M", "red_card": false, "player_id": 8958, "yellow_card": false, "jersey_number": "10" }, { "name": "F. Mladenovic", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "M", "red_card": false, "player_id": 2955, "yellow_card": false, "jersey_number": "25" }, { "name": "B. Elmaz", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "M", "red_card": false, "player_id": 6361, "yellow_card": false, "jersey_number": "6" }, { "name": "S. W. Babicka", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "M", "red_card": false, "player_id": 5190, "yellow_card": false, "jersey_number": "80" }, { "name": "S. Larsson", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "F", "red_card": false, "player_id": 6876, "yellow_card": false, "jersey_number": "23" }, { "name": "Serginho", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "F", "red_card": false, "player_id": 5815, "yellow_card": false, "jersey_number": "70" } ], "formation": "4-4-2", "substitutes": [ { "name": "F. Bekleviç", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "G", "red_card": false, "player_id": 6877, "yellow_card": false, "jersey_number": "99" }, { "name": "A. Y. Çınar", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 5823, "yellow_card": false, "jersey_number": "94" }, { "name": "F. Kurucuk", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 7065, "yellow_card": false, "jersey_number": "22" }, { "name": "B. Ersoy", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "M", "red_card": false, "player_id": 5819, "yellow_card": false, "jersey_number": "24" }, { "name": "Ç. Kurukalıp", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 5811, "yellow_card": false, "jersey_number": "33" }, { "name": "M. Kadioglu", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "D", "red_card": false, "player_id": 5824, "yellow_card": false, "jersey_number": "32" }, { "name": "B. Özcan", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "M", "red_card": false, "player_id": 5816, "yellow_card": false, "jersey_number": "8" }, { "name": "B. Kalaycı", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "F", "red_card": false, "player_id": 5818, "yellow_card": false, "jersey_number": "72" }, { "name": "A. Traore", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "F", "red_card": false, "player_id": 8605, "yellow_card": false, "jersey_number": "88" }, { "name": "T. Cukur", "goals": 0, "rating": null, "sub_in": null, "sub_out": null, "position": "F", "red_card": false, "player_id": 8858, "yellow_card": false, "jersey_number": "21" } ]
Dora (Support) AI Apr 19, 2026 03:33
This has been implemented! Both issues addressed. The substitutions null bug was fixed in #83 (sub_in/sub_out now correctly populated from incidents). For lineup accuracy: data is confirmed for finished matches. We verified Che Thank you for your feedback — it helps us improve the platform.