Integration GuidesReference Docs
Coverage MatrixDocumentationChange LogLog InContact Us
Integration Guides

Pulling Schedules

Schedule feeds are the backbone of an NCAA Football integration: they carry every game's ID, participants, venue, broadcast, weather, status, and (once games finish) quarter-by-quarter scoring. Most other scenarios start here; to retrieve live game data, for instance, you first pull a schedule feed to obtain the game IDs for the games you are targeting. This scenario confirms the season, loads its schedule, keeps the near-term window fresh, and reconciles schedule changes. Responses are shown trimmed to representative slices.

This scenario is commonly used to:

  • Populate season and week schedule views
  • Build team-specific schedules by filtering on team ID
  • Discover game IDs for boxscore, play-by-play, and statistics drilldowns
  • Show final scores and quarter splits without polling game feeds
  • Detect postponements, reschedules, and deleted games
  • Lay out postseason matchups from the Tournament Schedule


Relevant Feeds

FeedScopeUse
Season Schedule{season_year}/{season_type}Complete schedule for a given season (past, current, or upcoming), including venue and broadcast info and scoring results by quarter
Weekly Scheduleseason + {week_number}One week of a season, including venue, weather conditions, broadcast info, and scoring results by quarter, plus the deleted_games list
Current Season SchedulenoneThe current season without knowing the year
Current Week SchedulenoneThe current week without tracking week numbers
Tournament Schedule{tournament_id}Date, time, location, and other event details for every matchup in a given tournament
SeasonsnoneSeason catalog: the prerequisite for every season-scoped feed


High-Level Workflow

Schedule WorkflowLoad the season once, then refresh the near-term window
BootstrapSeasonsSeason Schedulestore game and team IDs
RefreshCurrent Week ScheduleWeekly Schedulescores fill in when a game reaches complete
PostseasonTournament Schedulematchups by round; teams fill in as berths are set
Reconciledeleted_gamesdrop listed IDs; a postponed game's makeup arrives as a new ID
MonitorDaily Change Logrefetch the week that carries a changed game
Dashed pill = optional depth. Cadences come from Update Frequencies.

The strip below is the same season as a shape: how many games each week holds, how the late weeks turn from regular games into championships, bowls, and playoff rounds, and which single segment the Current Week Schedule serves at any moment.

SEASON SHAPEa college football season, week by week, from the Season Schedule feed
REG · weeks 1 to 21 · 1,689 games (2025)
142
1 
131
2 
125
3 
116
4 
107
5 
108
6 
113
7 
112
8 
113
9 
110
10 
115
11 
122
12 
124
13 
78
14p
18
15p
7
16b
13
17p
16
18 
16
19p
2
20 
1
21 
regularconference championshipbowlplayoffCurrent Week Schedule window
Bars are games per week, colored by the week's most common game_type; a tag names the other types the week carries (cc = conference championship, b = bowl, p = playoff). Season Schedule returns the whole strip; Weekly Schedule returns one segment; Current Week Schedule returns the outlined segment and rolls forward each week. Conference championships arrive in week 15, bowls from week 16, and playoff games from week 14; the Tournament List names the brackets they belong to.


Integration Steps


1. Confirm the season

Every season-scoped schedule feed takes a {season_year}/{season_type} pair, so start from the Seasons catalog to confirm which seasons and season types are on file:

GET https://api.sportradar.com/ncaafb/trial/v7/en/league/seasons.json
x-api-key: YOUR_API_KEY

To avoid confusion and ensure you're accessing available data, refer to our Seasons feed. This resource lists all the seasons for which we have data.

For example: To ensure data availability for future seasons, such as a schedule in advance of when a season begins, first check the Seasons feed to verify that data for that specific season is already provided.

Starting with this feed can prevent unnecessary errors and streamline your data retrieval process.

📘

Schedule Releases

Schedules in the NCAAFB API are typically released by May each year.


2. Load the season

Pull the Season Schedule for the season and type you cover; it returns past, current, and upcoming seasons alike. The response nests weeks[], each with games[], and every game carries venue and broadcast info and scoring results by quarter. Store the game IDs, team IDs, and scheduled times:

