Integration GuidesDocs
Coverage MatrixDocumentationChange LogLog InContact Us
Integration Guides

Tracking Live Races

Track races, leaderboards, and starting grids

This integration scenario explains how to track a NASCAR race in real time using the Sportradar NASCAR API. It covers how to follow a race from pre-race sessions through live competition and into post-race completion by combining schedule, leaderboard, and change log feeds.

This scenario is commonly used to:

  • Power live race dashboards
  • Display running order and lap data
  • Track practice and qualifying results
  • Monitor race status and timing changes
  • Drive notifications or in-race analytics


Overview

Live race tracking in NASCAR is built around a single race.id discovered via the Schedule feed. That race ID is then reused across multiple feeds as the event progresses.

A typical race lifecycle includes:

  • Practice sessions
  • Qualifying
  • Race start and live competition
  • Delays, cautions, or postponements
  • Race completion

Each phase is represented by a dedicated feed or data section, allowing applications to progressively enrich the user experience as the race weekend unfolds.


Relevant Feeds

The following feeds are commonly used when tracking a live NASCAR race:

FeedPurpose
ScheduleDiscover race IDs, session timing, and race status. To monitor playoff races, see the NASCAR Playoffs integration scenario.
Entry ListRetrieve the list of drivers and cars entered to attempt to qualify for a race
Practice LeaderboardRetrieve non-competitive practice session results used for car setup and performance evaluation
Qualifying LeaderboardRetrieve competitive qualifying results that determine starting order and pole position
Starting GridDetermine official starting positions
Race LeaderboardTrack live race position, laps, and performance
Daily Change LogMonitor race status and timing changes


High-Level Workflow

A typical live race integration follows this flow:

Schedule → Entry List → Practice → Qualifying → Grid → Race Leaderboard → Status Updates

  1. Discover the race and its race.id
  2. Retrieve pre-race roster information
  3. Track pre-race sessions (practice and qualifying)
  4. Determine the starting grid
  5. Monitor live race data
  6. Respond to race status changes


Integration Steps


1. Identify the Race to Track

Start by calling the Schedule feed for the current season to locate the race you want to track.

GET https://api.sportradar.com/nascar-ot3/mc/2025/races/schedule.json

From the schedule, capture:

  • race.id
  • Scheduled date and time
  • Race status
  • Practice and qualifying session timing

The race.id is required for all downstream leaderboard feeds.

Determine practice and qualifying availability

Practice and qualifying sessions are exposed directly within each race object in the Schedule feed. Practice sessions are represented by the practices[] array, while qualifying is indicated by the presence of qualifying_start_time and qualifying_status. A race only includes practice or qualifying if these fields are present in the race object.

You should inspect the schedule payloads before calling leaderboard feeds.

  {
          "id": "5fb60476-dd14-4efd-821a-dbc4656d58cb",
          "name": "DAYTONA 500",
          "status": "scheduled",
          "number": 1,
          "distance": 500,
          "laps": 200,
          "chase_race": false,
          "heat_race": false,
          "award_pole": true,
          "stage_count": 2,
          "stage_1_laps": 65,
          "stage_2_laps": 65,
          "stage_3_laps": 100,
          "parent_id": "a3dad4fc-112f-4aff-a261-c918182f7a42",
          "practices": [
            {
              "sequence": 1,
              "status": "scheduled",
              "start_time": "2026-02-11T15:00:00+00:00"
            },
            {
              "sequence": 2,
              "status": "scheduled",
              "start_time": "2026-02-13T22:35:00+00:00"
            },
            {
              "sequence": 3,
              "status": "scheduled",
              "start_time": "2026-02-14T20:00:00+00:00"
            }
          ],
          "qualifying_start_time": "2026-02-12T01:15:00+00:00",
          "qualifying_status": "scheduled",
          "scheduled": "2026-02-15T19:30:00+00:00",
          "start_time": "2026-02-15T19:30:00+00:00",
          "broadcast": {
            "network": "FOX",
            "radio": "MRN"
          },
          "prior_winner": {
            "first_name": "William",
            "last_name": "Byron",
            "full_name": "William Byron",
            "id": "c9bf58a8-66b6-4d75-a441-c13130ded990"
          }
        }
      ]
    },
🏎️

Practice and Qualifying Order

Practice and qualifying sessions are scheduled independently and may occur in varying orders depending on the event format and broadcast schedule.


2. Retrieve the Entry List (When Available)

Before tracking on-track sessions, applications may retrieve the Entry List feed using the race.id.

GET https://api.sportradar.com/nascar-ot3/mc/races/098a4538-0533-4d22-9cc4-81f21150132c/entry_list.json

