---
updatedAt: 2026-09-01T10:23:10.000Z
agentTools:
  siteIndex: https://developer.sportradar.com/llms.txt
  projectIndex: https://developer.sportradar.com/basketball/llms.txt
---

# Historical Data

The API keeps completed seasons fully retrievable: schedules, standings, rankings, leaders, statistics, and complete game detail down to play-by-play. This page covers how far back the data reaches and how to retrieve it.

<br />

***

## How Far Back the Data Reaches

The <Anchor label="Seasons" target="_blank" href="ref:g-league-seasons">Seasons</Anchor> catalog reaches back to 2017, but complete game data begins with the **2018-19 season**. The 2017 entries are catalog stubs: they carry no dates or status, and their schedules return no games. The boundary, and what a stub year returns:

```json Seasons (json)
{
  "league": {
    "id": "ac79301f-9b1a-4e72-a4cb-230d4418ae08",
    "name": "NBA G League",
    "alias": "NBDL"
  },
  "seasons": [
    {
      "id": "35862c75-5fc6-4f71-bf62-b8c606350906",
      "year": 2017,
      "type": {
        "code": "PRE",
        "name": "Pre-season"
      }
    },
    {
      "id": "11ebc3da-3f7a-438f-b6db-fbdff77cad54",
      "year": 2017,
      "type": {
        "code": "PST",
        "name": "Post-season"
      }
    },
    {
      "id": "e02125a9-3c57-43db-86e9-8b34578f74fe",
      "year": 2017,
      "type": {
        "code": "REG",
        "name": "Regular Season"
      }
    },
    {
      "id": "4d2d2b2c-5326-4bd0-abbf-1279dc8e2f5c",
      "year": 2018,
      "start_date": "2018-11-02",
      "end_date": "2019-03-23",
      "status": "closed",
      "type": {
        "code": "REG",
        "name": "Regular Season"
      }
    }
  ]
}
```
```json Schedule (2017, json)
{
  "league": {
    "id": "ac79301f-9b1a-4e72-a4cb-230d4418ae08",
    "name": "NBA G League",
    "alias": "NBDL"
  },
  "season": {
    "id": "e02125a9-3c57-43db-86e9-8b34578f74fe",
    "year": 2017,
    "type": "REG"
  },
  "games": []
}
```

From 2018-19 onward the record is complete. Treat a season as available when its schedule returns games with scores, not merely because the catalog lists it.

