Documentation / Games
Upcoming games
GET /v1/games/upcomingFree key and upPaged, 50 a page
Scheduled games from today over the next two days, optionally for one league.
GET
https://api.icehockeyapi.com/v1/games/upcominghttps://api.icehockeyapi.com/v1/games/upcoming?per_page=3curl "https://api.icehockeyapi.com/v1/games/upcoming?per_page=3" \ -H "X-API-Key: YOUR_KEY"
200 OKExample answer from the data, 12 Oct
{
"data": [
{
"id": "gm_a39695k0",
"date": "2026-10-12",
"start_time": "2026-10-12T10:00:00Z",
"league": {
"id": "lg_g8ks82ha",
"name": "MHL"
},
"season": {
"id": "ss_k6m0n6es",
"label": "2026-27"
},
"stage": "regular",
"status": "scheduled",
"home_team": {
"id": "tm_n337tjyv",
"name": "AKM-Junior",
"short_name": null,
"country": "Russia"
},
"away_team": {
"id": "tm_vmftvh5y",
"name": "Tolpar",
"short_name": null,
"country": "Russia"
},
"home_goals": null,
"away_goals": null,
"ended_in": null,
"venue": {
"id": "vn_qhadn3j5",
"name": "Tula",
"city": null,
"country": "Russia"
},
"attendance": null
},
{
"id": "gm_n1vcars0",
"date": "2026-10-12",
"start_time": "2026-10-12T11:30:00Z",
"league": {
"id": "lg_r92era2x",
"name": "KHL"
},
"season": {
"id": "ss_ppv6ze7r",
"label": "2026-27"
},
"stage": "regular",
"status": "scheduled",
"home_team": {
"id": "tm_5kz2bqyf",
"name": "Salavat Ufa",
"short_name": null,
"country": "Russia"
},
"away_team": {
"id": "tm_gkykh37t",
"name": "Niznekamsk",
"short_name": null,
"country": "Russia"
},
"home_goals": null,
"away_goals": null,
"ended_in": null,
"venue": {
"id": "vn_xpphqp3f",
"name": "Ufa",
"city": null,
"country": "Russia"
},
"attendance": null
},
{
"id": "gm_csme34nr",
"date": "2026-10-12",
"start_time": "2026-10-12T12:15:00Z",
"league": {
"id": "lg_pmd5f6q0",
"name": "VHL"
},
"season": {
"id": "ss_vtz2s7ve",
"label": "2026-27"
},
"stage": "regular",
"status": "scheduled",
"home_team": {
"id": "tm_sqxbhx18",
"name": "HC Norilsk",
"short_name": null,
"country": "Russia"
},
"away_team": {
"id": "tm_78phpemv",
"name": "Perm",
"short_name": null,
"country": "Russia"
},
"home_goals": null,
"away_goals": null,
"ended_in": null,
"venue": null,
"attendance": null
}
],
"meta": {
"count": 3,
"next_cursor": "eyJvIjozLCJuIjozfQ",
"page": 1,
"per_page": 3,
"total": 93,
"total_pages": 31,
"next_page": 2,
"prev_page": null,
"plan": "Complete"
}
}Run works once the API is live; the code above works now.
Parameters
| Name | In | Type | What it does |
|---|---|---|---|
league_id | query | id | A league, from /v1/leagues. |
page | query | int | The page, from 1. |
per_page | query | int | Records a page, default 50, at most 200. |
cursor | query | string | meta.next_cursor from the previous answer. |
Returns
| Field | Type |
|---|---|
id | string |
date | string |
start_time | string |
league | object |
league.id | string |
league.name | string |
season | object |
season.id | string |
season.label | string |
stage | string |
status | string |
home_team | object |
home_team.id | string |
home_team.name | string |
home_team.short_name | null |
home_team.country | string |
away_team | object |
away_team.id | string |
away_team.name | string |
away_team.short_name | null |
away_team.country | string |
home_goals | null |
away_goals | null |
ended_in | null |
venue | object |
venue.id | string |
venue.name | string |
venue.city | null |
venue.country | string |
attendance | null |