The Entry List provides the pre-race roster of drivers and cars entered to attempt to qualify for the event, including:

  • Driver identity and eligibility flags (for example, points_eligible, in_chase)
  • Car number, team, owner, and manufacturer
  • One-to-one driver and car mappings for the race

This feed is typically available for events with practice and qualifying sessions, but may not be present for all event formats.

Common use cases include:

  • Building pre-race driver lists or previews
  • Validating which drivers may appear in practice and qualifying leaderboards
  • Handling part-time, non-points-eligible, or special-entry drivers
🏎️

Entry List vs. Starting Grid

Appearing in the Entry List does not guarantee a driver will start the race. Final participation and starting positions are confirmed via the Starting Grid feed.


3. Track Practice Sessions (When Available)

Practice data is available directly from the Practice Leaderboard using the race.id.

GET https://api.sportradar.com/nascar-ot3/mc/races/098a4538-0533-4d22-9cc4-81f21150132c/practices.json

The Practice Leaderboard provides:

  • Multiple practice sessions (via sequence)
  • Driver positions per session
  • Lap times and speeds
  • Laps completed
  • Car, team, and driver metadata

Practice data helps applications:

  • Show early performance trends
  • Highlight fastest drivers
  • Prepare pre-race insights before qualifying

Not all races include practice sessions. Exhibition events, special formats, or schedule changes may result in practice being omitted or canceled. Your integration should check for practice availability in the Schedule feed and always evaluate the session status before displaying results.


4. Track Qualifying Results (When Available)

Qualifying results are retrieved using the Qualifying Leaderboard feed with the same race.id.

GET https://api.sportradar.com/nascar-ot3/mc/races/098a4538-0533-4d22-9cc4-81f21150132c/qualifying.json

The Qualifying Leaderboard provides:

  • Final qualifying order
  • Fastest lap times and speeds
  • Round-by-round qualifying performance
  • Qualifying start and end times
  • Broadcast metadata

Some qualifying formats include multiple rounds, which are represented in the rounds array for each driver.

Qualifying data is typically used to:

  • Display provisional or final starting order
  • Power pre-race graphics
  • Validate pole awards (award_pole)

Not all races include a qualifying session. If qualifying is not scheduled or is replaced by an alternate format, this feed may not return results. Applications should treat qualifying data as optional and rely on the Starting Grid feed for final lineup confirmation.


5. Retrieve the Starting Grid

Once qualifying is complete, call the Starting Grid feed to retrieve the official race lineup.

GET https://api.sportradar.com/nascar-ot3/mc/races/098a4538-0533-4d22-9cc4-81f21150132c/starting_grid.json

The Starting Grid feed reflects:

  • Final starting positions
  • Withdrawals or substitutions
  • Grid adjustments not reflected in qualifying alone

This feed should be treated as the authoritative source for starting positions.


6. Track the Live Race

During the race, poll the Race Leaderboard feed using the race.id.

GET https://api.sportradar.com/nascar-ot3/mc/races/098a4538-0533-4d22-9cc4-81f21150132c/results.json

The Race Leaderboard provides live race data such as:

  • Current running order
  • Laps completed and laps led
  • Position changes
  • Driver and car status
  • Race condition and flags

As the race progresses, the race status will typically move through:

  • scheduled
  • initialized
  • pre-race
  • warmup
  • inprogress
  • delayed (if applicable)
  • complete
  • closed

Practice and qualifying completion does not affect the race status, which remains scheduled until the race itself begins. Your application should always rely on the Race Leaderboard for live performance data rather than extrapolating from prior laps. See the Race Status Workflow guide for more information.


7. Monitor Status and Timing Changes

Race timing and status can change due to weather, cautions, or operational decisions.

Key fields to monitor include:

  • status
  • scheduled
  • start_time
  • end_time

Use the Daily Change Log to detect updates efficiently and reduce unnecessary polling of leaderboard feeds.

GET https://api.sportradar.com/nascar-ot3/2025/02/17/changes.json

The Schedule feed is the source of truth for timing and structure, while the Race Leaderboard is the source of truth for live race state and performance.



Common Use Cases

Tracking a live race supports many platform features, including:

  • Live race dashboards
  • Second-screen experiences
  • In-race alerts and notifications
  • Performance analytics and comparisons
  • Broadcast companion applications

Best Practices

  • Always discover race.id via the Schedule feed
  • Use the Entry List to establish the authoritative pre-race driver roster
  • Track practice and qualifying separately from race data
  • Do not assume qualifying equals starting order
  • Cache leaderboard data responsibly and poll according to update frequency
  • Use the Daily Change Log to detect changes efficiently
  • Treat leaderboard feeds as authoritative for session-specific data