> ⚠️ **Season types apply to history too.** A full G League year means separate `SC`, `SCC`, `REG`, and `PST` data sets; backfill each phase you need. See [G League Fundamentals](https://developer.sportradar.com/basketball/docs/g-league-ig-fundamentals) for the type list.

<br />

***

## Data Updates

* Completed games are final once their status reads `closed`
* Late corrections to closed games surface through the `results` section of the daily change log, so a synced archive stays current without re-crawling; the workflow is on [Monitoring Data Changes](https://developer.sportradar.com/basketball/docs/g-league-ig-daily-change-log)
* The catalog gains new seasons as they are scheduled

<br />

***

## Data Accessibility

<br />

### Season-scoped feeds

Every season-scoped feed (Schedule, Standings, Rankings, League Leaders, Seasonal Statistics, Series Schedule) accepts any listed `season_year` from 2018 onward. The 2018 regular season returns 681 games with final scores; its opening game:

```http
GET https://api.sportradar.com/nbdl/trial/v8/en/games/2018/REG/schedule.json
x-api-key: YOUR_API_KEY
```
```json Schedule (2018 REG, json)
{
  "league": {
    "id": "ac79301f-9b1a-4e72-a4cb-230d4418ae08",
    "name": "NBA G League",
    "alias": "NBDL"
  },
  "season": {
    "id": "4d2d2b2c-5326-4bd0-abbf-1279dc8e2f5c",
    "year": 2018,
    "type": "REG"
  },
  "games": [
    {
      "id": "2a7917b6-5418-4c89-b732-26f92dfad3af",
      "status": "closed",
      "coverage": "full",
      "scheduled": "2018-11-02T23:00:00+00:00",
      "home_points": 92,
      "away_points": 95,
      "track_on_court": true,
      "reference": "2021800002",
      "time_zones": {
        "venue": "US/Eastern",
        "home": "US/Eastern",
        "away": "US/Eastern"
      },
      "venue": {
        "id": "f70b605a-7d35-4127-b11e-d4390edb3a44",
        "name": "Portland Exposition Building",
        "capacity": 3000,
        "address": "239 Park Avenue",
        "city": "Portland",
        "state": "ME",
        "zip": "04102",
        "country": "USA",
        "location": {
          "lat": "43.6564",
          "lng": "-70.2773"
        }
      },
      "home": {
        "name": "Maine Red Claws",
        "alias": "MNE",
        "id": "5902b793-b75b-4707-b065-3a76f0314715",
        "reference": "1612709915"
      },
      "away": {
        "name": "Westchester Knicks",
        "alias": "WES",
        "id": "4dc54726-0738-413b-98b1-5b90dfe99aae",
        "reference": "1612709919"
      }
    }
  ]
}
```

Ancillary fields fill in over time: broadcast listings appear on recent seasons, while the 2018 season's schedule carries none.

<br />

### Game-level detail

Completed games keep their full detail. The 2018-19 season opener still serves its complete Game Summary (shown with the statistics reduced to a selection of fields and the player lists omitted), and its Play-by-Play returns 475 events across four quarters, including entries in its `deleted_events` list:

```http
GET https://api.sportradar.com/nbdl/trial/v8/en/games/2a7917b6-5418-4c89-b732-26f92dfad3af/summary.json
x-api-key: YOUR_API_KEY
```
```json Game Summary (2018-19 opener, json)
{
  "id": "2a7917b6-5418-4c89-b732-26f92dfad3af",
  "status": "closed",
  "coverage": "full",
  "scheduled": "2018-11-02T23:00:00+00:00",
  "attendance": 1726,
  "duration": "2:15",
  "lead_changes": 3,
  "times_tied": 5,
  "home": {
    "id": "5902b793-b75b-4707-b065-3a76f0314715",
    "name": "Red Claws",
    "market": "Maine",
    "alias": "MNE",
    "points": 92,
    "statistics": {
      "points": 92,
      "field_goals_made": 35,
      "field_goals_att": 83,
      "field_goals_pct": 42.2,
      "three_points_made": 4,
      "three_points_att": 25,
      "three_points_pct": 16.0,
      "free_throws_made": 18,
      "free_throws_att": 24,
      "free_throws_pct": 75.0,
      "assists": 10,
      "steals": 7,
      "blocks": 5,
      "fast_break_pts": 8,
      "bench_points": 23,
      "biggest_lead": 3,
      "effective_fg_pct": 44.6
    }
  },
  "away": {
    "id": "4dc54726-0738-413b-98b1-5b90dfe99aae",
    "name": "Knicks",
    "market": "Westchester",
    "alias": "WES",
    "points": 95
  }
}
```

<br />

### Date-scoped feeds

The Daily Schedule, Daily Transfers, and Daily Change Log accept past dates (US Eastern; see [G League API Basics](https://developer.sportradar.com/basketball/docs/g-league-ig-api-basics)), so day-by-day history can be reconstructed after the fact; [Monitoring Data Changes](https://developer.sportradar.com/basketball/docs/g-league-ig-daily-change-log) uses this to backfill missed days.

<br />

***

## Historical Retrieval Workflow

<div style={{border: "1px solid #C5CAE9", borderRadius: "12px", overflow: "hidden", margin: "4px 0 8px"}}>
  <div style={{background: "linear-gradient(90deg, #1A237E 0%, #283593 60%, #3949AB 100%)", color: "#FFFFFF", padding: "10px 18px", display: "flex", alignItems: "baseline", justifyContent: "space-between", flexWrap: "wrap", gap: "4px 12px"}}>
    <span style={{fontWeight: 700, fontSize: "14px", letterSpacing: "0.02em"}}>Historical Retrieval Workflow</span>
    <span style={{fontSize: "12px", opacity: 0.8}}>Catalog, per-season pulls, per-game detail, past dates</span>
  </div>
  <div style={{padding: "12px 18px", background: "#FFFFFF", display: "flex", flexDirection: "column", gap: "10px"}}>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "112px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>Catalog</span>
      <span style={{display: "inline-block", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>Seasons</span>
      <span style={{color: "#9FA8DA", fontWeight: 700, fontSize: "14px"}}>→</span>
      <span style={{display: "inline-block", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, whiteSpace: "nowrap"}}>seasons from 2018-19 onward</span>
    </div>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "112px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>Per season</span>
      <span style={{display: "inline-block", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>Schedule</span>
      <span style={{display: "inline-block", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>Standings</span>
      <span style={{display: "inline-block", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>Rankings</span>
      <span style={{display: "inline-block", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>League Leaders</span>
      <span style={{display: "inline-block", padding: "4px 10px", borderRadius: "999px", border: "1px solid #E8EAF6", background: "#FAFAFA", color: "#6B7280", fontSize: "12px", whiteSpace: "nowrap"}}>any listed season_year + season_type</span>
    </div>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "112px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>Per game</span>
      <span style={{display: "inline-block", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>Game Summary</span>
      <span style={{display: "inline-block", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>Game Boxscore</span>
      <span style={{display: "inline-block", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>Game Play-by-Play</span>
      <span style={{display: "inline-block", padding: "4px 10px", borderRadius: "999px", border: "1px solid #E8EAF6", background: "#FAFAFA", color: "#6B7280", fontSize: "12px", whiteSpace: "nowrap"}}>full detail for completed games</span>
    </div>
    <div style={{display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center"}}>
      <span style={{minWidth: "112px", fontSize: "12px", color: "#6B7280", fontWeight: 700}}>Past dates</span>
      <span style={{display: "inline-block", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>Daily Schedule</span>
      <span style={{display: "inline-block", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>Daily Transfers</span>
      <span style={{display: "inline-block", padding: "4px 10px", borderRadius: "999px", border: "1px solid #C5CAE9", background: "#F3F6FA", color: "#1A237E", fontSize: "12.5px", fontWeight: 600, fontFamily: "SFMono-Regular, Menlo, Consolas, monospace", whiteSpace: "nowrap"}}>Daily Change Log</span>
      <span style={{display: "inline-block", padding: "4px 10px", borderRadius: "999px", border: "1px solid #E8EAF6", background: "#FAFAFA", color: "#6B7280", fontSize: "12px", whiteSpace: "nowrap"}}>US Eastern dates, queryable after the fact</span>
    </div>
  </div>
  <div style={{padding: "8px 18px", borderTop: "1px solid #E8EAF6", fontSize: "12px", color: "#6B7280", background: "#FAFAFA"}}>Treat a season as available when its schedule returns games with scores, not merely because the catalog lists it.</div>
</div>