GET https://api.sportradar.com/ncaafb/trial/v7/en/games/2025/REG/schedule.json
x-api-key: YOUR_API_KEY
{
    "id": "754e4990-efc7-11ef-bb2a-5d2d22b9215e",
    "year": 2025,
    "type": "REG",
    "name": "REG",
    "weeks": [
        {
            "id": "c6cd2df1-2ab8-4b0d-992b-1cfacdd81dfd",
            "sequence": 1,
            "title": "1",
            "games": [
                {
                    "id": "ff0532c8-cc0d-473a-b47f-421eccf4d427",
                    "status": "closed",
                    "scheduled": "2025-08-23T16:00:00+00:00",
                    "attendance": 47221,
                    "entry_mode": "LDE",
                    "coverage": "full",
                    "sr_id": "sr:match:59689321",
                    "neutral_site": true,
                    "game_type": "regular",
                    "conference_game": true,
                    "duration": "3:22",
                    "expected_latency": 25,
                    "venue": {
                        "id": "c98ace28-f447-46f4-a0d1-af3b94e00cc3",
                        "name": "Aviva Stadium",
                        "city": "Dublin",
                        "country": "IRL",
                        "address": "62 Lansdowne Road",
                        "capacity": 49000,
                        "surface": "turf",
                        "roof_type": "outdoor"
                    },
                    "home": {
                        "id": "0dd26ea7-79fb-4ea8-bf48-7c31108e14a3",
                        "name": "Kansas State Wildcats",
                        "alias": "KSU",
                        "game_number": 1
                    },
                    "away": {
                        "id": "d335c726-44aa-4b69-8271-59d42d691cba",
                        "name": "Iowa State Cyclones",
                        "alias": "ISU",
                        "game_number": 1
                    },
                    "broadcast": {
                        "network": "ESPN",
                        "satellite": "206"
                    },
                    "time_zones": {
                        "venue": "Europe/London",
                        "home": "US/Central",
                        "away": "US/Central"
                    },
                    "weather": {
                        "condition": "Partly cloudy",
                        "humidity": 88,
                        "temp": 67,
                        "wind": {
                            "speed": 2,
                            "direction": "ESE"
                        }
                    },
                    "scoring": {
                        "home_points": 21,
                        "away_points": 24
                    }
                }
            ]
        }
    ]
}
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" charset="UTF-8" href="/xslt/football/schedule-v7.0.xsl"?>
<!-- Generation started @ 2026-09-01 09:00:01 +0000 -->
<season xmlns="http://feed.elasticstats.com/schema/football/schedule-v7.0.xsd" id="754e4990-efc7-11ef-bb2a-5d2d22b9215e" year="2025" type="REG" name="REG">
  <week id="c6cd2df1-2ab8-4b0d-992b-1cfacdd81dfd" sequence="1" title="1">
    <game id="ff0532c8-cc0d-473a-b47f-421eccf4d427" status="closed" scheduled="2025-08-23T16:00:00+00:00" attendance="47221" entry_mode="LDE" coverage="full" sr_id="sr:match:59689321" neutral_site="true" game_type="regular" conference_game="true" duration="3:22" expected_latency="25">
      <venue id="c98ace28-f447-46f4-a0d1-af3b94e00cc3" name="Aviva Stadium" city="Dublin" country="IRL" address="62 Lansdowne Road" capacity="49000" surface="turf" roof_type="outdoor">
        <location lat="53.3353" lng="-6.2284"/>
      </venue>
      <home id="0dd26ea7-79fb-4ea8-bf48-7c31108e14a3" name="Kansas State Wildcats" alias="KSU" game_number="1"/>
      <away id="d335c726-44aa-4b69-8271-59d42d691cba" name="Iowa State Cyclones" alias="ISU" game_number="1"/>
      <broadcast network="ESPN" satellite="206"/>
      <time_zones venue="Europe/London" home="US/Central" away="US/Central"/>
      <weather condition="Partly cloudy" humidity="88" temp="67">
        <wind speed="2" direction="ESE"/>
      </weather>
      <scoring home_points="21" away_points="24">
        <quarter id="a439d3ee-21ac-4b5b-aef2-59ab88e11b94" number="1" sequence="1" home_points="0" away_points="7"/>
        <quarter id="0d94bab8-f0f9-4bd8-b0b4-f946f81d5e9a" number="2" sequence="2" home_points="7" away_points="0"/>
        <quarter id="7bc75bea-fccf-4b1f-99c0-f93c3b5dae0e" number="3" sequence="3" home_points="0" away_points="7"/>
        <quarter id="f994009f-fb21-4fd7-a0ae-1781a0d9218e" number="4" sequence="4" home_points="14" away_points="10"/>
      </scoring>
    </game>
    <!-- ... omitted for brevity -->
    <!-- ... omitted for brevity -->
  </week>
  <!-- ... omitted for brevity -->
</season>
<!-- Generation ended @ 2026-09-01 09:00:07 +0000 -->

The response is shown trimmed to the opening game of Week 1; the JSON slice omits the per-quarter scoring.periods entries that the XML tab shows as quarter elements.

You can filter season schedule data by team ID to generate team-specific schedules, such as the example below for the Alabama Crimson Tide. Club marks are placeholders for your own or licensed assets:

ALABAMA SLATE2025 REG · Season Schedule
WK 1@FSUFlorida State SeminolesclosedL 17-31
WK 2vsULMLouisiana-Monroe WarhawksclosedW 73-0
WK 3vsWISWisconsin BadgersclosedW 38-14
WK 5@UGAGeorgia BulldogsclosedW 24-21
Filter the Season Schedule by team id to build a slate; game ids key every drilldown.
📸

Accessing Headshots and Team Logos

To access team logos and player headshots, use the Images API.

When you do not need to know the season year, the Current Season Schedule returns the current season in the same shape:

GET https://api.sportradar.com/ncaafb/trial/v7/en/games/current_season/schedule.json
x-api-key: YOUR_API_KEY

3. Refresh the near-term window

To pull schedule data one week at a time, and reduce payload size compared to the entire season, use the Weekly Schedule. It returns past, current, and upcoming weeks for any available season, including venue, weather conditions, broadcast info, and scoring results by quarter. {week_number} is a zero-padded string (01 through 21):

GET https://api.sportradar.com/ncaafb/trial/v7/en/games/2025/REG/02/schedule.json
x-api-key: YOUR_API_KEY
{
    "id": "754e4990-efc7-11ef-bb2a-5d2d22b9215e",
    "year": 2025,
    "type": "REG",
    "name": "REG",
    "week": {
        "id": "73eacecf-7726-4de3-9419-3b821e998a83",
        "sequence": 2,
        "title": "2",
        "games": [
            {
                "id": "fefcd061-2c97-4356-bf87-d11b398148fc",
                "status": "closed",
                "scheduled": "2025-09-05T23:00:00+00:00",
                "attendance": 48717,
                "entry_mode": "LDE",
                "coverage": "full",
                "sr_id": "sr:match:59838584",
                "game_type": "regular",
                "conference_game": false,
                "duration": "3:33",
                "expected_latency": 25,
                "venue": {
                    "id": "e0947a41-9e85-488e-bcb3-6682dd56283e",
                    "name": "L&N Federal Credit Union Stadium",
                    "city": "Louisville",
                    "state": "KY",
                    "country": "USA",
                    "zip": "40209",
                    "address": "2800 S Floyd Street",
                    "capacity": 61000,
                    "surface": "artificial",
                    "roof_type": "outdoor"
                },
                "home": {
                    "id": "1e8edb90-ea5e-4663-9a65-a30e51583711",
                    "name": "Louisville Cardinals",
                    "alias": "LOU",
                    "game_number": 2
                },
                "away": {
                    "id": "b59ad9ae-b8ec-4f8e-9bd2-ec5b4af41e57",
                    "name": "James Madison Dukes",
                    "alias": "JMU",
                    "game_number": 2
                },
                "broadcast": {
                    "network": "ESPN2",
                    "satellite": "209"
                },
                "time_zones": {
                    "venue": "US/Eastern",
                    "home": "US/Eastern",
                    "away": "US/Eastern"
                },
                "weather": {
                    "condition": "Overcast ",
                    "humidity": 54,
                    "temp": 80,
                    "wind": {
                        "speed": 9,
                        "direction": "NW"
                    }
                },
                "scoring": {
                    "home_points": 28,
                    "away_points": 14
                }
            }
        ]
    }
}
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" charset="UTF-8" href="/xslt/football/schedule-v7.0.xsl"?>
<!-- Generation started @ 2026-09-01 09:10:09 +0000 -->
<season xmlns="http://feed.elasticstats.com/schema/football/schedule-v7.0.xsd" id="754e4990-efc7-11ef-bb2a-5d2d22b9215e" year="2025" type="REG" name="REG">
  <week id="73eacecf-7726-4de3-9419-3b821e998a83" sequence="2" title="2">
    <game id="fefcd061-2c97-4356-bf87-d11b398148fc" status="closed" scheduled="2025-09-05T23:00:00+00:00" attendance="48717" entry_mode="LDE" coverage="full" sr_id="sr:match:59838584" game_type="regular" conference_game="false" duration="3:33" expected_latency="25">
      <venue id="e0947a41-9e85-488e-bcb3-6682dd56283e" name="L&amp;N Federal Credit Union Stadium" city="Louisville" state="KY" country="USA" zip="40209" address="2800 S Floyd Street" capacity="61000" surface="artificial" roof_type="outdoor">
        <location lat="38.2064" lng="-85.7583"/>
      </venue>
      <home id="1e8edb90-ea5e-4663-9a65-a30e51583711" name="Louisville Cardinals" alias="LOU" game_number="2"/>
      <away id="b59ad9ae-b8ec-4f8e-9bd2-ec5b4af41e57" name="James Madison Dukes" alias="JMU" game_number="2"/>
      <broadcast network="ESPN2" satellite="209"/>
      <time_zones venue="US/Eastern" home="US/Eastern" away="US/Eastern"/>
      <weather condition="Overcast " humidity="54" temp="80">
        <wind speed="9" direction="NW"/>
      </weather>
      <scoring home_points="28" away_points="14">
        <quarter id="07fb0d07-6e5b-4bc8-b8de-ebe1f543f3ad" number="1" sequence="1" home_points="0" away_points="7"/>
        <quarter id="59fadea3-a174-4e83-9fe1-fe8d08040fea" number="2" sequence="2" home_points="6" away_points="0"/>
        <quarter id="e2d8cd8c-685a-4583-b47a-b00720d634da" number="3" sequence="3" home_points="8" away_points="7"/>
        <quarter id="67a69dd7-65a0-4f5a-b1f8-7f2639cf8977" number="4" sequence="4" home_points="14" away_points="0"/>
      </scoring>
    </game>
    <!-- ... omitted for brevity -->
    <!-- ... omitted for brevity -->
  </week>
