Google Sports Game Results API
Our Google Sports API provides detailed information about the game.
The API endpoint is https://serpapi.com/search?engine=google_sports
Head to the playground for a live and interactive demo.
API Examples
Example of a football game info, team stats, and team standings
{
"search_metadata": {
"id": "6a195d56fd6b6ffe9595fb8f",
"status": "Success",
"json_endpoint": "https://serpapi.com/searches/TkU_XNeWD4C8bBZ6gIquGg/6a195d56fd6b6ffe9595fb8f.json",
"created_at": "2026-05-29 09:33:10 UTC",
"processed_at": "2026-05-29 09:33:11 UTC",
"google_sports_url": "https://www.google.com/search?kgmid=/g/11ydn8j3lf&sourceid=chrome&ie=UTF-8&gl=us&hl=en#sie=m;/g/11ydn8j3lf;2;/g/11ydn8j3lf;dt;fp;1;;;;-1",
"raw_html_file": "https://serpapi.com/searches/TkU_XNeWD4C8bBZ6gIquGg/6a195d56fd6b6ffe9595fb8f.html",
"total_time_taken": 1.09
},
"search_parameters": {
"engine": "google_sports",
"kgmid": "/g/11ydn8j3lf",
"sp": "ft",
"type": "game",
"gl": "us",
"hl": "en"
},
"game_results": {
"info": {
"teams": [
{
"name": "US Cremonese",
"short_name": "Cremonese",
"short_code": "CRE",
"kgmid": "/m/05nsfc",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/DE7-gNIPSRkzKx4FKSwxOw_500x500.png",
"rank": 18,
"rank_movement": "not_changed",
"score": 1,
"score_original": "1",
"goal_summary": [
{
"player": {
"name": "Federico Bonazzoli",
"short_name": "F. Bonazzoli",
"position": "Striker",
"jersey_number": "90",
"kgmid": "/m/011jpl09",
"thumbnail": "http://t3.gstatic.com/licensed-image?q=tbn:ANd9GcRnsXwHg5i9Mo9EtcMhMLH1yFk3QeS9j0_mGXHNBOo7mnvFVCMelTJMQixlZiCMPt_y2qC9o2FQQgn3v9B9ua574Hc"
},
"goals": [
{
"in_game_time": {
"minute": 54,
"second": 0
},
"extensions": [
"P"
]
}
]
}
],
"red_card_summary": [
{
"player": {
"name": "Alberto Grassi",
"short_name": "A. Grassi",
"position": "Midfielder",
"jersey_number": "33",
"kgmid": "/m/011nsd72",
"thumbnail": "http://t2.gstatic.com/licensed-image?q=tbn:ANd9GcR75NoWaP4vHfWgI3iJYJm4vB9KRBNDeQArJRvIcUC1KbJ7LBR-JIBh82S5rcqFV7C_444mGFmWX7Md-6_5x4K1SA"
},
"in_game_time": {
"minute": 70,
"second": 0
}
},
...
]
},
{
"name": "Como 1907",
"short_name": "Como",
"short_code": "COM",
"kgmid": "/m/07rz7z",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/6InMYSIcwGvDV1SD3-cPGA_500x500.png",
"rank": 4,
"rank_movement": "up",
"score": 4,
"score_original": "4",
"goal_summary": [
...
{
"player": {
"name": "Lucas Da Cunha",
"short_name": "L. Da Cunha",
"position": "Midfielder",
"jersey_number": "33",
"kgmid": "/g/11fqtnmc29",
"thumbnail": "http://t2.gstatic.com/licensed-image?q=tbn:ANd9GcR8Opm75rAqDCUTGfAwk05PJk25BtcfH6fx5NFkGiRFl1-VIJs9H0MkcikWOcVuvDILLqvRfSAKX9A3RyvixzG7IzQ"
},
"goals": [
{
"in_game_time": {
"minute": 73,
"second": 0
},
"extensions": [
"P"
]
},
{
"in_game_time": {
"minute": 80,
"second": 0
}
}
]
}
],
"win": true
}
],
"league": {
"name": "Serie A",
"kgmid": "/m/03zv9"
},
"venue": {
"name": "Stadio Giovanni Zini",
"location": "Cremona",
"kgmid": "/g/11yj7962_x"
},
"status": "finished",
"status_original": "Full-time",
"kgmid": "/g/11ydn8j3lf",
"start_time": "2026-05-24T18:45:00Z",
"end_time": "2026-05-24T20:47:19Z",
"highlights": [
{
"title": "Match recap",
"source_title": "Cremonese v Como",
"link": "https://www.dazn.com/highlight/47t4mc8enb5f01ckrlnqkied4t?utm_source=onebox&utm_medium=organic&utm_campaign=CremonesevComo&utm_term=highlights&utm_content=SerieA",
"duration": "3:00",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/p80rhe36QKD_4ODZ_768x432.jpg",
"posted_at": "2026-05-24T21:35:28Z"
},
...
]
},
"team_stats": {
"teams": [
{
"team_index": 0,
"stats": [
{
"title": "Shots",
"type": "SHOTS",
"value": "7"
},
{
"title": "Shots on target",
"type": "SHOTS_ON_TARGET",
"value": "1"
},
{
"title": "Possession",
"type": "POSSESSION",
"value": "31%"
},
...
]
},
{
"team_index": 1,
"stats": [
{
"title": "Shots",
"type": "SHOTS",
"value": "16",
"advantage": true
},
{
"title": "Shots on target",
"type": "SHOTS_ON_TARGET",
"value": "6",
"advantage": true
},
{
"title": "Possession",
"type": "POSSESSION",
"value": "69%",
"advantage": true
},
...
]
}
]
},
"team_standings": {
"teams": [
{
"rank": 1,
"name": "Inter",
"kgmid": "/m/03x6m",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/l2-icwsMhIvsbRw8AwC1yg_48x48.png",
"link": "https://www.google.com/search?sca_esv=0ed6d63e0763c3ed&gl=us&hl=en&q=Inter+Milan&stick=H4sIAAAAAAAAAONgVuLQz9U3MK4wy33EaMwt8PLHPWEprUlrTl5jVOHiCs7IL3fNK8ksqRQS42KDsnikuLjgmngWsXJ75pWkFin4ZuYk5gEA9PSCc1AAAAA",
"league_movement": "UEFA Champions League group stage",
"stats": [
{
"title": "Matches played",
"short_title": "MP",
"value": "38"
},
...
{
"title": "Points",
"short_title": "Pts",
"highlighted": true,
"value": "87"
},
{
"title": "Last 5 matches",
"short_title": "Last 5",
"values": [
"tie",
"win",
"win",
"tie",
"tie"
]
}
]
},
...
{
"rank": 4,
"name": "Como",
"kgmid": "/m/07rz7z",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/6InMYSIcwGvDV1SD3-cPGA_48x48.png",
"link": "https://www.google.com/search?sca_esv=0ed6d63e0763c3ed&gl=us&hl=en&q=Como+1907&stick=H4sIAAAAAAAAAONgVuLUz9U3MC-qMq96xGjCLfDyxz1hKe1Ja05eY1Tl4grOyC93zSvJLKkUEudig7J4pbi5ELp4FrFyOufn5isYWhqYAwCXogd0UAAAAA",
"league_movement": "UEFA Champions League group stage",
"stats": [
{
"title": "Matches played",
"short_title": "MP",
"value": "38"
},
...
{
"title": "Points",
"short_title": "Pts",
"highlighted": true,
"value": "71"
},
{
"title": "Last 5 matches",
"short_title": "Last 5",
"values": [
"win",
"tie",
"win",
"win",
"win"
]
}
],
"highlighted": true
},
...
{
"rank": 18,
"name": "Cremonese",
"kgmid": "/m/05nsfc",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/DE7-gNIPSRkzKx4FKSwxOw_48x48.png",
"link": "https://www.google.com/search?sca_esv=0ed6d63e0763c3ed&gl=us&hl=en&q=US+Cremonese&stick=H4sIAAAAAAAAAONgVuLUz9U3MM0rTkt-xGjCLfDyxz1hKe1Ja05eY1Tl4grOyC93zSvJLKkUEudig7J4pbi5ELp4FrHyhAYrOBel5ubnpRanAgCW_tQhUwAAAA",
"league_movement": "Relegation",
"stats": [
{
"title": "Matches played",
"short_title": "MP",
"value": "38"
},
...
{
"title": "Points",
"short_title": "Pts",
"highlighted": true,
"value": "34"
},
{
"title": "Last 5 matches",
"short_title": "Last 5",
"values": [
"loss",
"loss",
"win",
"win",
"loss"
]
}
],
"highlighted": true
},
...
]
},
...
}
}
Example of a football game team standings with the live scores
Football live games may include live scores in the team standings table.
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Real Kashmir",
"short_code": "REAL",
"kgmid": "/g/11ddx50t6w",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/Gin9k2yfBZl3E1LfwVfW5A_500x500.png",
"score": 3,
"score_original": "3"
},
{
"name": "Gokulam Kerala FC",
"short_name": "Gokulam Kerala",
"short_code": "GOK",
"kgmid": "/g/11fy_qn1tw",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/HdZOuh0iKxD8HxyOki08_Q_500x500.png",
"score": 0,
"score_original": "0"
}
],
"league": {
"name": "Indian Football League",
"short_name": "I-League",
"kgmid": "/m/02w1w1m"
},
"venue": {
"name": "TRC Football Stadium",
"location": "Srinagar",
"kgmid": "/g/11hczx20bz"
},
"status": "live",
"status_original": "Live",
"kgmid": "/g/11z64_vf7d",
"start_time": "2026-04-30T13:00:00Z",
"in_game_time": {
"minute": 90,
"second": 0,
"stoppage_minute": 3,
"stoppage_second": 29,
"stoppage_total": 4
},
"extensions": [
"Group stage · Group C · Matchday 1 of 2"
]
},
"team_standings": {
"teams": [
{
"rank": 1,
"name": "Real Kashmir",
"kgmid": "/g/11ddx50t6w",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/Gin9k2yfBZl3E1LfwVfW5A_48x48.png",
"link": "https://www.google.com/search?sca_esv=b8ce47a170efecb9&hl=en&gl=us&q=Real+Kashmir&stick=H4sIAAAAAAAAAONgVuLVT9c3NExJqTA1KDErf8RowS3w8sc9YSn9SWtOXmPU5OIKzsgvd80rySypFJLmYoOyBKX4uVB18ixi5QlKTcxR8E4szsjNLAIAJ7MNvFsAAAA",
"live_score": {
"this_team": 3,
"opponent_team": 0
},
"stats": [
{
"title": "Matches played",
"short_title": "MP",
"value": "1"
},
...
{
"title": "Last 5 matches",
"short_title": "Last 5",
"values": [
"not_played",
"not_played",
"not_played",
"not_played",
"not_played"
]
}
],
"highlighted": true
},
...
{
"rank": 4,
"name": "Gokulam Kerala",
"kgmid": "/g/11fy_qn1tw",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/HdZOuh0iKxD8HxyOki08_Q_48x48.png",
"link": "https://www.google.com/search?sca_esv=b8ce47a170efecb9&hl=en&gl=us&q=Gokulam+Kerala+FC&stick=H4sIAAAAAAAAAONgVuLVT9c3NEyrjC_MMywpf8RowS3w8sc9YSn9SWtOXmPU5OIKzsgvd80rySypFJLmYoOyBKX4uVB18ixiFXTPzy7NScxV8E4tSsxJVHBzBgBvJe5cYAAAAA",
"league_movement": "Relegation",
"live_score": {
"this_team": 0,
"opponent_team": 3
},
"stats": [
{
"title": "Matches played",
"short_title": "MP",
"value": "1"
},
...
{
"title": "Last 5 matches",
"short_title": "Last 5",
"values": [
"not_played",
"not_played",
"not_played",
"not_played",
"not_played"
]
}
],
"highlighted": true
}
],
"extensions": [
"Group C"
]
}
}
}
Example of a football game win probability with an additional option
Win probability may include more than 2 standard options.
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Paris Saint-Germain F.C.",
"short_code": "PSG",
"kgmid": "/m/01_1kk",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/mcpMspef1hwHwi9qrfp4YQ_500x500.png"
},
{
"name": "Arsenal F.C.",
"short_name": "Arsenal",
"short_code": "ARS",
"kgmid": "/m/0xbm",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/4us2nCgl6kgZc0t3hpW75Q_500x500.png"
}
],
"league": {
"name": "UEFA Champions League",
"short_code": "UCL",
"kgmid": "/m/0c1q0"
},
"venue": {
"name": "Puskás Aréna",
"kgmid": "/g/11yp0jcvhg"
},
"status": "upcoming",
"kgmid": "/g/11y_jvp99w",
"start_time": "2026-05-30T16:00:00Z",
"extensions": [
"Final"
]
},
"win_probability": {
"title": "Win probability (90 min)",
"options": [
{
"team_index": 0,
"value": "42"
},
{
"team_index": 1,
"value": "29"
},
{
"title": "Extra time",
"value": "29"
}
]
}
}
}
Example of a football game with different displayed league name
Displayed league name may differ from the canonical names and it is stored as displayed_name.
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Netherlands national football team",
"short_name": "Netherlands",
"short_code": "NED",
"kgmid": "/m/02ltg3",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/8GEqzfLegwFFpe6X2BODTg_500x500.png",
...
},
{
"name": "Argentina national football team",
"short_name": "Argentina",
"short_code": "ARG",
"kgmid": "/m/02bh_v",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/1xBWyjjkA6vEWopPK3lIPA_500x500.png",
...
}
],
"league": {
"name": "FIFA World Cup",
"short_name": "World Cup",
"displayed_name": "2022 World Cup",
"kgmid": "/m/030q7"
},
...
},
...
}
}
Example of the upcoming football game with TBD time
If the game start hour is unknown, detailed start_time is replaced with start_date.
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Saudi Arabia national football team",
"short_name": "Saudi Arabia",
"short_code": "KSA",
"kgmid": "/m/03__0t",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/QoAJxO46fHid3_T-7nRZ0Q_500x500.png"
},
{
"name": "Palestine national football team",
"short_name": "Palestine",
"short_code": "PSE",
"kgmid": "/m/04r7fk",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/qxBrX9S2fwxQ5BHasGlEuQ_500x500.png"
}
],
"league": {
"name": "AFC Asian Cup",
"kgmid": "/m/01l5_n"
},
"status": "upcoming",
"kgmid": "/g/11zbfcm2zh",
"start_date": "2027-01-07T00:00:00Z",
"extensions": [
"Group stage · Group A · Matchday 1 of 3"
]
},
...
}
}
Example of a football game timeline events
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Real Sociedad",
"short_code": "RSO",
"kgmid": "/m/0122wc",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/w8tb1aeBfVZIj9tZXf7eZg_500x500.png",
"score": 3,
"score_original": "3",
"goal_summary": [
...
{
"player": {
"name": "César Tárrega",
"short_name": "C. Tárrega",
"position": "Defender",
"jersey_number": "5",
"kgmid": "/g/11nnb9g59z",
"thumbnail": "http://t3.gstatic.com/licensed-image?q=tbn:ANd9GcQ0QNiKsP3um4P3JW_wXJDFb3XHrFvBiLO79sU5fnZ-ClV-id5rUlq99Ge-9q_N_E8idvJK3FVPyNw8WFBV2HFXyg"
},
"goals": [
{
"in_game_time": {
"minute": 59,
"second": 0
},
"extensions": [
"OG"
]
}
]
},
...
]
},
{
"name": "Valencia CF",
"short_name": "Valencia",
"short_code": "VAL",
"kgmid": "/m/080_y",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/QPbjvDwI_0Wuu4tCS2O6uw_500x500.png",
"score": 4,
"score_original": "4",
"goal_summary": [
{
"player": {
"name": "Javi Guerra",
"short_name": "J. Guerra",
"position": "Midfielder",
"jersey_number": "8",
"kgmid": "/g/11rfd6l9mf",
"thumbnail": "http://t0.gstatic.com/licensed-image?q=tbn:ANd9GcR4a7wj97HXVvvGSAkVcJ7i28rei0ENgWGbNY5Mq5vdxAM_WU55SIwPn_0H8sKGn9LUwb-w2VXmRtk6UntjVLWm8V0"
},
"goals": [
{
"in_game_time": {
"minute": 7,
"second": 0
}
},
...
]
},
...
],
"red_card_summary": [
{
"player": {
"name": "Eray Cömert",
"short_name": "E. Cömert",
"position": "Defender",
"jersey_number": "24",
"kgmid": "/g/11bzyj_h5f",
"thumbnail": "http://t3.gstatic.com/licensed-image?q=tbn:ANd9GcSwIjG_uqVAuz6hGfkbppYuVbOzmaWrUs8AMa58Mf5568Ivg9vPPv2rLExopzoOgq5Fi_jrosJMsfRgg0fsyn59TwM"
},
"in_game_time": {
"minute": 69,
"second": 0
}
}
],
"win": true
}
],
"league": {
"name": "LALIGA",
"short_name": "La Liga",
"kgmid": "/m/09gqx"
},
"venue": {
"name": "Anoeta Stadium",
"alt_name": "Reale Arena",
"location": "Donostia / San Sebastián",
"kgmid": "/m/08lt7_"
},
"status": "finished",
"status_original": "Full-time",
"kgmid": "/g/11yfm_r2dp",
"start_time": "2026-05-17T17:00:00Z",
"end_time": "2026-05-17T18:59:36Z",
"highlights": [
{
"title": "Match recap",
"source_title": "REAL SOCIEDAD 3 - 4 VALENCIA CF | RESUMEN LALIGA EA SPORTS",
"link": "https://www.youtube.com/watch?v=ZLSd-3InLqo&feature=onebox",
"duration": "3:14",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/sZAjwHT00RFKSckG_768x432.jpg",
"posted_at": "2026-05-17T20:37:37Z"
},
...
]
},
...
"timeline": {
"events": [
{
"type": "end_of_match",
"title": "END OF MATCH",
"time_original": "90+10'",
"in_game_time": {
"minute": 90,
"stoppage_minute": 10
}
},
{
"type": "commentary",
"title": "COMMENTARY",
"snippets": [
"Iosu Galech Apezteguia signals a free kick to Valencia CF."
],
"time_original": "90+9'",
"in_game_time": {
"minute": 90,
"stoppage_minute": 9
}
},
...
{
"type": "goal",
"title": "GOOOAAALLL!!!",
"team_index": 1,
"player": {
"name": "Javi Guerra",
"position": "Midfielder",
"jersey_number": "8",
"kgmid": "/g/11rfd6l9mf",
"thumbnail": "http://t0.gstatic.com/licensed-image?q=tbn:ANd9GcR4a7wj97HXVvvGSAkVcJ7i28rei0ENgWGbNY5Mq5vdxAM_WU55SIwPn_0H8sKGn9LUwb-w2VXmRtk6UntjVLWm8V0"
},
"assist_by": "T. Correia",
"scores": [
{
"team_index": 0,
"score": 3
},
{
"team_index": 1,
"score": 4,
"highlighted": true
}
],
"commentary": [
"Javier Guerra Moreno puts the ball in the net and the away team now lead 3 - 4. Thierry Correia assisted the 3 - 4 goal."
],
"time_original": "90+3'",
"in_game_time": {
"minute": 90,
"stoppage_minute": 3
}
},
...
{
"type": "yellow_card",
"title": "YELLOW CARD",
"team_index": 0,
"player": {
"name": "Jon Martín",
"position": "Defender",
"jersey_number": "31",
"kgmid": "/g/11shh8_6mz",
"thumbnail": "http://t2.gstatic.com/licensed-image?q=tbn:ANd9GcRlCThF18iSYfYtsGN7tyrhBZFN7Wwwc7zCIeLjXzLf5OGtXlqYNyAHrZYS_IZSCgFgqUvoIagBlzCYjYyv09he1GQ"
},
"commentary": [
"Jon Martin is booked for the home team."
],
"time_original": "88'",
"in_game_time": {
"minute": 88
}
},
...
{
"type": "substitution",
"title": "SUBSTITUTION",
"team_index": 0,
"player_in": {
"name": "Jon Aramburu",
"position": "Defender",
"jersey_number": "2",
"kgmid": "/g/11fk8hg7dl",
"thumbnail": "http://t0.gstatic.com/licensed-image?q=tbn:ANd9GcTlWo-l4nUZ8kxkWhCD-fNXsd7lcHHq8gpOcSoq3YPS2AnllxNrpUNpB0ujTXfgyIPPe2XxUaotLLu-l0k4nfvICg"
},
"player_out": {
"name": "Aritz Elustondo",
"position": "Defender",
"jersey_number": "6",
"kgmid": "/m/012ng9xd",
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcTacUFnjLj7aCqt93O4OuRQw-Pw0i2agDVqbotmzRmJyn6cElPehvvhliI4o6EOlezDotPxKkTCadEjtxFbmClhWJU"
},
"commentary": [
"Real Sociedad San Sebastian make their fifth and last substitution of the match, with Jon Aramburu replacing Aritz Elustondo."
],
"time_original": "83'",
"in_game_time": {
"minute": 83
}
},
...
{
"type": "red_card",
"title": "RED CARD",
"team_index": 1,
"player": {
"name": "Eray Cömert",
"position": "Defender",
"jersey_number": "24",
"kgmid": "/g/11bzyj_h5f",
"thumbnail": "http://t3.gstatic.com/licensed-image?q=tbn:ANd9GcSwIjG_uqVAuz6hGfkbppYuVbOzmaWrUs8AMa58Mf5568Ivg9vPPv2rLExopzoOgq5Fi_jrosJMsfRgg0fsyn59TwM"
},
"commentary": [
"Valencia CF are down to 10 men after Eray Comert has been shown a red card."
],
"time_original": "70'",
"in_game_time": {
"minute": 70
}
},
...
{
"type": "var_review",
"title": "GOAL",
"team_index": 0,
"commentary": [
"Goal for Real Sociedad! After a VAR review, the goal stands."
],
"time_original": "61'",
"in_game_time": {
"minute": 61
}
},
...
{
"type": "own_goal",
"title": "OWN GOAL!",
"team_index": 0,
"player": {
"name": "César Tárrega",
"position": "Defender",
"jersey_number": "5",
"kgmid": "/g/11nnb9g59z",
"thumbnail": "http://t3.gstatic.com/licensed-image?q=tbn:ANd9GcQ0QNiKsP3um4P3JW_wXJDFb3XHrFvBiLO79sU5fnZ-ClV-id5rUlq99Ge-9q_N_E8idvJK3FVPyNw8WFBV2HFXyg"
},
"scores": [
{
"team_index": 0,
"score": 2,
"highlighted": true
},
{
"team_index": 1,
"score": 2
}
],
"commentary": [
"Cesar Tarrega blunders with an own goal. This makes it 2 - 2."
],
"time_original": "60'",
"in_game_time": {
"minute": 60
}
},
...
{
"type": "halftime",
"title": "Halftime",
"scores": [
{
"team_index": 0,
"score": 1
},
{
"team_index": 1,
"score": 2
}
]
},
...
{
"type": "commentary",
"title": "COMMENTARY",
"snippets": [
"Ball safe as Valencia CF is awarded a throw-in in their half."
],
"time_original": "1'",
"in_game_time": {
"minute": 1
}
},
{
"type": "kickoff",
"title": "KICKOFF",
"time_original": "1:00 PM"
}
]
},
...
}
}
Example of a football game timeline with a penalty goal and a second yellow card
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Parma Calcio 1913",
"short_name": "Parma",
"short_code": "PAR",
"kgmid": "/m/0gxkm",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/Pr7ZXZlx34eEXdUMTkLvkw_500x500.png",
"score": 2,
"score_original": "2",
"goal_summary": [
{
"player": {
"name": "Gabriel Strefezza",
"short_name": "G. Strefezza",
"position": "Striker",
"jersey_number": "7",
"kgmid": "/g/11g8bt__t8",
"thumbnail": "http://t0.gstatic.com/licensed-image?q=tbn:ANd9GcQSAk306_2JboivGYjjnoBUVFscbfn92k5_3vbyRNOKjPZD0zFKVrRNJahRoa6SI18yGu30bVaYymiTkG2jgp9w5xs"
},
"goals": [
{
"in_game_time": {
"minute": 46,
"second": 0
}
}
]
},
...
],
"red_card_summary": [
{
"player": {
"name": "Sascha Britschgi",
"short_name": "S. Britschgi",
"position": "Defender",
"jersey_number": "27",
"kgmid": "/g/11tmg3t95q",
"thumbnail": "http://t2.gstatic.com/licensed-image?q=tbn:ANd9GcTCRkSD5hbSjKtG1jSG2dNsLnWcbUb5sYa0SSzT646kKPLE5O8Exf0VfuT6O6AJUtQjsQIQh6fFju3los91VP58Ycv_"
},
"in_game_time": {
"minute": 90,
"second": 0,
"stoppage_minute": 8
}
}
]
},
{
"name": "AS Roma",
"short_name": "Roma",
"short_code": "ROM",
"kgmid": "/m/0ytc",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/BQdP4jUBFJfG7U_JBsFIMg_500x500.png",
"score": 3,
"score_original": "3",
"goal_summary": [
{
"player": {
"name": "Donyell Malen",
"short_name": "D. Malen",
"position": "Striker",
"jersey_number": "14",
"kgmid": "/g/11cn8wqmxc",
"thumbnail": "http://t3.gstatic.com/licensed-image?q=tbn:ANd9GcSGNA5N4XE8xU-pzQsJL6e76wybWp4fdSy7ifs0xXcQX9NKyzS3HcIpwqKHfFoNv4n89y4GjeU7ipXtCfyAaUIJd70"
},
"goals": [
...
{
"in_game_time": {
"minute": 90,
"second": 0,
"stoppage_minute": 10
},
"extensions": [
"P"
]
}
]
},
...
],
"win": true
}
],
...
},
"timeline": {
"events": [
{
"type": "end_of_match",
"title": "END OF MATCH",
"time_original": "90+14'",
"in_game_time": {
"minute": 90,
"stoppage_minute": 14
}
},
{
"type": "penalty_goal",
"title": "GOOOAAALLL!!!",
"team_index": 1,
"player": {
"name": "Donyell Malen",
"position": "Striker",
"jersey_number": "14",
"kgmid": "/g/11cn8wqmxc",
"thumbnail": "http://t3.gstatic.com/licensed-image?q=tbn:ANd9GcSGNA5N4XE8xU-pzQsJL6e76wybWp4fdSy7ifs0xXcQX9NKyzS3HcIpwqKHfFoNv4n89y4GjeU7ipXtCfyAaUIJd70"
},
"scores": [
{
"team_index": 0,
"score": 2
},
{
"team_index": 1,
"score": 3,
"highlighted": true
}
],
"commentary": [
"Donyell Malen smashes in a penalty at Ennio Tardini. The score is now 2 - 3."
],
"time_original": "90+10'",
"in_game_time": {
"minute": 90,
"stoppage_minute": 10
}
},
{
"type": "second_yellow_card",
"title": "RED CARD",
"team_index": 0,
"player": {
"name": "Sascha Britschgi",
"position": "Defender",
"jersey_number": "27",
"kgmid": "/g/11tmg3t95q",
"thumbnail": "http://t2.gstatic.com/licensed-image?q=tbn:ANd9GcTCRkSD5hbSjKtG1jSG2dNsLnWcbUb5sYa0SSzT646kKPLE5O8Exf0VfuT6O6AJUtQjsQIQh6fFju3los91VP58Ycv_"
},
"commentary": [
"Sascha Britschgi has been booked for the second time in this match - the red card is coming out!"
],
"time_original": "90+8'",
"in_game_time": {
"minute": 90,
"stoppage_minute": 8
}
},
...
]
},
...
}
}
Example of a football game timeline with a penalty shootout
Timeline includes extra_time_start, extra_time_second_half_start, extra_time_end, and penalty_shootout events.
{
...
"game_results": {
"info": {
"teams": [
{
"name": "West Ham United F.C.",
"short_name": "West Ham",
"short_code": "WHU",
"kgmid": "/m/0ckf6",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/bXkiyIzsbDip3x2FFcUU3A_500x500.png",
"score": 2,
"penalty_score": 2,
"score_original": "2 (2)",
"goal_summary": [
{
"player": {
"name": "Mateus Fernandes",
"short_name": "M. Fernandes",
"jersey_number": "18",
"kgmid": "/g/11p169s60f",
"thumbnail": "http://t2.gstatic.com/licensed-image?q=tbn:ANd9GcRYuXlffjG0gmY8eUux_dNrtkwM4mxW91vHJ79hpGPM29Xca75yzeL6Z4OXcTMXtm1EmbdBxgEsJk8DwiOYMbyeV6Xg"
},
"goals": [
{
"in_game_time": {
"minute": 90,
"second": 0,
"stoppage_minute": 2
}
}
]
},
...
]
},
{
"name": "Leeds United F.C.",
"short_name": "Leeds",
"short_code": "LEE",
"kgmid": "/m/01xn7x1",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/5dqfOKpjjW6EwTAx_FysKQ_500x500.png",
"score": 2,
"penalty_score": 4,
"score_original": "2 (4)",
"goal_summary": [
{
"player": {
"name": "Ao Tanaka",
"short_name": "A. Tanaka",
"jersey_number": "22",
"kgmid": "/g/11c1vjxk97",
"thumbnail": "http://t2.gstatic.com/licensed-image?q=tbn:ANd9GcSkjrS-54R07O9BKea66QjNpn83_l2uPRXU9vpBzC3CV-NxAVMTyRdCnAVABssNH-YtuIGYjh7PQJcWsY9sGtZzgVmh"
},
"goals": [
{
"in_game_time": {
"minute": 25,
"second": 0
}
}
]
},
...
}
],
"win": true
}
],
"league": {
"name": "FA Cup",
"kgmid": "/m/02_p0"
},
"venue": {
"name": "London Stadium",
"location": "London",
"kgmid": "/m/06stlq"
},
"status": "finished",
"status_original": "Full-time",
"kgmid": "/g/11z1_8st5h",
"start_time": "2026-04-05T15:30:00Z",
"end_time": "2026-04-05T18:36:57Z",
"extensions": [
"Quarter Finals"
],
"highlights": [
{
"title": "Match recap",
"source_title": "PENALTY THRILLER 😮 FA Cup Quarterfinals: West Ham vs. Leeds United | Full Game Highlights | ESPN FC",
"link": "https://www.youtube.com/watch?v=kNHg3viWa2U&feature=onebox",
"duration": "14:38",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/xI1rXP4BEa9D6zVT_768x432.jpg",
"posted_at": "2026-04-05T18:44:40Z"
},
...
]
},
...
"timeline": {
"events": [
{
"type": "end_of_match",
"title": "END OF MATCH"
},
{
"type": "commentary",
"title": "COMMENTARY",
"snippets": [
"Joel Piroe (Leeds United) misses!"
],
"time_original": "Penalty Shootout"
},
...
{
"type": "penalty_shootout",
"title": "PENALTY SHOOTOUT",
"result": "Leeds wins!!!",
"penalty_scores": [
{
"team_index": 0,
"penalty_score": 2
},
{
"team_index": 1,
"penalty_score": 4
}
],
"kicks": [
[
{
"team_index": 0,
"player": {
"name": "Jarrod Bowen",
"kgmid": "/g/11c52h3q0_"
},
"status": "miss",
"penalty_scores": [
{
"team_index": 0,
"penalty_score": 0
},
{
"team_index": 1,
"penalty_score": 0
}
]
},
{
"team_index": 1,
"player": {
"name": "Joël Piroe",
"kgmid": "/g/11c3195rx3"
},
"status": "miss",
"penalty_scores": [
{
"team_index": 0,
"penalty_score": 0
},
{
"team_index": 1,
"penalty_score": 0
}
]
}
],
[
{
"team_index": 0,
"player": {
"name": "Kyle Walker-Peters",
"kgmid": "/g/11dfl0b7q1"
},
"status": "goal",
"penalty_scores": [
{
"team_index": 0,
"penalty_score": 1,
"highlighted": true
},
{
"team_index": 1,
"penalty_score": 1
}
]
},
{
"team_index": 1,
"player": {
"name": "Dominic Calvert-Lewin",
"kgmid": "/m/011n4bz2"
},
"status": "goal",
"penalty_scores": [
{
"team_index": 0,
"penalty_score": 0
},
{
"team_index": 1,
"penalty_score": 1,
"highlighted": true
}
]
}
],
...
[
{
"team_index": 0,
"status": "not_taken"
},
{
"team_index": 1,
"player": {
"name": "Pascal Struijk",
"kgmid": "/g/11j45b6cc5"
},
"status": "goal",
"penalty_scores": [
{
"team_index": 0,
"penalty_score": 2
},
{
"team_index": 1,
"penalty_score": 4,
"highlighted": true
}
]
}
]
],
"toss": "Leeds first to kick"
},
{
"type": "extra_time_end",
"title": "END OF EXTRA TIME",
"time_original": "120+6'",
"in_game_time": {
"minute": 120,
"stoppage_minute": 6
}
},
...
{
"type": "extra_time_second_half_start",
"title": "EXTRA TIME HALFTIME",
"time_original": "105+3'",
"in_game_time": {
"minute": 105,
"stoppage_minute": 3
}
},
...
{
"type": "extra_time_start",
"title": "EXTRA TIME",
"time_original": "90+14'",
"in_game_time": {
"minute": 90,
"stoppage_minute": 14
}
},
]
},
...
}
}
Example of a football game timeline with the media and second half events
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Fulham F.C.",
"short_name": "Fulham",
"short_code": "FUL",
"kgmid": "/m/02_lt",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/Gh7_5p3n364p4vxeM8FhNg_500x500.png",
...
},
{
"name": "Burnley F.C.",
"short_name": "Burnley",
"short_code": "BUR",
"kgmid": "/m/0212mp",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/XC5UrPpuN5yzkgCiiz9yWg_500x500.png",
...
}
],
...
},
...
"timeline": {
"events": [
...
{
"type": "media_group",
"group": [
{
"link": "https://ssl.gstatic.com/onebox/media/sports/photos/reuters/tag:reuters.com,2026:newsml_UP1EM3L1B7J8T:628855945_768x432.jpg",
"commentary": [
"Fulham's Raul Jimenez celebrates scoring their third goal with Fulham's Alex Iwobi"
]
},
{
"link": "https://ssl.gstatic.com/onebox/media/sports/photos/reuters/tag:reuters.com,2026:newsml_UP1EM3L1BIZ96:1192509350_768x432.jpg",
"commentary": [
"Fulham's Raul Jimenez celebrates scoring their third goal with Fulham's Alex Iwobi and Fulham's Emile Smith Rowe"
]
},
{
"link": "https://ssl.gstatic.com/onebox/media/sports/photos/reuters/tag:reuters.com,2026:newsml_UP1EM3L1B3J8N:1223951946_768x432.jpg",
"commentary": [
"Fulham's Raul Jimenez celebrates scoring their third goal"
]
}
]
},
...
{
"type": "second_half_start",
"title": "SECOND HALF",
"time_original": "45'",
"in_game_time": {
"minute": 45
}
},
{
"type": "media",
"link": "https://ssl.gstatic.com/onebox/media/sports/photos/reuters/tag:reuters.com,2026:newsml_UP1EM3L18596Z:440497001_768x432.jpg",
"commentary": [
"Fulham manager Marco Silva walks off for half time"
]
},
...
]
},
...
}
}
Example of a football game with a missed penalty
Timeline includes missed_penalty event.
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Girona FC",
"short_name": "Girona",
"short_code": "GIR",
"kgmid": "/m/0cs8sb",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/sHiSmLm_rA0BOC5MfrNt8A_500x500.png",
"score": 2,
"score_original": "2",
"goal_summary": [
{
"player": {
"name": "Fran Beltrán",
"short_name": "F. Beltrán",
"position": "Midfielder",
"jersey_number": "8",
"kgmid": "/g/11c1ndpk92",
"thumbnail": "http://t2.gstatic.com/licensed-image?q=tbn:ANd9GcQQwviRcuhKU-fJXZFk05gRHnpgCc8MeO-eJouzfF3Dgc__aD6jQvU8sQroroWe161a64_QT-t7t3uKAnErT5Iwf0w"
},
"goals": [
{
"in_game_time": {
"minute": 85,
"second": 0
}
}
]
},
...
],
"red_card_summary": [
{
"player": {
"name": "Joel Roca",
"short_name": "J. Roca",
"position": "Striker",
"jersey_number": "3",
"kgmid": "/g/11rcvjhx2r",
"thumbnail": "http://t3.gstatic.com/licensed-image?q=tbn:ANd9GcQc1NXBbBdbMMo3qrmM8vWhwYQx_aCAj3SEN0CblpTM2Az7UbScPRAXWJ5oIOKLpR8yAhBR_smfn2y9zmuiulwS1FI"
},
"in_game_time": {
"minute": 90,
"second": 0,
"stoppage_minute": 8
}
}
],
"win": true
},
{
"name": "FC Barcelona",
"short_name": "Barcelona",
"short_code": "BAR",
"kgmid": "/m/0hvgt",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/paYnEE8hcrP96neHRNofhQ_500x500.png",
"score": 1,
"score_original": "1",
"goal_summary": [
{
"player": {
"name": "Pau Cubarsí",
"short_name": "P. Cubarsí",
"position": "Defender",
"jersey_number": "5",
"kgmid": "/g/11s7npw0x6",
"thumbnail": "http://t0.gstatic.com/licensed-image?q=tbn:ANd9GcQkcLBk9zMI4wkN8mBuIfWEGweTOdaBIS2-GLkA-x26Ue-wrF75lkiLNCv88W8j8IqYp_p0xUtyCvkXCCTaKfcZu5E"
},
"goals": [
{
"in_game_time": {
"minute": 58,
"second": 0
}
}
]
}
]
}
],
...
},
...
"timeline": {
"events": [
...
{
"type": "missed_penalty",
"title": "MISSED PENALTY",
"team_index": 1,
"player": {
"name": "Lamine Yamal",
"position": "Striker",
"jersey_number": "10",
"kgmid": "/g/11s7l7bjz_",
"thumbnail": "http://t0.gstatic.com/licensed-image?q=tbn:ANd9GcRk_rfYQYIf1VI2WRCYzWw-uFL_-_LjOPA8T4BeJ-Prs93YKl5oKzZWPKT39UV3W3grfzBVQfXo4w3v9XpU1MVdivoOwYS4j2KZJg"
},
"time_original": "45+2'",
"in_game_time": {
"minute": 45,
"stoppage_minute": 2
}
},
...
]
},
...
}
}
Example of a football game lineups
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Pisa Sporting Club",
"short_name": "Pisa",
"short_code": "PIS",
"kgmid": "/m/089lnv",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/mArEiirzGlQAboYWfQhbxw_500x500.png",
...
},
{
"name": "Cagliari Calcio",
"short_name": "Cagliari",
"short_code": "CAG",
"kgmid": "/m/047g98",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/e9XfySyGdfyJ4UzEkYwENw_500x500.png",
...
}
],
...
},
...
"lineups": {
"teams": [
{
"team_index": 0,
"starters": [
{
"name": "Nícolas",
"jersey_number": "12",
"position": "Goalkeeper",
"age": 38,
"thumbnail": "http://t0.gstatic.com/licensed-image?q=tbn:ANd9GcSgv9O0JFhRKTJ-QDZjlaWqDNtoP_BFdE09CN9drIIGAkCSlUcnFi5SNPaStOF6F0n2CmobR1Bij9ckkAY-cOQUZds",
"kgmid": "/m/02w6xkc",
"rating": 7.26513,
"other_team": {
"name": "Brazil",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/zKLzoJVYz0bb6oAnPUdwWQ_48x48.png"
},
"stats": [
{
"title": "Minutes played",
"value": "90"
},
{
"title": "Keeper saves",
"value": "3"
},
...
]
},
...
{
"name": "Antonio Caracciolo",
"short_name": "A. Caracciolo",
"jersey_number": "4",
"position": "Defender",
"age": 35,
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcSYa1M_U3RoN8rBi8T3ZZuLnWIgtnyHMP2cAncQR1E0eeXbNv4pUsuPeanUT5mvlj989dWDOlkYcrm2I3kIscN7mrA",
"kgmid": "/m/0b6kd7l",
"rating": 7.83993,
"goals": 2,
"other_team": {
"name": "Italy",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/joYpsiaYi4GDCqhSRAq5Zg_48x48.png"
},
"stats": [
{
"title": "Minutes played",
"value": "90"
},
{
"title": "Goals",
"value": "2"
},
...
]
},
...
{
"name": "Michel Aebischer",
"short_name": "M. Aebischer",
"jersey_number": "20",
"position": "Midfielder",
"age": 29,
"thumbnail": "http://t3.gstatic.com/licensed-image?q=tbn:ANd9GcS1VAfwB9qRwQmqmMASI2ylBr8e8wLN5NXXLmGfpN_VMZHYOMKiScpDP8Qgi90N6j5jvW9ZhVB-DnzjWPruozmboy0",
"kgmid": "/g/11c58lc7g7",
"rating": 6.61166,
"penalty_card": "yellow_card",
"other_team": {
"name": "Switzerland",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/1hy9ek4dOIffYULM6k1fqg_24x24.png"
},
"stats": [
{
"title": "Minutes played",
"value": "90"
},
{
"title": "Total shots",
"value": "1"
},
...
]
},
...
{
"name": "Rafiu Durosinmi",
"short_name": "R. Durosinmi",
"jersey_number": "17",
"position": "Striker",
"age": 23,
"kgmid": "/g/11rdbf9dkm",
"rating": 5.42574,
"penalty_card": "red_card",
"other_team": {
"name": "Nigeria",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/2vpR8clrEZdpNjaiHKpg7A_48x48.png"
},
"stats": [
{
"title": "Minutes played",
"value": "37"
},
{
"title": "Total shots",
"value": "1"
},
...
]
},
...
],
"bench": [
{
"name": "Malthe Højholt",
"short_name": "M. Højholt",
"jersey_number": "8",
"position": "Midfielder",
"age": 25,
"thumbnail": "http://t3.gstatic.com/licensed-image?q=tbn:ANd9GcTER36oUV2rKsy8gLbzwib13Q87p3YNyzemVM8g_NaE7-bMd8M608yx1U8o6uswr08evNE9NEiR4tb2EVUbKGYbQLE",
"kgmid": "/g/11fk7rnf51",
"rating": 6.41199,
"substitution_in": {
"time_original": "15'",
"in_game_time": {
"minute": 15
},
"starter_player_index": 6
},
"other_team": {
"name": "Denmark",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/LaOvu-pyRqRso6uzff55XA_48x48.png"
},
"stats": [
{
"title": "Substitution time",
"substitution_in_value": "15'"
},
{
"title": "Minutes played",
"value": "75"
},
...
]
},
{
"name": "Ebenezer Akinsanmiro",
"short_name": "E. Akinsanmiro",
"jersey_number": "14",
"position": "Striker",
"age": 21,
"thumbnail": "http://t2.gstatic.com/licensed-image?q=tbn:ANd9GcTXYb_ok9o2iubby2TajToDI0Jds-m0ZMgd1UItyxd8QnnDMc_jLv2ewQllS1Pox4b0vlhQTRZIn_d6Sdyu4tU3OmY",
"kgmid": "/g/11trzwxflp",
"rating": 6.51485,
"substitution_in": {
"time_original": "71'",
"in_game_time": {
"minute": 71
},
"starter_player_index": 10
},
"other_team": {
"name": "Nigeria",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/2vpR8clrEZdpNjaiHKpg7A_24x24.png"
},
"stats": [
{
"title": "Substitution time",
"substitution_in_value": "71'"
},
{
"title": "Minutes played",
"value": "19"
},
...
]
},
...
{
"name": "Adrian Šemper",
"short_name": "A. Šemper",
"jersey_number": "1",
"position": "Goalkeeper",
"age": 28,
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcRCpqs8wshU-aVLis0W7QIT-r37l9U5w4061z1A0Kltl8qMDO3AYHdWgOT5O8bIv-sFu13M0q3E1vmT_m9qTp90sSM",
"kgmid": "/g/11c54_gjzf",
"other_team": {
"name": "Croatia",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/9toerdOg8xW4CRhDaZxsyw_48x48.png"
},
"stats": [
{
"title": "Keeper saves",
"value": "0"
},
{
"title": "Yellow cards",
"value": "0"
},
...
]
},
...
],
"manager": {
"name": "Oscar Hiljemark",
"short_name": "O. Hiljemark",
"kgmid": "/m/0g9z4w1"
},
"formation": {
"layout": "3-4-3",
"starter_lines": [
[1, 2, 3],
[4, 5, 6, 7],
[8, 9, 10]
]
}
},
{
"team_index": 1,
"starters": [
{
"name": "Elia Caprile",
"short_name": "E. Caprile",
"jersey_number": "1",
"position": "Goalkeeper",
"age": 24,
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcSyYkWnlFIcBpfAi_k2kMZ5mLp6044z7IBztsSuMdF_7wzpyLax7J7DFiJeesinRaLoEXpH4Nq4eaQMUcBuwe8fyK8",
"kgmid": "/g/11f9h7wdwk",
"rating": 4.5,
"other_team": {
"name": "Italy",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/joYpsiaYi4GDCqhSRAq5Zg_24x24.png"
},
"stats": [
{
"title": "Minutes played",
"value": "90"
},
{
"title": "Keeper saves",
"value": "3"
},
...
]
},
{
"name": "Alberto Dossena",
"short_name": "A. Dossena",
"jersey_number": "22",
"position": "Defender",
"age": 27,
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcQsXfmdWF8RYWI7ktgBLTtVEx9A22tnxmlluq7HhxBXmkCa4bbLdkSlbvkPk8TxnDSSyQgtN80Kv150fkO9OQI_VaA",
"kgmid": "/g/11c6zx5hz5",
"rating": 5.92794,
"assists": 1,
"penalty_card": "yellow_card",
"other_team": {
"name": "Italy",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/joYpsiaYi4GDCqhSRAq5Zg_48x48.png"
},
"stats": [
{
"title": "Minutes played",
"value": "90"
},
{
"title": "Fouls",
"value": "1"
},
...
]
},
{
"name": "Yerry Mina",
"short_name": "Y. Mina",
"jersey_number": "26",
"position": "Defender",
"age": 31,
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcS83SIePJIOEBeErGs63-7IaUcT8H93wJ00Sz20wG52hepNr3Mrq0bMwbrKloPb0rP8UekafV8SAzJ7ZNzIcbyzRYM",
"kgmid": "/g/1yxkhkcmg",
"rating": 5.77063,
"substitution_out": {
"time_original": "45'",
"in_game_time": {
"minute": 45
},
"bench_player_index": 2
},
"other_team": {
"name": "Colombia",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/tXHnA_tDylayacdjWQCJvw_24x24.png"
},
"stats": [
{
"title": "Substitution time",
"substitution_out_value": "45'"
},
{
"title": "Minutes played",
"value": "45"
},
...
]
},
{
"name": "Zé Pedro",
"jersey_number": "32",
"position": "Defender",
"age": 29,
"thumbnail": "http://t2.gstatic.com/licensed-image?q=tbn:ANd9GcSwzanoZvviGo76GOgoQ36cz7DKRs2ucIBVAXGf_BBjUf-4tyMaxR1szURIH3jTrG76LqFLkLM3KUoHLSMNsrfB5mc",
"kgmid": "/g/11vl65p4g2",
"rating": 5.44995,
"penalty_card": "yellow_card",
"substitution_out": {
"time_original": "75'",
"in_game_time": {
"minute": 75
},
"bench_player_index": 1
},
"other_team": {
"name": "Portugal",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/HJ3_2c4w791nZJj7n-Lj3Q_48x48.png"
},
"stats": [
{
"title": "Substitution time",
"substitution_out_value": "75'"
},
{
"title": "Minutes played",
"value": "76"
},
...
]
},
{
"name": "Adam Obert",
"short_name": "A. Obert",
"jersey_number": "33",
"position": "Defender",
"age": 23,
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcQlhqGUyHB9sZLbWh9MInnHsaJVoVQyX17vhsTiZwkMsLYQYdpsWOLzNyCJb-4FzVxQa5MkqSqvAmgq0QRmW-_kOWc",
"kgmid": "/g/11grq7vq8j",
"rating": 6.5451,
"penalty_card": "second_yellow_card",
"other_team": {
"name": "Slovakia",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/6APs2PMKgCrh97J3QEz5Yg_24x24.png"
},
"stats": [
{
"title": "Minutes played",
"value": "81"
},
{
"title": "Tackles won",
"value": "2"
},
{
"title": "Fouls",
"value": "2"
},
{
"title": "Accurate passes",
"value": "43"
},
{
"title": "Goals",
"value": "0"
},
{
"title": "Assists",
"value": "0"
},
{
"title": "Yellow cards",
"value": "2"
},
{
"title": "Red cards",
"value": "1"
}
]
},
...
],
"bench": [
{
"name": "Luca Mazzitelli",
"short_name": "L. Mazzitelli",
"jersey_number": "4",
"position": "Midfielder",
"age": 30,
"thumbnail": "http://t3.gstatic.com/licensed-image?q=tbn:ANd9GcRCbRm3UP-OzvVBtqUpX-uELOAOGDJp5bnBZmW-E8ZGu02RSMB7_cw4Mdvf6X-KZjS4OkLltiS3e4NRRCJeoGAcVqE",
"kgmid": "/m/010pgt3r",
"rating": 6.0187,
"substitution_in": {
"time_original": "63'",
"in_game_time": {
"minute": 63
},
"starter_player_index": 6
},
"other_team": {
"name": "Italy",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/joYpsiaYi4GDCqhSRAq5Zg_48x48.png"
},
"stats": [
{
"title": "Substitution time",
"substitution_in_value": "63'"
},
{
"title": "Minutes played",
"value": "27"
},
...
]
},
{
"name": "Agustín Albarracín",
"short_name": "A. Albarracín",
"jersey_number": "20",
"position": "Striker",
"age": 20,
"kgmid": "/g/11sf7ty9m2",
"rating": 6.32728,
"substitution_in": {
"time_original": "75'",
"in_game_time": {
"minute": 75
},
"starter_player_index": 3
},
"other_team": {
"name": "Uruguay",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/KnSUdQWiGRoy89q4x85IgA_48x48.png"
},
"stats": [
{
"title": "Substitution time",
"substitution_in_value": "75'"
},
{
"title": "Minutes played",
"value": "15"
},
...
]
},
{
"name": "Gabriele Zappa",
"short_name": "G. Zappa",
"jersey_number": "28",
"position": "Defender",
"age": 26,
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcS_lKVzkO-oDSpHWemzQSfyZu6biVBz-v7ekHmvO6ca2tFHgMuTPQS_n5ySAOWA0sJCCiFPJIEPEk1NzoMPmrZnzcL2",
"kgmid": "/g/11h7rglq32",
"rating": 4.90539,
"substitution_in": {
"time_original": "45'",
"in_game_time": {
"minute": 45
},
"starter_player_index": 2
},
"other_team": {
"name": "Italy",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/joYpsiaYi4GDCqhSRAq5Zg_48x48.png"
},
"stats": [
{
"title": "Substitution time",
"substitution_in_value": "45'"
},
{
"title": "Minutes played",
"value": "45"
},
...
]
},
...
{
"name": "Alen Sherri",
"short_name": "A. Sherri",
"jersey_number": "12",
"position": "Goalkeeper",
"age": 28,
"thumbnail": "http://t0.gstatic.com/licensed-image?q=tbn:ANd9GcRqunt1y6cSn7MCQaxxBan394fxD4IPRk0naJEyDQKQxgVrBeybOikasxJ8SjZepqLCNn2z-LiH7m36WA7z8AyRPKQ",
"kgmid": "/m/013d7g_r",
"other_team": {
"name": "Albania",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/r-Ec2eED0ce4OO-s8_uI6w_24x24.png"
},
"stats": [
{
"title": "Keeper saves",
"value": "0"
},
{
"title": "Yellow cards",
"value": "0"
},
...
]
},
...
],
"manager": {
"name": "Fabio Pisacane",
"short_name": "F. Pisacane",
"kgmid": "/m/0bs2clq"
},
"formation": {
"layout": "3-5-2",
"starter_lines": [
[1, 2, 3],
[4, 5, 6, 7, 8],
[9, 10]
]
}
}
]
}
}
}
Example of a football game lineup with a substituted out bench player
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Tottenham Hotspur F.C.",
"short_name": "Spurs",
"short_code": "TOT",
"kgmid": "/m/0hvjr",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/k3Q_mKE98Dnohrcea0JFgQ_500x500.png",
...
},
{
"name": "Brighton & Hove Albion F.C.",
"short_name": "Brighton",
"short_code": "BHA",
"kgmid": "/m/0j2pg",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/EKIe0e-ZIphOcfQAwsuEEQ_500x500.png",
...
}
],
...
},
...
"lineups": {
"teams": [
{
"team_index": 0,
...
},
{
"team_index": 1,
"starters": [
...
{
"name": "Diego Gómez",
"short_name": "D. Gómez",
"jersey_number": "25",
"position": "Midfielder",
"age": 23,
"thumbnail": "http://t2.gstatic.com/licensed-image?q=tbn:ANd9GcTukL-NbH_ATlEFKCPCIjgn-VlA3yi7FqXPUp6MDlWwTkwHVR6-YicIn3FGfRP4unKIb5aa6dgjc18mvqsUUCAu5ww",
"kgmid": "/g/11lb9n6cby",
"rating": 5.19557,
"substitution_out": {
"time_original": "19'",
"in_game_time": {
"minute": 19
},
"bench_player_index": 2
},
"other_team": {
"name": "Paraguay",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/-FN-y84Al3dbth0hW1t5Qg_24x24.png"
},
"stats": [
{
"title": "Substitution time",
"substitution_out_value": "19'"
},
...
]
},
...
],
"bench": [
...
{
"name": "Kaoru Mitoma",
"short_name": "K. Mitoma",
"jersey_number": "22",
"position": "Midfielder",
"age": 29,
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcRfKDZJU5pKK4cJCLEFey8rl3Ah70y0J9goSMUOayRDAByYf1i9lIISUpigHFbS2g9o9G-eg971qGCKmr9gPFEL7kA",
"kgmid": "/g/11f2kjspjx",
"rating": 6.21382,
"goals": 1,
"substitution_in": {
"time_original": "19'",
"in_game_time": {
"minute": 19
},
"starter_player_index": 9
},
"substitution_out": {
"time_original": "74'",
"in_game_time": {
"minute": 74
},
"bench_player_index": 3
},
"other_team": {
"name": "Japan",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/by4OltvtZz7taxuQtkiP3A_24x24.png"
},
"stats": [
{
"title": "Substitution time",
"substitution_in_value": "19'",
"substitution_out_value": "74'"
},
{
"title": "Minutes played",
"value": "55"
},
{
"title": "Goals",
"value": "1"
},
{
"title": "Total shots",
"value": "1"
},
{
"title": "Assists",
"value": "0"
},
{
"title": "Yellow cards",
"value": "0"
},
{
"title": "Red cards",
"value": "0"
}
]
},
{
"name": "Maxim De Cuyper",
"short_name": "M. De Cuyper",
"jersey_number": "29",
"position": "Defender",
"age": 25,
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcTJj4tYSrBwbTcx-Dj4u9i-WNnlgIgjIC62t_x2kdNficiFKZaRvwUV5xYmU6OSdhhn-KZCBnYAEhV-qOkEjQD1jleQ",
"kgmid": "/g/11fcq_xqnt",
"rating": 4.98761,
"substitution_in": {
"time_original": "74'",
"in_game_time": {
"minute": 74
},
"bench_player_index": 2
},
"other_team": {
"name": "Belgium",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/6SF7yEoB60bU5knw-M7R5Q_24x24.png"
},
"stats": [
{
"title": "Substitution time",
"substitution_in_value": "74'"
},
...
]
},
...
],
...
}
]
}
}
}
Example of a football game lineup with a player who scored an own goal
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Atlético Madrid",
"short_code": "ATM",
"kgmid": "/m/0lg7v",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/pEqmA7CL-VRo4Llq3rwIPA_500x500.png",
...
},
{
"name": "FC Barcelona",
"short_name": "Barcelona",
"short_code": "BAR",
"kgmid": "/m/0hvgt",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/paYnEE8hcrP96neHRNofhQ_500x500.png",
...
}
],
...
},
...
"lineups": {
"teams": [
{
"team_index": 0,
...
},
{
"team_index": 1,
"starters": [
...
{
"name": "Eric García",
"short_name": "E. García",
"jersey_number": "24",
"position": "Defender",
"age": 25,
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcTEn5rlv8ejH_5HFfvpAIhdkxvjexsPmzzbaUuxd5-6uhi75oAIYK7bJ6d90d0aqtcVM0zJhVKJy189s6T-_kmf6w4",
"kgmid": "/m/0w87m4y",
"rating": 5.61658,
"own_goal": true,
"penalty_card": "red_card",
"other_team": {
"name": "Spain",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/5hLkf7KFHhmpaiOJQv8LmA_24x24.png"
},
"stats": [
{
"title": "Minutes played",
"value": "84"
},
{
"title": "Tackles won",
"value": "1"
},
{
"title": "Fouls",
"value": "2"
},
{
"title": "Accurate passes",
"value": "85"
},
{
"title": "Goals",
"value": "0"
},
{
"title": "Assists",
"value": "0"
},
{
"title": "Yellow cards",
"value": "0"
},
{
"title": "Red cards",
"value": "1"
}
]
},
...
],
...
}
]
}
}
}
Example of football game lineups (legacy)
Legacy layout provides less data points compared to the current one, but it can still appear for some old games.
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Pisa Sporting Club",
"short_name": "Pisa",
"short_code": "PIS",
"kgmid": "/m/089lnv",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/mArEiirzGlQAboYWfQhbxw_500x500.png",
...
},
{
"name": "Cagliari Calcio",
"short_name": "Cagliari",
"short_code": "CAG",
"kgmid": "/m/047g98",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/e9XfySyGdfyJ4UzEkYwENw_500x500.png",
...
}
],
...
},
...
"lineups": {
"teams": [
{
"team_index": 0,
"starters": [
{
"name": "Nícolas",
"jersey_number": "12",
"position": "Goalkeeper",
"thumbnail": "http://t0.gstatic.com/licensed-image?q=tbn:ANd9GcSgv9O0JFhRKTJ-QDZjlaWqDNtoP_BFdE09CN9drIIGAkCSlUcnFi5SNPaStOF6F0n2CmobR1Bij9ckkAY-cOQUZds",
"kgmid": "/m/02w6xkc"
},
...
{
"name": "Antonio Caracciolo",
"short_name": "A. Caracciolo",
"jersey_number": "4",
"position": "Defender",
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcSYa1M_U3RoN8rBi8T3ZZuLnWIgtnyHMP2cAncQR1E0eeXbNv4pUsuPeanUT5mvlj989dWDOlkYcrm2I3kIscN7mrA",
"kgmid": "/m/0b6kd7l",
"goals": 2
},
...
{
"name": "Michel Aebischer",
"short_name": "M. Aebischer",
"jersey_number": "20",
"position": "Midfielder",
"thumbnail": "http://t3.gstatic.com/licensed-image?q=tbn:ANd9GcS1VAfwB9qRwQmqmMASI2ylBr8e8wLN5NXXLmGfpN_VMZHYOMKiScpDP8Qgi90N6j5jvW9ZhVB-DnzjWPruozmboy0",
"kgmid": "/g/11c58lc7g7",
"penalty_card": "yellow_card"
},
...
{
"name": "Rafiu Durosinmi",
"short_name": "R. Durosinmi",
"jersey_number": "17",
"position": "Striker",
"kgmid": "/g/11rdbf9dkm",
"penalty_card": "red_card"
},
...
],
"bench": [
{
"name": "Malthe Højholt",
"short_name": "M. Højholt",
"jersey_number": "8",
"position": "Midfielder",
"thumbnail": "http://t3.gstatic.com/licensed-image?q=tbn:ANd9GcTER36oUV2rKsy8gLbzwib13Q87p3YNyzemVM8g_NaE7-bMd8M608yx1U8o6uswr08evNE9NEiR4tb2EVUbKGYbQLE",
"kgmid": "/g/11fk7rnf51",
"substitution_in": {
"starter_player_index": 6
}
},
{
"name": "Ebenezer Akinsanmiro",
"short_name": "E. Akinsanmiro",
"jersey_number": "14",
"position": "Striker",
"thumbnail": "http://t2.gstatic.com/licensed-image?q=tbn:ANd9GcTXYb_ok9o2iubby2TajToDI0Jds-m0ZMgd1UItyxd8QnnDMc_jLv2ewQllS1Pox4b0vlhQTRZIn_d6Sdyu4tU3OmY",
"kgmid": "/g/11trzwxflp",
"substitution_in": {
"starter_player_index": 10
}
},
...
{
"name": "Adrian Šemper",
"short_name": "A. Šemper",
"jersey_number": "1",
"position": "Goalkeeper",
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcRCpqs8wshU-aVLis0W7QIT-r37l9U5w4061z1A0Kltl8qMDO3AYHdWgOT5O8bIv-sFu13M0q3E1vmT_m9qTp90sSM",
"kgmid": "/g/11c54_gjzf"
},
...
],
"manager": {
"name": "Oscar Hiljemark",
"short_name": "O. Hiljemark",
"kgmid": "/m/0g9z4w1"
},
"formation": {
"layout": "3-4-3",
"starter_lines": [
[1, 2, 3],
[4, 5, 6, 7],
[8, 9, 10]
]
}
},
{
"team_index": 1,
"starters": [
{
"name": "Elia Caprile",
"short_name": "E. Caprile",
"jersey_number": "1",
"position": "Goalkeeper",
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcSyYkWnlFIcBpfAi_k2kMZ5mLp6044z7IBztsSuMdF_7wzpyLax7J7DFiJeesinRaLoEXpH4Nq4eaQMUcBuwe8fyK8",
"kgmid": "/g/11f9h7wdwk"
},
{
"name": "Alberto Dossena",
"short_name": "A. Dossena",
"jersey_number": "22",
"position": "Defender",
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcQsXfmdWF8RYWI7ktgBLTtVEx9A22tnxmlluq7HhxBXmkCa4bbLdkSlbvkPk8TxnDSSyQgtN80Kv150fkO9OQI_VaA",
"kgmid": "/g/11c6zx5hz5",
"assists": 1,
"penalty_card": "yellow_card"
},
{
"name": "Yerry Mina",
"short_name": "Y. Mina",
"jersey_number": "26",
"position": "Defender",
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcRizeFexy1C9c8S0QAM8_ly-RZFs7y9NYeYye4Dgn38P-XgDLq0s7CnNBjbIc31F9fDz9_r8CCOLA-mh2KP6s9cCqk",
"kgmid": "/g/1yxkhkcmg",
"substitution_out": {
"bench_player_index": 2
}
},
{
"name": "Zé Pedro",
"jersey_number": "32",
"position": "Defender",
"thumbnail": "http://t2.gstatic.com/licensed-image?q=tbn:ANd9GcSwzanoZvviGo76GOgoQ36cz7DKRs2ucIBVAXGf_BBjUf-4tyMaxR1szURIH3jTrG76LqFLkLM3KUoHLSMNsrfB5mc",
"kgmid": "/g/11vl65p4g2",
"penalty_card": "yellow_card",
"substitution_out": {
"bench_player_index": 1
}
},
{
"name": "Adam Obert",
"short_name": "A. Obert",
"jersey_number": "33",
"position": "Defender",
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcQlhqGUyHB9sZLbWh9MInnHsaJVoVQyX17vhsTiZwkMsLYQYdpsWOLzNyCJb-4FzVxQa5MkqSqvAmgq0QRmW-_kOWc",
"kgmid": "/g/11grq7vq8j",
"penalty_card": "second_yellow_card"
},
...
],
"bench": [
{
"name": "Luca Mazzitelli",
"short_name": "L. Mazzitelli",
"jersey_number": "4",
"position": "Midfielder",
"thumbnail": "http://t3.gstatic.com/licensed-image?q=tbn:ANd9GcRCbRm3UP-OzvVBtqUpX-uELOAOGDJp5bnBZmW-E8ZGu02RSMB7_cw4Mdvf6X-KZjS4OkLltiS3e4NRRCJeoGAcVqE",
"kgmid": "/m/010pgt3r",
"substitution_in": {
"starter_player_index": 6
}
},
{
"name": "Agustín Albarracín",
"short_name": "A. Albarracín",
"jersey_number": "20",
"position": "Striker",
"kgmid": "/g/11sf7ty9m2",
"substitution_in": {
"starter_player_index": 3
}
},
{
"name": "Gabriele Zappa",
"short_name": "G. Zappa",
"jersey_number": "28",
"position": "Defender",
"thumbnail": "http://t1.gstatic.com/licensed-image?q=tbn:ANd9GcS_lKVzkO-oDSpHWemzQSfyZu6biVBz-v7ekHmvO6ca2tFHgMuTPQS_n5ySAOWA0sJCCiFPJIEPEk1NzoMPmrZnzcL2",
"kgmid": "/g/11h7rglq32",
"substitution_in": {
"starter_player_index": 2
}
},
...
{
"name": "Alen Sherri",
"short_name": "A. Sherri",
"jersey_number": "12",
"position": "Goalkeeper",
"thumbnail": "http://t0.gstatic.com/licensed-image?q=tbn:ANd9GcRqunt1y6cSn7MCQaxxBan394fxD4IPRk0naJEyDQKQxgVrBeybOikasxJ8SjZepqLCNn2z-LiH7m36WA7z8AyRPKQ",
"kgmid": "/m/013d7g_r"
},
...
],
"manager": {
"name": "Fabio Pisacane",
"short_name": "F. Pisacane",
"kgmid": "/m/0bs2clq"
},
"formation": {
"layout": "3-5-2",
"starter_lines": [
[1, 2, 3],
[4, 5, 6, 7, 8],
[9, 10]
]
}
}
]
}
}
}
Example of a basketball game
{
...
"game_results": {
"info": {
"teams": [
{
"name": "UConn Huskies men's basketball",
"short_name": "UConn",
"short_code": "CONN",
"displayed_name": "Connecticut Huskies",
"kgmid": "/m/04088s0",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/IP6U2GnTURfg4fCK0VjFCg_500x500.png",
"rank": 2,
"score": 63,
"score_original": "63",
"season_record": {
"wins": 34,
"losses": 6
},
"linescore": [
{
"title": "First half",
"short_title": "1",
"score": "29"
},
{
"title": "Second half",
"short_title": "2",
"score": "34"
},
{
"title": "Total",
"short_title": "T",
"score": "63"
}
]
},
{
"name": "Michigan Wolverines men's basketball",
"short_name": "Michigan",
"short_code": "MICH",
"displayed_name": "Michigan Wolverines",
"kgmid": "/m/04gg7tj",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/tab6Lih36GSOhPb_A5I0yQ_500x500.png",
"rank": 1,
"score": 69,
"score_original": "69",
"season_record": {
"wins": 37,
"losses": 3
},
"linescore": [
{
"title": "First half",
"short_title": "1",
"score": "33"
},
{
"title": "Second half",
"short_title": "2",
"score": "36"
},
{
"title": "Total",
"short_title": "T",
"score": "69"
}
],
"win": true
}
],
"league": {
"name": "NCAA Division I Men's Basketball",
"short_name": "NCAA men's basketball",
"kgmid": "/g/11ckvf54fz"
},
"venue": {
"name": "Lucas Oil Stadium",
"location": "Indianapolis",
"kgmid": "/m/080hb9"
},
"status": "finished",
"status_original": "Final",
"kgmid": "/g/11yy_19bm4",
"start_time": "2026-04-07T00:50:00Z",
"extensions": [
"NCAA Tournament - National Championship"
],
"highlights": [
{
"title": "Game recap",
"source_title": "Uconn vs Michigan - FULL CHAMPIONSHIP HIGHLIGHTS 🔥 2026 NCAA March Madness",
"link": "https://www.youtube.com/watch?v=J-K5iU9_jsY&feature=onebox",
"duration": "7:50",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/DqNELzf9Xhyq_ksg_768x432.jpg",
"posted_at": "2026-04-07T03:27:10Z"
},
{
"title": "Game recap",
"source_title": "Michigan vs. UConn - National Championship NCAA tournament extended highlights",
"link": "https://www.youtube.com/watch?v=2ZLXQ62lWlQ&feature=onebox",
"duration": "8:55",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/UBePYNRVKVz7zB9L_768x432.jpg",
"posted_at": "2026-04-07T03:37:16Z"
},
...
]
},
"team_stats": {
"teams": [
{
"team_index": 0,
"stats": [
{
"title": "Field goals",
"type": "FIELD_GOALS",
"value": "21/68"
},
{
"title": "Field goal %",
"type": "FIELD_GOALS_PERCENTAGE",
"value": "30.9"
},
{
"title": "3-pointers",
"type": "THREE_POINT",
"value": "9/33",
"advantage": true
},
...
]
},
{
"team_index": 1,
"stats": [
{
"title": "Field goals",
"type": "FIELD_GOALS",
"value": "21/55",
"advantage": true
},
{
"title": "Field goal %",
"type": "FIELD_GOALS_PERCENTAGE",
"value": "38.2",
"advantage": true
},
{
"title": "3-pointers",
"type": "THREE_POINT",
"value": "2/15"
},
...
]
}
]
},
"box_scores": {
"teams": [
{
"team_index": 0,
"groups": [
{
"player_groups": [
{
"type": "Player",
"players": [
{
"name": "Alex Karaban",
"short_name": "A. Karaban",
"position": "F",
"jersey_number": "11",
"kgmid": "/g/11rm_qgqh_",
"stats": [
{
"type": "minutes",
"title": "Minutes",
"short_title": "MIN",
"value": "40"
},
{
"type": "points",
"title": "Points scored",
"short_title": "PTS",
"value": "17"
},
{
"type": "field_goals_made-field_goals_attempted",
"title": "Field goals",
"short_title": "FG",
"value": "5-14"
},
...
]
},
...
]
}
]
}
]
},
{
"team_index": 1,
"groups": [
{
"player_groups": [
{
"type": "Player",
"players": [
{
"name": "Yaxel Lendeborg",
"short_name": "Y. Lendeborg",
"position": "F",
"jersey_number": "23",
"kgmid": "/g/11pzvlcf_s",
"stats": [
{
"type": "minutes",
"title": "Minutes",
"short_title": "MIN",
"value": "36"
},
{
"type": "points",
"title": "Points scored",
"short_title": "PTS",
"value": "13"
},
{
"type": "field_goals_made-field_goals_attempted",
"title": "Field goals",
"short_title": "FG",
"value": "4-13"
},
...
]
},
...
]
}
]
}
]
}
]
}
}
}
Example of a baseball game
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Chicago Cubs",
"short_name": "Cubs",
"short_code": "CHC",
"kgmid": "/m/01yjl",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/8ndTrsSi38xCGbrbjblcPQ_120x120.png",
"score": 1,
"score_original": "1",
"season_record": {
"wins": 32,
"losses": 28
},
"linescore": [
{
"title": "1st inning",
"short_title": "1",
"score": "0"
},
{
"title": "2nd inning",
"short_title": "2",
"score": "0"
},
{
"title": "3rd inning",
"short_title": "3",
"score": "0"
},
...
]
},
{
"name": "St. Louis Cardinals",
"short_name": "Cardinals",
"short_code": "STL",
"kgmid": "/m/06x68",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/oJf168LcE5pH3F6s9iI1Mg_120x120.png",
"score": 5,
"score_original": "5",
"season_record": {
"wins": 31,
"losses": 26
},
"linescore": [
{
"title": "1st inning",
"short_title": "1",
"score": "2"
},
{
"title": "2nd inning",
"short_title": "2",
"score": "0"
},
{
"title": "3rd inning",
"short_title": "3",
"score": "3"
},
...
],
"win": true
}
],
"league": {
"name": "MLB",
"kgmid": "/m/09p14"
},
"venue": {
"name": "Busch Stadium",
"location": "St. Louis",
"kgmid": "/m/06k1v5"
},
"status": "finished",
"status_original": "Final",
"kgmid": "/g/11ylvm7_wt",
"start_time": "2026-05-31T23:20:00Z",
"highlights": [
{
"title": "Game recap",
"source_title": "Cubs vs. Cardinals Game Highlights (5/31/26) | MLB Highlights",
"link": "https://www.youtube.com/watch?v=JBEaoAXC86M&feature=onebox",
"duration": "12:01",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/kCD3kkW4vhfym2LA_768x432.jpg",
"posted_at": "2026-06-01T03:02:57Z"
},
{
"title": "Game recap",
"link": "https://www.mlb.com/stories/game/823053",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/lm-EoV50oFb5pfTK_768x432.jpg",
"posted_at": "2026-05-31T23:51:24Z"
}
],
"more_info": [
{
"title": "More game info at mlb.com",
"link": "http://www.mlb.com/gameday/823053/live?partnerId=LR_box"
}
]
},
"box_scores": {
"teams": [
{
"team_index": 0,
"groups": [
{
"title": "Batting",
"player_groups": [
{
"type": "Player",
"players": [
{
"name": "Nico Hoerner",
"short_name": "N. Hoerner",
"position": "2B",
"jersey_number": "2",
"kgmid": "/g/11f6152d64",
"stats": [
{
"type": "at_bats",
"title": "At bats",
"short_title": "AB",
"value": "4"
},
{
"type": "runs",
"title": "Runs",
"short_title": "R",
"value": "0"
},
{
"type": "batter_hits",
"title": "Hits",
"short_title": "H",
"value": "1"
},
...
]
},
...
]
}
]
},
{
"title": "Pitching",
"player_groups": [
{
"type": "Player",
"players": [
{
"name": "Jordan Wicks",
"short_name": "J. Wicks",
"jersey_number": "36",
"kgmid": "/g/11r1d08b2q",
"stats": [
{
"type": "innings_pitched",
"title": "Innings pitched",
"short_title": "IP",
"value": "2.0"
},
{
"type": "pitcher_hits",
"title": "Hits",
"short_title": "H",
"value": "4"
},
{
"type": "earned_runs",
"title": "Earned runs",
"short_title": "ER",
"value": "3"
},
...
]
},
...
]
}
]
}
]
},
{
"team_index": 1,
"groups": [
{
"title": "Batting",
"player_groups": [
{
"type": "Player",
"players": [
{
"name": "JJ Wetherholt",
"short_name": "J. Wetherholt",
"position": "2B",
"jersey_number": "26",
"kgmid": "/g/11q430sy0z",
"stats": [
{
"type": "at_bats",
"title": "At bats",
"short_title": "AB",
"value": "3"
},
{
"type": "runs",
"title": "Runs",
"short_title": "R",
"value": "2"
},
{
"type": "batter_hits",
"title": "Hits",
"short_title": "H",
"value": "2"
},
...
]
},
...
]
}
]
},
{
"title": "Pitching",
"player_groups": [
{
"type": "Player",
"players": [
{
"name": "Matthew Liberatore",
"short_name": "M. Liberatore",
"jersey_number": "32",
"kgmid": "/g/11f6153mnc",
"stats": [
{
"type": "innings_pitched",
"title": "Innings pitched",
"short_title": "IP",
"value": "5.1"
},
{
"type": "pitcher_hits",
"title": "Hits",
"short_title": "H",
"value": "3"
},
{
"type": "earned_runs",
"title": "Earned runs",
"short_title": "ER",
"value": "0"
},
...
]
},
...
]
}
]
}
]
}
]
}
}
}
Example of a upcoming baseball game
Upcoming games may include tickets and watch information.
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Detroit Tigers",
"short_name": "Tigers",
"short_code": "DET",
"kgmid": "/m/02d02",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/dWdC68LBoGPjXews1hNbsg_120x120.png"
},
{
"name": "Tampa Bay Rays",
"short_name": "Rays",
"short_code": "TB",
"kgmid": "/m/07l8f",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/OKV4PkdXNzXJd_Qalvh63g_120x120.png"
}
],
"league": {
"name": "MLB",
"kgmid": "/m/09p14"
},
"venue": {
"name": "Tropicana Field",
"location": "St. Petersburg",
"kgmid": "/m/02hrxz"
},
"status": "upcoming",
"kgmid": "/g/11ml3nlkdb",
"start_time": "2026-06-01T22:40:00Z",
"highlights": [
{
"title": "Game preview",
"link": "https://www.mlb.com/stories/game-preview/822974",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/aus3JE-yFrpl-pdm_768x432.jpg",
"posted_at": "2026-05-31T20:53:36Z"
}
],
"watch": {
"groups": [
{
"title": "Streaming options",
"sources": [
{
"title": "Fubo",
"subtitle": "Subscription (Free Trial)",
"link": "https://www.fubo.tv/stream/mlb-tv/?ftv_campaign=OneBox_MLBTV-US&utm_source=onebox&utm_medium=organic_search&utm_campaign=us-mlbtvwatchlive&pid=EP062580841347"
},
{
"title": "Hulu + Live TV",
"subtitle": "Subscription",
"link": "https://www.hulu.com/live-sports?utm_source=onebox&utm_medium=organic_search&utm_campaign=live_tv_mlb"
},
{
"title": "MLB.TV",
"subtitle": "Subscription",
"link": "http://www.mlb.com/tv/g822974?partnerId=LR_video"
}
]
},
{
"title": "TV options",
"sources": [
{
"title": "MLB Extra Innings"
}
]
}
]
},
"tickets": {
"link": "https://mlb.tickets.com/?orgid=25&agency=MLB_MPV&pid=9628339&partnerId=LR_tickets"
},
"more_info": [
{
"title": "More game info at mlb.com",
"link": "http://www.mlb.com/gameday/822974/live?partnerId=LR_box"
}
]
}
}
}
Example of a cricket T20 game
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Lucknow Super Giants",
"short_code": "LSG",
"kgmid": "/g/11rnpbm01m",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/OqrL0ztLy13FBpvuF6GCBQ_500x500.png",
"score_per_innings": [
{
"runs": 209,
"wickets": 3,
"overs": 19,
"balls": 0,
"score_original": "209/3 (19)"
}
],
"win": true
},
{
"name": "Royal Challengers Bengaluru",
"short_code": "RCB",
"kgmid": "/m/03nxc_0",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/xUS54-BA0dFZPMtbCiHkzQ_500x500.png",
"score_per_innings": [
{
"runs": 203,
"wickets": 6,
"overs": 19,
"balls": 0,
"target": 213,
"score_original": "203/6 (19)"
}
]
}
],
"league": {
"name": "Indian Premier League",
"short_code": "IPL",
"kgmid": "/m/03b_lm1"
},
"venue": {
"name": "Bharat Ratna Shri Atal Bihari Vajpayee Ekana International Cricket Stadium Lucknow",
"alt_name": "Ekana Cricket Stadium B Ground",
"location": "Ardonamau",
"kgmid": "/m/0115kzrk"
},
"status": "finished",
"kgmid": "/g/11z2x09byx",
"start_time": "2026-05-07T14:00:00Z",
"end_time": "2026-05-07T18:56:00Z",
"summary_text": "LSG won by 9 runs (DLS method)",
"extensions": [
"T20 50 of 74"
],
"highlights": [
{
"title": "Match highlights",
"source_title": "IPL 2026 M50: LSG vs RCB - Match Highlights",
"link": "https://www.iplt20.com/video/67487/ipl-2026-m50-lsg-vs-rcb---match-highlights?utm_source=video&utm_medium=onebox&utm_campaign=ipl26",
"source": "BCCI",
"duration": "13:00",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/8dICPIRQU4sInm9O_768x432.jpg",
"posted_at": "2026-05-07T19:50:47Z"
},
{
"title": "20 runs defended! Digvesh Rathi seals the win for LSG",
"source_title": "20 runs defended! Digvesh Rathi seals the win for LSG",
"link": "https://www.iplt20.com/video/67519/20-runs-defended-digvesh-rathi-seals-the-win-for-lsg?utm_source=video&utm_medium=onebox&utm_campaign=ipl26",
"source": "BCCI",
"duration": "2:39",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/AMJfhv6CP3cckSSY_768x432.jpg",
"posted_at": "2026-05-07T19:49:18Z"
},
...
],
"toss": "RCB won the toss and decided to bowl"
}
}
}
Example of a cricket test game
Cricket test games include scores for multiple innings.
{
...
"game_results": {
"info": {
"teams": [
{
"name": "New Zealand national cricket team",
"short_name": "New Zealand",
"short_code": "NZ",
"kgmid": "/m/02fbb5",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/U4GV26FjF1W9Aphi7SELhw_500x500.png",
"score_per_innings": [
{
"runs": 231,
"wickets": 10,
"overs": 70,
"balls": 3,
"score_original": "231"
},
{
"runs": 466,
"wickets": 8,
"overs": 109,
"balls": 0,
"declared": true,
"score_original": "466/8d"
}
]
},
{
"name": "West Indies cricket team",
"short_name": "West Indies",
"short_code": "WI",
"kgmid": "/m/098knd",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/qziJXGzGxNQbkPJRfxodgA_500x500.png",
"score_per_innings": [
{
"runs": 167,
"wickets": 10,
"overs": 75,
"balls": 4,
"score_original": "167"
},
{
"runs": 457,
"wickets": 6,
"overs": 163,
"balls": 3,
"target": 531,
"score_original": "457/6"
}
]
}
],
"league": {
"name": "International Cricket Council",
"short_code": "ICC",
"kgmid": "/m/021q23"
},
"venue": {
"name": "Hagley Park South",
"alt_name": "Hagley Oval",
"location": "Christchurch",
"kgmid": "/m/09gbby1"
},
"status": "finished",
"kgmid": "/g/11xkx4_s32",
"start_time": "2025-12-01T22:00:00Z",
"end_time": "2025-12-06T05:00:00Z",
"summary_text": "Match drawn",
"extensions": [
"Test 1 of 3 · Day 5 · Session 3"
],
"highlights": [
{
"title": "Highlights",
"source_title": "Greaves & Roach Shines | Highlights + Interviews | New Zealand v West Indies | 1st Test Day 5",
"link": "https://www.youtube.com/watch?v=H2qUK53fs2k&feature=onebox",
"duration": "24:37",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/umKNYnfvkXvGHD1L_768x432.jpg",
"posted_at": "2025-12-06T10:40:07Z"
}
],
"toss": "WI won the toss and decided to bowl"
}
}
}
Example of a cricket live T20 game
Cricket live T20 game may include additional team fields: batting, bowling, current_run_rate, and required_run_rate.
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Kenya national cricket team",
"short_name": "Kenya",
"short_code": "KEN",
"kgmid": "/m/041q38",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/qNdn2A-NP605UMyeKE5S4A_500x500.png",
"score_per_innings": [
{
"runs": 101,
"wickets": 9,
"overs": 20,
"balls": 0,
"score_original": "101/9 (20)"
}
],
"bowling": [
{
"player": {
"name": "Dhiren Gondaria",
"kgmid": "/m/012nxy0z"
},
"wickets": 2,
"runs": 19,
"overs": 2,
"balls": 0,
"score_original": "D. Gondaria: 2/19 (2.0)"
},
{
"player": {
"name": "Nitish Hirani",
"kgmid": "/g/11tn1g95xt"
},
"wickets": 1,
"runs": 9,
"overs": 1,
"balls": 1,
"score_original": "N. Hirani: 1/9 (1.1)",
"turn": true
}
]
},
{
"name": "Rwanda national cricket team",
"short_name": "Rwanda",
"short_code": "RWA",
"kgmid": "/m/0g_3wk",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/1Y5pUINYR9shf_gfj-ZPQw_500x500.png",
"score_per_innings": [
{
"runs": 65,
"wickets": 6,
"overs": 12,
"balls": 1,
"score_original": "64/6 (12)"
}
],
"batting": [
{
"player": {
"name": "Emile Rukiriza",
"kgmid": "/g/11stsmt61b"
},
"runs": 7,
"balls": 10,
"not_out": true,
"score_original": "E. Rukiriza: 7* (10)",
"turn": true
},
{
"player": {
"name": "Martin Akayezu",
"kgmid": "/g/11p00xcwbf"
},
"runs": 14,
"balls": 5,
"not_out": true,
"score_original": "M. Akayezu: 14* (5)"
}
],
"current_run_rate": 5.34,
"required_run_rate": 4.72
}
],
"league": {
"name": "ICC Men's T20 World Cup Qualifier",
"short_name": "World T20 Qualifier",
"kgmid": "/m/04cy133"
},
"venue": {
"name": "Botswana Cricket Association Oval 1, Gaborone",
"alt_name": "Botswana Cricket Association Oval 1",
"kgmid": "/g/11fmc5r3bn"
},
"status": "live",
"status_original": "Live",
"kgmid": "/g/11njrlfryd",
"start_time": "2026-05-25T07:30:00Z",
"end_time": "2026-05-25T11:30:00Z",
"summary_text": "RWA need 37 runs in 47 balls to win",
"extensions": [
"T20 7 of 21"
],
"toss": "KEN won the toss and decided to bat"
},
"win_probability": {
"title": "Live win probability",
"options": [
{
"team_index": 0,
"value": "69",
},
{
"team_index": 1,
"value": "31",
},
]
}
}
}
Example of a cricket live test game
Cricket live test game may include additional team fields: batting, bowling, current_run_rate, and required_run_rate. Also score_per_innings may include expected_overs.
{
...
"game_results": {
"info": {
"teams": [
{
"name": "New Zealand national cricket team",
"short_name": "New Zealand",
"short_code": "NZ",
"kgmid": "/m/02fbb5",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/U4GV26FjF1W9Aphi7SELhw_500x500.png",
"score_per_innings": [
{
"runs": 391,
"wickets": 10,
"score_original": "391"
},
{
"runs": 362,
"wickets": 10,
"score_original": "362"
}
],
"bowling": [
{
"player": {
"name": "Matt Henry",
"kgmid": "/m/0_gnqpy"
},
"wickets": 0,
"runs": 7,
"overs": 2,
"balls": 0,
"score_original": "M. Henry: 0/7 (2.0)"
},
{
"player": {
"name": "Kyle Jamieson",
"kgmid": "/g/11bwf49bfh"
},
"wickets": 1,
"runs": 6,
"overs": 1,
"balls": 4,
"score_original": "K. Jamieson: 1/6 (1.4)",
"turn": true
}
]
},
{
"name": "England cricket team",
"short_name": "England",
"short_code": "ENG",
"kgmid": "/m/038zh6",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/DTqIL8Ba3KIuxGkpXw5ayA_500x500.png",
"score_per_innings": [
{
"runs": 291,
"wickets": 10,
"score_original": "291"
},
{
"runs": 13,
"wickets": 1,
"overs": 3,
"balls": 4,
"expected_overs": 146,
"target": 463,
"score_original": "13/1 (3.4/146)"
}
],
"batting": [
{
"player": {
"name": "Ben Duckett",
"kgmid": "/m/0knfr22"
},
"runs": 1,
"balls": 6,
"not_out": true,
"score_original": "B. Duckett: 1* (6)"
},
{
"player": {
"name": "Jacob Bethell",
"kgmid": "/g/11py850w32"
},
"runs": 0,
"balls": 2,
"not_out": true,
"score_original": "J. Bethell: 0* (2)",
"turn": true
}
]
}
],
"league": {
"name": "International Cricket Council",
"short_code": "ICC",
"kgmid": "/m/021q23"
},
"venue": {
"name": "The Kia Oval",
"alt_name": "The Oval",
"location": "London",
"kgmid": "/m/022dwr"
},
"status": "live",
"status_original": "2nd Innings",
"kgmid": "/g/11xm9nzbr5",
"start_time": "2026-06-17T10:00:00Z",
"end_time": "2026-06-21T17:00:00Z",
"summary_text": "ENG need 450 runs to win",
"extensions": [
"Test 2 of 3 (ENG leads 1-0) · Day 4 · Session 2"
],
"highlights": [
{
"title": "Highlights",
"link": "https://ecb-stories.ecb.co.uk/games/6a3666c76c2a7db4e3031ed5.html",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/_sshGL2Sg6fRc20k_768x432.jpg",
"posted_at": "2026-06-20T10:12:46Z"
},
{
"title": "Nicholls Ton Extends Blackcaps' Lead | Highlights - England v New Zealand Day 3 | Rothesay Test 2026",
"source_title": "Nicholls Ton Extends Blackcaps' Lead | Highlights - England v New Zealand Day 3 | Rothesay Test 2026",
"link": "https://www.youtube.com/watch?v=B4QPyZCFm2s&feature=onebox",
"source": "England and Wales Cricket Board",
"duration": "15:04",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/qruBrdi_qnbDZAfu_768x432.jpg",
"posted_at": "2026-06-19T18:17:45Z"
},
...
],
"toss": "ENG won the toss and decided to bowl"
},
"win_probability": {
"title": "Live win probability",
"options": [
{
"team_index": 0,
"value": "90"
},
{
"team_index": 1,
"value": "9"
},
{
"title": "Draw",
"value": "1"
}
]
}
}
}
Example of an American football game
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Dallas Cowboys",
"short_name": "Cowboys",
"short_code": "DAL",
"kgmid": "/m/02896",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/-zeHm0cuBjZXc2HRxRAI0g_120x120.png",
"score": 17,
"score_original": "17",
"season_record": {
"wins": 7,
"losses": 9,
"ties": 1
},
"linescore": [
{
"title": "1st quarter",
"short_title": "1",
"score": "10"
},
{
"title": "2nd quarter",
"short_title": "2",
"score": "0"
},
{
"title": "3rd quarter",
"short_title": "3",
"score": "0"
},
...
]
},
{
"name": "New York Giants",
"short_name": "Giants",
"short_code": "NYG",
"kgmid": "/m/05gg4",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/q8qdTYh-OWR5uO_QZxFENw_120x120.png",
"score": 34,
"score_original": "34",
"season_record": {
"wins": 4,
"losses": 13
},
"linescore": [
{
"title": "1st quarter",
"short_title": "1",
"score": "6"
},
{
"title": "2nd quarter",
"short_title": "2",
"score": "10"
},
{
"title": "3rd quarter",
"short_title": "3",
"score": "8"
},
...
],
"win": true
}
],
"league": {
"name": "NFL",
"kgmid": "/m/059yj"
},
"venue": {
"name": "MetLife Stadium",
"location": "East Rutherford",
"kgmid": "/m/0dnkph"
},
"status": "finished",
"status_original": "Final",
"kgmid": "/g/11xn3v8rj9",
"start_time": "2026-01-04T18:00:00Z",
"highlights": [
{
"title": "Game recap",
"source_title": "Dallas Cowboys vs New York Giants Game Highlights | 2025 NFL Season Week 18",
"link": "https://www.youtube.com/watch?v=MWxNQm6JLDo&feature=onebox",
"source": "NFL",
"duration": "17:27",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/Fv04wj5HQzPZF3Ir_768x432.jpg",
"posted_at": "2026-01-04T21:28:37Z"
},
{
"title": "Jaxson Dart finds Tyrone Tracy for 13-yard TD, extending Giants' lead over Cowboys | NFL Highlights",
"source_title": "Jaxson Dart finds Tyrone Tracy for 13-yard TD, extending Giants' lead over Cowboys | NFL Highlights",
"link": "https://www.foxsports.com/watch/fmc-t7ul7e6ch2d3sr2r?cmpid=google-one-box\\",
"source": "Fox Sports",
"duration": "0:11",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/10mU7ULIsFqFKcO8_768x432.jpg",
"posted_at": "2026-01-04T21:10:23Z"
},
...
],
"more_info": [
{
"title": "More game info at nfl.com",
"link": "https://www.nfl.com/games/cowboys-at-giants-2025-reg-18"
}
]
},
"team_stats": {
"teams": [
{
"team_index": 0,
"stats": [
{
"title": "Total yards",
"type": "TOTAL_YARDS",
"value": "286"
},
{
"title": "Passing yards",
"type": "PASSING_YARDS",
"value": "143"
},
{
"title": "Rushing yards",
"type": "RUSHING_YARDS",
"value": "143"
},
...
]
},
{
"team_index": 1,
"stats": [
{
"title": "Total yards",
"type": "TOTAL_YARDS",
"value": "380",
"advantage": true
},
{
"title": "Passing yards",
"type": "PASSING_YARDS",
"value": "219",
"advantage": true
},
{
"title": "Rushing yards",
"type": "RUSHING_YARDS",
"value": "161",
"advantage": true
},
...
]
}
]
},
"box_scores": {
"teams": [
{
"team_index": 0,
"groups": [
{
"title": "Passing",
"player_groups": [
{
"type": "Player",
"players": [
{
"name": "Dak Prescott",
"short_name": "D. Prescott",
"jersey_number": "4",
"kgmid": "/m/0zbd_kt",
"stats": [
{
"type": "completions-passing_attempts",
"title": "Completions to attempts",
"short_title": "C/ATT",
"value": "7/11"
},
{
"type": "passing_yards",
"title": "yards",
"short_title": "YDS",
"value": "70"
},
{
"type": "passing_touchdowns",
"title": "Touchdowns",
"short_title": "TD",
"value": "0"
},
...
]
},
...
]
}
]
},
{
"title": "Rushing",
"player_groups": [
{
"type": "Player",
"players": [
{
"name": "Jaydon Blue",
"short_name": "J. Blue",
"jersey_number": "23",
"kgmid": "/g/11nnv4239v",
"stats": [
{
"type": "rushing_carries",
"title": "Carries",
"short_title": "CAR",
"value": "16"
},
{
"type": "rushing_yards",
"title": "yards",
"short_title": "YDS",
"value": "64"
},
{
"type": "rushing_average",
"title": "Average",
"short_title": "AVG",
"value": "4.0"
},
...
]
},
...
]
}
]
},
...
]
},
{
"team_index": 1,
"groups": [
{
"title": "Passing",
"player_groups": [
{
"type": "Player",
"players": [
{
"name": "Jaxson Dart",
"short_name": "J. Dart",
"jersey_number": "6",
"kgmid": "/g/11nn06js6h",
"stats": [
{
"type": "completions-passing_attempts",
"title": "Completions to attempts",
"short_title": "C/ATT",
"value": "22/32"
},
{
"type": "passing_yards",
"title": "yards",
"short_title": "YDS",
"value": "230"
},
{
"type": "passing_touchdowns",
"title": "Touchdowns",
"short_title": "TD",
"value": "2"
},
...
]
},
...
]
}
]
},
{
"title": "Rushing",
"player_groups": [
{
"type": "Player",
"players": [
{
"name": "Tyrone Tracy Jr.",
"short_name": "T. Tracy Jr.",
"jersey_number": "29",
"kgmid": "/g/11ggrnz7qj",
"stats": [
{
"type": "rushing_carries",
"title": "Carries",
"short_title": "CAR",
"value": "18"
},
{
"type": "rushing_yards",
"title": "yards",
"short_title": "YDS",
"value": "103"
},
{
"type": "rushing_average",
"title": "Average",
"short_title": "AVG",
"value": "5.7"
},
...
]
},
...
]
}
]
},
...
]
}
]
}
}
}
Example of an American football game - Overview tab
Overview tab data requires a separate search request.
{
...
"game_results": {
"info": {
"teams": [
{
"short_name": "Cowboys",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/-zeHm0cuBjZXc2HRxRAI0g_64x64.png",
"name": "Dallas Cowboys",
"kgmid": "/m/02896",
"short_code": "DAL"
},
{
"short_name": "Giants",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/q8qdTYh-OWR5uO_QZxFENw_64x64.png",
"name": "New York Giants",
"kgmid": "/m/05gg4",
"short_code": "NYG"
}
]
},
"team_stats": {
"teams": [
{
"team_index": 0,
"stats": [
{
"title": "Total yards",
"type": "TOTAL_YARDS",
"value": "286"
},
{
"title": "Passing yards",
"type": "PASSING_YARDS",
"value": "143"
},
{
"title": "Rushing yards",
"type": "RUSHING_YARDS",
"value": "143"
},
...
]
},
{
"team_index": 1,
"stats": [
{
"title": "Total yards",
"type": "TOTAL_YARDS",
"value": "380",
"advantage": true
},
{
"title": "Passing yards",
"type": "PASSING_YARDS",
"value": "219",
"advantage": true
},
{
"title": "Rushing yards",
"type": "RUSHING_YARDS",
"value": "161",
"advantage": true
},
...
]
}
]
},
"game_leaders": {
"stats": [
{
"title": "Passing yards",
"players": [
{
"team_index": 0,
"name": "Joe Milton III",
"short_name": "J. Milton III",
"jersey_number": "10",
"kgmid": "/g/11ggvwmwv4",
"value": "7 to 13 Completions to Attempts, 73 Yards, 1 Interception",
"value_short": "7-13, 73 Yds, 1 Int"
},
{
"team_index": 1,
"name": "Jaxson Dart",
"short_name": "J. Dart",
"jersey_number": "6",
"kgmid": "/g/11nn06js6h",
"value": "22 to 32 Completions to Attempts, 230 Yards, 2 Touchdowns",
"value_short": "22-32, 230 Yds, 2 TDs"
}
]
},
{
"title": "Rushing yards",
"players": [
{
"team_index": 0,
"name": "Jaydon Blue",
"short_name": "J. Blue",
"jersey_number": "23",
"kgmid": "/g/11nnv4239v",
"value": "16 Carries, 64 Yards, 1 Touchdown",
"value_short": "16 Car, 64 Yds, 1 TD"
},
{
"team_index": 1,
"name": "Tyrone Tracy Jr.",
"short_name": "T. Tracy Jr.",
"jersey_number": "29",
"kgmid": "/g/11ggrnz7qj",
"value": "18 Carries, 103 Yards",
"value_short": "18 Car, 103 Yds"
}
]
},
...
]
},
"scoring_summary": {
"periods": [
{
"title": "1st Quarter",
"events": [
{
"team_index": 1,
"title": "Field goal",
"snippet": "B.Sauls 45 yard field goal attempt is good, Center-C.Kreiter, Holder-J.Gillan.",
"time_original": "9:15",
"in_game_time": {
"minute": 9,
"second": 15
},
"scores": [
{
"team_index": 0,
"score": 0,
"score_original": "0"
},
{
"team_index": 1,
"score": 3,
"score_original": "3",
"highlighted": true
}
]
},
{
"team_index": 0,
"title": "Field goal",
"snippet": "B.Aubrey 22 yard field goal attempt is good, Center-T.Sieg, Holder-B.Anger.",
"time_original": "5:21",
"in_game_time": {
"minute": 5,
"second": 21
},
"scores": [
{
"team_index": 0,
"score": 3,
"score_original": "3",
"highlighted": true
},
{
"team_index": 1,
"score": 3,
"score_original": "3"
}
]
},
...
]
},
{
"title": "2nd Quarter",
"events": [
{
"team_index": 1,
"title": "Field goal",
"snippet": "B.Sauls 23 yard field goal attempt is good, Center-C.Kreiter, Holder-J.Gillan.",
"time_original": "9:45",
"in_game_time": {
"minute": 9,
"second": 45
},
"scores": [
{
"team_index": 0,
"score": 10,
"score_original": "10"
},
{
"team_index": 1,
"score": 9,
"score_original": "9",
"highlighted": true
}
]
},
...
]
},
...
]
}
}
}
Example of an ice hockey game
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Edmonton Oilers",
"short_name": "Oilers",
"short_code": "EDM",
"kgmid": "/m/0jnmj",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/GFR5_nXarHj6qRI8R05otg_120x120.png",
"score": 5,
"score_original": "5",
"season_record": {
"wins": 39,
"losses": 29,
"overtime_losses": 10
},
"linescore": [
{
"title": "1st period",
"short_title": "1",
"score": "3"
},
{
"title": "2nd period",
"short_title": "2",
"score": "1"
},
{
"title": "3rd period",
"short_title": "3",
"score": "1"
},
...
]
},
{
"name": "Utah Mammoth",
"short_name": "Mammoth",
"short_code": "UTA",
"kgmid": "/g/11vz4r_mc1",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/optimized/iZyCkSgmibqtCi1eua8kjw_120x120.png",
"score": 6,
"score_original": "6",
"season_record": {
"wins": 41,
"losses": 30,
"overtime_losses": 6
},
"linescore": [
{
"title": "1st period",
"short_title": "1",
"score": "1"
},
{
"title": "2nd period",
"short_title": "2",
"score": "3"
},
{
"title": "3rd period",
"short_title": "3",
"score": "1"
},
...
],
"win": true
}
],
"league": {
"name": "National Hockey League",
"short_name": "NHL",
"kgmid": "/m/05gwr"
},
"venue": {
"name": "Delta Center",
"location": "Salt Lake City",
"kgmid": "/m/038gjq"
},
"status": "finished",
"status_original": "Final/OT",
"kgmid": "/g/11ygfjg8tn",
"start_time": "2026-04-08T01:30:00Z",
"highlights": [
{
"title": "Game recap",
"source_title": "Oilers vs. Mammoth | NHL Highlights | April 07, 2026",
"link": "https://www.youtube.com/watch?v=4rqcdc1Yga4&feature=onebox",
"duration": "11:37",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/P7gaMw_k1i8JWed8_768x432.jpg",
"posted_at": "2026-04-08T04:45:52Z"
},
{
"title": "Game recap",
"source_title": "OT WINNER 😱 Edmonton Oilers vs. Utah Mammoth | Full Game Highlights | NHL on ESPN",
"link": "https://www.youtube.com/watch?v=EG4k4k9tME4&feature=onebox",
"duration": "13:54",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/videos/vita/yBvNfhQAo05aemDV_768x432.jpg",
"posted_at": "2026-04-08T05:07:54Z"
},
...
]
},
"box_scores": {
"teams": [
{
"team_index": 0,
"groups": [
{
"player_groups": [
{
"type": "Skaters",
"players": [
{
"name": "Connor McDavid",
"short_name": "C. McDavid",
"jersey_number": "97",
"kgmid": "/m/0ndhxtv",
"stats": [
{
"type": "goals",
"title": "Goals",
"short_title": "G",
"value": "1"
},
{
"type": "assists",
"title": "Assists",
"short_title": "A",
"value": "1"
},
{
"type": "points",
"title": "Points",
"short_title": "Pts",
"value": "2"
},
...
]
},
...
]
},
{
"type": "Goalie",
"players": [
{
"name": "Tristan Jarry",
"short_name": "T. Jarry",
"jersey_number": "35",
"kgmid": "/m/0wbhsxy",
"stats": [
{
"type": "goals_against",
"title": "Goals against",
"short_title": "GA",
"value": "6"
},
{
"type": "shots_against",
"title": "Shots against",
"short_title": "SA",
"value": "31"
},
{
"type": "saves",
"title": "Saves",
"short_title": "SV",
"value": "25"
},
...
]
}
]
}
]
}
]
},
{
"team_index": 1,
"groups": [
{
"player_groups": [
{
"type": "Skaters",
"players": [
{
"name": "Alexander Kerfoot",
"short_name": "A. Kerfoot",
"jersey_number": "15",
"kgmid": "/g/11f147j_5x",
"stats": [
{
"type": "goals",
"title": "Goals",
"short_title": "G",
"value": "1"
},
{
"type": "assists",
"title": "Assists",
"short_title": "A",
"value": "1"
},
{
"type": "points",
"title": "Points",
"short_title": "Pts",
"value": "2"
},
...
]
},
...
]
},
{
"type": "Goalie",
"players": [
{
"name": "Karel Vejmelka",
"short_name": "K. Vejmelka",
"jersey_number": "70",
"kgmid": "/g/11b8t6hxcj",
"stats": [
{
"type": "goals_against",
"title": "Goals against",
"short_title": "GA",
"value": "5"
},
{
"type": "shots_against",
"title": "Shots against",
"short_title": "SA",
"value": "26"
},
{
"type": "saves",
"title": "Saves",
"short_title": "SV",
"value": "21"
},
...
]
}
]
}
]
}
]
}
]
}
}
}
Example of a rugby game
{
...
"game_results": {
"info": {
"teams": [
{
"name": "Union Bordeaux Bègles",
"short_name": "Bordeaux Bègles",
"short_code": "UNI",
"kgmid": "/m/0gzgvh",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/rugby/optimized/pPNh8tqWjArv1ogp930jSQ_160x160.png",
"score": 64,
"score_original": "64",
"win": true
},
{
"name": "Leicester Tigers",
"short_name": "Leicester",
"short_code": "LCT",
"kgmid": "/m/01szhj",
"thumbnail": "https://ssl.gstatic.com/onebox/media/sports/logos/rugby/optimized/85i9inwQYu0weSXjnghcZQ_160x160.png",
"score": 14,
"score_original": "14"
}
],
"league": {
"name": "European Rugby Champions Cup",
"kgmid": "/m/0y4tfr5"
},
"venue": {
"name": "André Moga Stadium",
"location": "Bègles",
"kgmid": "/m/0cmdkh6"
},
"status": "finished",
"status_original": "Full time",
"kgmid": "/g/11yxg6589_",
"start_time": "2026-04-05T14:00:00Z",
"extensions": [
"Round of 16"
]
}
}
}
JSON structure overview
{
...
"game_results": {
"info": {
"teams": [
{
"name": "String - Name of the team",
"short_name": "String - Short name of the team",
"short_code": "String - Short code of the team",
"displayed_name": "String - Name of the team displayed on the page (in case it differs from `name`, `short_name`, and `short_code`)",
"kgmid": "String - Knowledge graph ID of the team",
"thumbnail": "String - Thumbnail of the team",
"rank": "Integer - Rank of the team",
"rank_movement": "String - Indicates how rank has been changed (supported values: `up`, `down`, `not_changed`)",
"score": "Integer - Score of the team (if convertible to integer)",
"score_original": "String - Original score of the team",
"win": "Boolean - Flag indicating that team won in the game (is absent for both teams in case of the tie)",
// football
"penalty_score": "Integer - Penalty score of the team",
"goal_summary": [
{
"player": {
"name": "String - Name of the team player who scored a goal",
"short_name": "String - Short name of the team player who scored a goal",
"position": "String - Position of the team player who scored a goal",
"jersey_number": "String - Jersey number of the team player who scored a goal",
"kgmid": "String - Knowledge graph ID number of the team player who scored a goal",
"thumbnail": "String - Thumbnail of the team player who scored a goal",
},
"goals": [
{
"in_game_time": {
"minute": "Integer - Team player goal minute",
"second": "Integer - Team player goal second",
"stoppage_minute": "Integer - Team player goal stoppage minute"
},
"extensions": "Array[String] - List of additional labels about the team player goal (e.g. `P` for penalty, `OG` for own goal)",
},
...
]
}
],
"red_card_summary": [
{
"player": {
"name": "String - Name of the team player who received a red card",
"short_name": "String - Short name of the team player who received a red card",
"position": "String - Position of the team player who received a red card",
"jersey_number": "String - Jersey number of the team player who received a red card",
"kgmid": "String - Knowledge graph ID number of the team player who received a red card",
"thumbnail": "String - Thumbnail of the team player who received a red card",
},
"in_game_time": {
"minute": "Integer - Team player red card minute",
"second": "Integer - Team player red card second",
"stoppage_minute": "Integer - Team player red card stoppage minute"
}
}
]
// cricket
"score_per_innings": [
{
"runs": "Integer - Number of runs of the team in the selected innings",
"wickets": "Integer - Number of wickets of the team in the selected innings",
"overs": "Integer - Number of overs of the team in the selected innings",
"balls": "Integer - Number of balls of the team in the selected innings",
"expected_overs": "Integer - Expected number of remaining overs of the team in the selected innings",
"target": "Integer - Number of runs the team must score to win the game if it's batting second",
"declared": "Boolean - Flag indicating that team voluntarily ended their innings before all ten wickets have fallen",
"score_original": "String - Formatted score of the team in the selected innings",
},
...
],
"batting": [
{
"player": {
"name": "String - Name of the team batter",
"kgmid": "String - Knowledge graph ID of the team batter",
},
"runs": "Integer - Number of runs team batter has scored",
"balls": "Integer - Number of balls team batter has faced",
"not_out": "Boolean - Flag indicating that team batter is not out",
"score_original": "String - Formatted score of the team batter",
"turn": "Boolean - Flag indicating that selected team batter is currently active",
},
...
],
"bowling": [
{
"player": {
"name": "String - Name of the team bowler",
"kgmid": "String - Knowledge graph ID of the team bowler",
},
"wickets": "Integer - Number of wickets taken by the team bowler",
"runs": "Integer - Number of runs scored by the team bowler",
"overs": "Integer - Number of complete overs team bowler has bowled",
"balls": "Integer - Number of balls thrown in the current over by the team bowler",
"score_original": "String - Formatted score of the team bowler",
"turn": "Boolean - Flag indicating that selected team bowler is currently active",
},
...
],
"current_run_rate": "Float - Average number of runs batting team scores per over at any given point in the current innings",
"required_run_rate": "Float - Average number of runs the batting team must score per remaining over to win a game",
// basketball, baseball, American football, ice hockey
"season_record": {
"wins": "Integer - Number of wins of the team in the current season",
"losses": "Integer - Number of losses of the team in the current season",
"ties": "Integer - Number of ties of the team in the current season", // American football
"overtime_losses": "Integer - Number of overtime losses of the team in the current season", // ice hockey
},
"linescore": [
{
"title": "String - Title of the column in the team linescore",
"short_title": "String - Short title of the column in the team linescore",
"score": "String - Score in the team linescore column",
},
...
],
},
...
],
"league": {
"name": "String - Name of the league",
"short_name": "String - Short name of the league",
"short_code": "String - Short code of the league",
"displayed_name": "String - Name of the league displayed on the page (in case it differs from `name`, `short_name`, and `short_code`)",
"kgmid": "String - Knowledge graph ID of the league",
},
"venue": {
"name": "String - Name of the venue",
"alt_name": "String - Alternative name of the venue",
"short_code": "String - Short code of the venue",
"kgmid": "String - Knowledge graph ID of the venue",
},
"status": "String - Normalized status of the game",
// Supported values:
// - `finished`
// - `live`
// - `upcoming`
// - `postponed`
// - `cancelled`
// - `paused` (e.g. game temporarily paused because of the rain)
// - `delayed` (e.g. game was stopped for a longer period after the rain pause)
// - `tbd` (e.g. status unknown)
// - `break` (e.g. half-time, timeout etc.)
// - `vacated` (e.g. game stopped abruptly)
"status_original": "String - Original status of the game",
"kgmid": "String - Knowledge graph ID of the game",
"start_time": "String - Game start time in ISO8601 UTC format",
"start_date": "String - Game start date (no hours) in ISO8601 UTC format (in case the detailed `start_time` is not available)",
"end_time": "String - Game end time in ISO8601 UTC format",
"in_game_time": {
"minute": "Integer - Minute of the live game",
"second": "Integer - Second of the live game",
"stoppage_minute": "Integer - Stoppage minute of the live game",
"stoppage_second": "Integer - Stoppage second of the live game",
"stoppage_total": "Integer - Total number of stoppage minutes reserved for the live game",
},
"summary_text": "String - Text summary of the cricket game",
"extensions": "Array[String] - List of the game additional information strings",
"highlights": [
{
"title": "String - Title of the game highlight",
"source_title": "String - Original source title of the game highlight",
"link": "String - Link of the game highlight",
"source": "String - Link of the game highlight",
"thumbnail": "String - Thumbnail of the game highlight",
"posted_at": "String - Game highlight posting time in ISO8601 UTC format",
"duration": "String - Duration of the game highlight video",
},
...
],
"watch": {
"groups": [
{
"title": "String - Title of the watch group",
"sources": [
{
"title": "String - Title of the watch source",
"subtitle": "String - Additional info about the watch source",
"link": "String - Link of the watch source"
},
...
]
},
...
]
},
"tickets": {
"link": "String - Link to buy the game tickets"
},
"toss": "String - Information about the game toss",
"photo_credits": {
"source": "String - Source of the game photos"
},
"more_info": [
{
"title": "String - Title of the link to the additional information about the game",
"link": "String - Link to the additional information about the game",
},
...
]
},
"team_standings": {
"teams": [
{
"rank": "Integer - Rank of the team",
"name": "String - Name of the team",
"kgmid": "String - Knowledge graph ID of the team",
"thumbnail": "String - Thumbnail of the team",
"link": "String - Google search link of the team",
"league_movement": "String - Promotion/relegation information about the team",
"live_score": {
"this_team": "Integer - Score of the current team in case of the live game",
"opponent_team": "Integer - Score of the opponent team in case of the live game",
},
"stats": [
{
"title": "String - Title of the team stat",
"short_title": "String - Short title of the team stat",
"value": "String - Value of the team stat",
"values": "Array[String] - List of the team last 5 games outcomes (supported values: `win`, `loss`, `tie`, `not_played`)",
"highlighted": "Boolean - Flag indicating that stat column is highlighted",
},
...
],
"highlighted": "Boolean - Flag indicating that team is highlighted in the table",
},
...
],
"extensions": "Array[String] - List of the standings table additional information strings"
},
"win_probability": {
"title": "String - Title of the win probability section",
"options": [
{
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"title": "String - Title of the option if it does not reference the specific team",
"value": "String - Value of the option"
},
...
]
},
// football, basketball, American football
"team_stats": {
"teams": [
{
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"stats": [
{
"type": "String - Google Sports internal stat identifier",
"title": "String - Title of the stat",
"value": "String - Value of the stat",
"advantage": "Boolean - Optional flag indicating that the team has an advantage in the selected stat over the other team"
},
...
]
},
...
]
},
// football
"timeline": {
"events": [
// event structure depends on the `type`
{
"type": "kickoff",
"time_original": "String - Time of the event"
},
{
"type": "halftime",
"title": "String - Title of the event",
"scores": [
{
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"score": "Integer - Score of the team"
},
...
]
},
{
"type": "second_half_start", // also for `extra_time_start`, `extra_time_second_half_start`, `extra_time_end`, `end_of_match`
"title": "String - Title of the event",
"time_original": "String - Time of the event",
"in_game_time": {
"minute": "Integer - Minute of the event",
"stoppage_minute": "Integer - Stoppage minute of the event"
}
},
{
"type": "substitution",
"title": "String - Title of the event",
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"player_in": {
"name": "String - Name of the player substituting in",
"position": "String - Position of the player substituting in",
"jersey_number": "String - Jersey number of the player substituting in",
"kgmid": "String - Knowledge graph ID of the player substituting in",
"thumbnail": "String - Thumbnail of the player substituting in"
},
"player_out": {
"name": "String - Name of the player substituting out",
"position": "String - Position of the player substituting out",
"jersey_number": "String - Jersey number of the player substituting out",
"kgmid": "String - Knowledge graph ID of the player substituting out",
"thumbnail": "String - Thumbnail of the player substituting out"
},
"commentary": "Array[String] - List of the event commentary strings",
"time_original": "String - Time of the event",
"in_game_time": {
"minute": "Integer - Minute of the event",
"stoppage_minute": "Integer - Stoppage minute of the event"
}
},
{
"type": "goal",
"title": "String - Title of the event",
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"player": {
"name": "String - Name of the player who scored a goal",
"position": "String - Position of the player who scored a goal",
"jersey_number": "String - Jersey number of the player who scored a goal",
"kgmid": "String - Knowledge graph ID of the player who scored a goal",
"thumbnail": "String - Thumbnail of the player who scored a goal"
},
"assist_by": "String - Name of the player who assisted the goal",
"scores": [
{
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"score": "Integer - Score of the team",
"highlighted": "Boolean - Flag indicating the team score is highlighted (team has advantage)"
},
...
],
"commentary": "Array[String] - List of the event commentary strings",
"time_original": "String - Time of the event",
"in_game_time": {
"minute": "Integer - Minute of the event",
"stoppage_minute": "Integer - Stoppage minute of the event"
}
},
{
"type": "penalty_goal", // also for `own_goal`
"title": "String - Title of the event",
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"player": {
"name": "String - Name of the player who scored a goal",
"position": "String - Position of the player who scored a goal",
"jersey_number": "String - Jersey number of the player who scored a goal",
"kgmid": "String - Knowledge graph ID of the player who scored a goal",
"thumbnail": "String - Thumbnail of the player who scored a goal"
},
"scores": [
{
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"score": "Integer - Score of the team",
"highlighted": "Boolean - Flag indicating the team score is highlighted (team has advantage)"
},
...
],
"commentary": "Array[String] - List of the event commentary strings",
"time_original": "String - Time of the event",
"in_game_time": {
"minute": "Integer - Minute of the event",
"stoppage_minute": "Integer - Stoppage minute of the event"
}
},
{
"type": "missed_penalty",
"title": "String - Title of the event",
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"player": {
"name": "String - Name of the player who missed a penalty",
"position": "String - Position of the player who missed a penalty",
"jersey_number": "String - Jersey number of the player who missed a penalty",
"kgmid": "String - Knowledge graph ID of the player who missed a penalty",
"thumbnail": "String - Thumbnail of the player who missed a penalty"
},
"time_original": "String - Time of the event",
"in_game_time": {
"minute": "Integer - Minute of the event",
"stoppage_minute": "Integer - Stoppage minute of the event"
}
},
{
"type": "red_card", // also for `yellow_card` and `second_yellow_card`
"title": "String - Title of the event",
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"player": {
"name": "String - Name of the player who scored a goal",
"position": "String - Position of the player who scored a goal",
"jersey_number": "String - Jersey number of the player who scored a goal",
"kgmid": "String - Knowledge graph ID of the player who scored a goal",
"thumbnail": "String - Thumbnail of the player who scored a goal"
},
"commentary": "Array[String] - List of the event commentary strings",
"time_original": "String - Time of the event",
"in_game_time": {
"minute": "Integer - Minute of the event",
"stoppage_minute": "Integer - Stoppage minute of the event"
}
},
{
"type": "commentary",
"title": "String - Title of the event",
"snippets": "Array[String] - List of the commentary strings",
"time_original": "String - Time of the event",
"in_game_time": {
"minute": "Integer - Minute of the event",
"stoppage_minute": "Integer - Stoppage minute of the event"
}
},
{
"type": "penalty_shootout",
"title": "String - Title of the event",
"result": "String - Result of the penalty shootout",
"penalty_scores": [
{
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"penalty_score": "Integer - Penalty score of the team"
},
...
],
"kicks": [
{
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"player": {
"name": "String - Name of the player who takes the kick",
"kgmid": "String - Knowledge graph ID of the player who takes the kick"
},
"status": "String - Status of the kick (supported values: `goal`, `miss`, `not_taken`)",
"penalty_scores": [
{
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"penalty_score": "Integer - Penalty score of the team",
"highlighted": "Boolean - Flag indicating the team penalty score is highlighted (team has advantage)"
},
...
],
},
...
],
"toss": "String - Penalty shootout toss information"
},
{
"type": "media",
"link": "String - Link to the image",
"commentary": "Array[String] - List of the event commentary strings"
},
{
"type": "media_group",
"group": [
{
"link": "String - Link to the image",
"commentary": "Array[String] - List of the event commentary strings"
},
...
]
},
{
"type": "var_review",
"title": "String - Title of the event",
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"commentary": "Array[String] - List of the event commentary strings",
"time_original": "String - Time of the event",
"in_game_time": {
"minute": "Integer - Minute of the event",
"stoppage_minute": "Integer - Stoppage minute of the event"
}
}
]
},
"lineups": {
"teams": [
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"starters": [
{
"name": "String - Name of the starting player",
"short_name": "String - Short name of the starting player",
"position": "String - Position of the starting player",
"jersey_number": "String - Jersey number of the starting player",
"age": "Integer - Age of the starting player",
"thumbnail": "String - Thumbnail of the starting player",
"kgmid": "String - Knowledge graph ID of the starting player",
"rating": "Numeric - Game rating of the starting player",
"other_team": {
"name": "String - Name of the starting player's other team (national team or club)",
"thumbnail": "String - Thumbnail of the starting player's other team (national team or club)",
}
"goals": "Integer - Number of goals scored by starting player",
"assists": "Integer - Number of starting players's assists",
"own_goal": "Boolean - Flag indicating the starting player scored at least one own goal",
"penalty_card": "String - Penalty card received by the starting player (supported values: `yellow_card`, `red_card`, `second_yellow_card`)",
"substitution_out": {
"time_original": "String - Time of the substitution out",
"in_game_time": {
"minute": "Integer - Minute of the substitution out",
"stoppage_minute": "Integer - Stoppage minute of the substitution out"
},
"bench_player_index": "Integer - Reference index to the player in `lineups.bench` who substituted in"
},
"stats": [
{
"title": "String - Title of the starting player stat",
"value": "String - Value of the starting player stat",
"substitution_out_value": "String - Value of the starting player substitution out stat",
},
...
],
},
...
],
"bench": [
{
"name": "String - Name of the bench player",
"short_name": "String - Short name of the bench player",
"position": "String - Position of the bench player",
"jersey_number": "String - Jersey number of the bench player",
"age": "Integer - Age of the bench player",
"thumbnail": "String - Thumbnail of the bench player",
"kgmid": "String - Knowledge graph ID of the bench player",
"rating": "Numeric - Game rating of the bench player",
"other_team": {
"name": "String - Name of the bench player's other team (national team or club)",
"thumbnail": "String - Thumbnail of the bench player's other team (national team or club)",
}
"goals": "Integer - Number of goals scored by the bench player",
"assists": "Integer - Number of bench player's assists",
"own_goal": "Boolean - Flag indicating the bench player scored at least one own goal",
"penalty_card": "String - Penalty card received by the bench player (supported values: `yellow_card`, `red_card`, `second_yellow_card`)",
"substitution_in": {
"time_original": "String - Time of the substitution in",
"in_game_time": {
"minute": "Integer - Minute of the substitution in",
"stoppage_minute": "Integer - Stoppage minute of the substitution in"
},
"starter_player_index": "Integer - Reference index to the player in `lineups.starters` who substituted out",
"bench_player_index": "Integer - Reference index to the player in `lineups.bench` who substituted out"
},
"substitution_out": {
"time_original": "String - Time of the substitution out",
"in_game_time": {
"minute": "Integer - Minute of the substitution out",
"stoppage_minute": "Integer - Stoppage minute of the substitution out"
},
"bench_player_index": "Integer - Reference index to the player in `lineups.bench` who substituted in"
},
"stats": [
{
"title": "String - Title of the bench player stat",
"value": "String - Value of the bench player stat",
"substitution_in_value": "String - Value of the bench player substitution in stat",
"substitution_out_value": "String - Value of the bench player substitution out stat",
},
...
],
},
...
],
"manager": {
"name": "String - Name of the team manager",
"short_name": "String - Short name of the team manager",
"kgmid": "String - Knowledge graph ID of the team manager"
},
"formation": {
"layout": "String - Formation layout of the team",
"starter_lines": "Array[Array[Integer]] - Groups of reference indexes to the players in `lineups.starters` describing the starter lines"
}
]
},
// basketball, baseball, American football, ice hockey
"box_scores": {
"teams": [
{
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"groups": [
{
"title": "String - Title of the stat group",
"player_groups": [
{
"type": "String - Type of the player subgroup",
"players": [
{
"name": "String - Name of the player",
"short_name": "String - Short name of the player",
"position": "String - Position of the player",
"jersey_number": "String - Jersey number of the player",
"kgmid": "String - Knowledge graph ID of the player",
"stats": [
{
"type": "String - Google Sports internal stat identifier",
"title": "String - Title of the player stat",
"short_title": "String - Short title of the player stat",
"value": "String - Value of the player stat"
},
...
]
},
...
]
},
...
]
},
...
]
},
...
]
},
// American football
"game_leaders": {
"stats": [
{
"title": "String - Title of the stat",
"players": [
{
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"name": "String - Name of the player",
"short_name": "String - Short name of the player",
"jersey_number": "String - Jersey number of the player",
"position": "String - Position of the player",
"kgmid": "String - Knowledge graph ID of the player",
"value": "String - Value of the player stat",
"short_value": "String - Short value of the player stat",
},
...
]
},
...
]
},
"scoring_summary": {
"periods": [
{
"title": "String - Title of the game period",
"events": [
{
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"title": "String - Title of the game event",
"snippet": "String - Description of the game event",
"time_original": "String - Time of the game event",
"in_game_time": {
"minute": "Integer - Minute of the game event",
"second": "Integer - Second of the game event"
},
"scores": [
{
"team_index": "Integer - Reference index to the team in `info.teams` (values: `0` or `1`)",
"score": "Integer - Score of the team (if convertible to integer)",
"score_original": "String - Original score of the team",
"highlighted": "Boolean - Flag indicating the team score is highlighted"
},
...
]
},
...
]
}
]
}
}
}