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.