</season>
<!-- Generation ended @ 2026-09-01 09:10:09 +0000 -->

The response is shown trimmed to one game of Week 2.

During the season, the Current Week Schedule keeps the active window fresh without tracking week numbers; it returns the week in play in the same week shape:

GET https://api.sportradar.com/ncaafb/trial/v7/en/games/current_week/schedule.json
x-api-key: YOUR_API_KEY

4. Read scores from the schedule

Game and period scores populate in the schedule feeds when a game reaches complete; quarter splits ride scoring.periods (the quarter elements under scoring in XML). For a scores view, the schedule alone is enough; reserve the game feeds on the Tracking Live Games page for live windows and drive-level detail.


5. Pull the Tournament Schedule

The Tournament Schedule provides the date, time, location, and other event details for every matchup taking place in a given tournament, keyed by the tournament ID from the Tournament List:

GET https://api.sportradar.com/ncaafb/trial/v7/en/tournaments/77b49a1b-e3a0-4833-9ab0-799367dd97b1/schedule.json
x-api-key: YOUR_API_KEY

For tracking tournaments and building brackets, see the Tracking Playoffs integration scenario.


6. Reconcile deletions and reschedules

When a game is removed from coverage (for example, a duplicate or erroneously created game), it stays visible so that you can reconcile it:

  • The game remains available in game-level feeds (Boxscore, Play-by-Play, Roster, Statistics) with a deleted: true flag.
  • Season and Weekly Schedule responses carry a top-level deleted_games array listing the IDs of games deleted from that schedule.
  • The Daily Change Log adds a deleted_games node on days when a deletion occurs.

To keep your system consistent:

  • Store deleted game IDs so downstream processing (statistics, standings, displays) suppresses them rather than treating a previously ingested game as still active.
  • Reconcile the deleted_games array against your stored games on each schedule pull.
  • A postponed game keeps its ID and status; its makeup game arrives under a new game ID, so match the makeup by teams and week and keep re-pulling the affected week until it appears (the status flows are on the Game Status Workflow page).

7. Watch the Daily Change Log for schedule changes

The Daily Change Log lists IDs and timestamps for schedules, teams, players, results, and game stats that were modified on a given date, so you can pick up schedule changes without re-pulling every week. For this scenario, act on the game entries and the deleted_games node: refetch the Weekly Schedule for each week that carries a changed game, and apply the deletion handling from step 6. The feed's mechanics, entity types, and polling cadence are on the Monitoring Data Changes page.



Common Use Cases

  • Season view: Season Schedule once, refreshed on the Update Frequencies cadence
  • Team schedule page: the Season Schedule filtered by team ID, as in the Alabama slate above
  • This week's slate: Current Week Schedule on a timer
  • Scores ticker: Current Week Schedule plus status-driven game-feed polling during game windows, as described on the Tracking Live Games page
  • Postseason bracket: Tournament Schedule with the Tracking Playoffs page


Best Practices

  • Key stored games by ID and update rows in place; never key on kickoff time or matchup
  • Reconcile deleted_games on every Season or Weekly Schedule pull, and suppress deleted IDs downstream
  • Treat time-tbd kickoff times as provisional
  • Let the Daily Change Log drive off-cycle refreshes so you capture schedule changes without making unnecessary calls; see Monitoring Data Changes
  • Depending on the endpoint, schedule data may update hourly or in real time; the Update Frequencies page carries the recommended pull interval for each schedule feed, so align your polling with it

Did this page help you?