---
updatedAt: 2026-08-24T01:41:25.000Z
agentTools:
  siteIndex: https://developer.sportradar.com/llms.txt
  projectIndex: https://developer.sportradar.com/racing/llms.txt
---

# Tracking Live Races

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

<br />

***

## 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.

<br />

### Relevant Feeds

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

| Feed                                                                                                                            | Purpose                                                                                                                                                        |
| ------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <Anchor label="Schedule" target="_blank" href="ref:nascar-schedule">Schedule</Anchor>                                           | Discover race IDs, session timing, and race status. To monitor playoff races, see the [NASCAR Playoffs](https://developer.sportradar.com/racing/docs/nascar-ig-tracking-playoffs) integration scenario. |
| <Anchor label="Entry List" target="_blank" href="ref:nascar-entry-list">Entry List</Anchor>                                     | Retrieve the list of drivers and cars entered to attempt to qualify for a race                                                                                 |
| <Anchor label="Practice Leaderboard" target="_blank" href="ref:nascar-practice-leaderboard">Practice Leaderboard</Anchor>       | Retrieve non-competitive practice session results used for car setup and performance evaluation                                                                |
| <Anchor label="Qualifying Leaderboard" target="_blank" href="ref:nascar-qualifying-leaderboard">Qualifying Leaderboard</Anchor> | Retrieve competitive qualifying results that determine starting order and pole position                                                                        |
| <Anchor label="Starting Grid" target="_blank" href="ref:nascar-starting-grid">Starting Grid</Anchor>                            | Determine official starting positions                                                                                                                          |
| <Anchor label="Race Leaderboard" target="_blank" href="ref:nascar-race-leaderboard">Race Leaderboard</Anchor>                   | Track live race position, laps, and performance                                                                                                                |
| <Anchor label="Daily Change Log" target="_blank" href="ref:nascar-daily-change-log">Daily Change Log</Anchor>                   | Monitor race status and timing changes                                                                                                                         |

<br />

***

## 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

<br />

***

## Integration Steps

<br />

### 1. Identify the Race to Track

Start by calling the <Anchor label="Schedule" target="_blank" href="ref:nascar-schedule">Schedule</Anchor> 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.

```json Schedule Feed Example Showing Practice and Qualifying Availability
  {
          "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"
          }
        }
      ]
    },
```

<Callout icon="🏎️" theme="warning">
  ### 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.
</Callout>

<br />

### 2. Retrieve the Entry List (When Available)

Before tracking on-track sessions, applications may retrieve the <Anchor label="Entry List" target="_blank" href="ref:nascar-entry-list">Entry List</Anchor> 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

<Callout icon="🏎️" theme="warning">
  ### 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 <span style={{color:"blue"}}>[Starting Grid](https://developer.sportradar.com/racing/reference/nascar-starting-grid)      </span> feed.
</Callout>

<br />

### 3. Track Practice Sessions (When Available)

Practice data is available directly from the <Anchor label="Practice Leaderboard" target="_blank" href="ref:nascar-practice-leaderboard">Practice Leaderboard</Anchor> 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.

<br />

### 4. Track Qualifying Results (When Available)

Qualifying results are retrieved using the <Anchor label="Qualifying Leaderboard" target="_blank" href="ref:nascar-qualifying-leaderboard">Qualifying Leaderboard</Anchor> 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.

<br />

### 5. Retrieve the Starting Grid

Once qualifying is complete, call the <Anchor label="Starting Grid" target="_blank" href="ref:nascar-starting-grid">Starting Grid</Anchor> 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.

<br />

### 6. Track the Live Race

During the race, poll the [Race Leaderboard](https://developer.sportradar.com/racing/reference/nascar-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](https://developer.sportradar.com/racing/docs/nascar-ig-race-status-workflow) guide for more information.

<br />

### 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 <Anchor label="Daily Change Log" target="_blank" href="ref:nascar-daily-change-log">Daily Change Log</Anchor> 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.

<br />

***

## 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

<br />

## 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](https://developer.sportradar.com/racing/docs/nascar-ig-update-frequencies)
* Use the Daily Change Log to detect changes efficiently
* Treat leaderboard feeds as authoritative for session-specific data