Skip to content

Feature Request: Expose official session clock state for client-side extrapolation #415

Description

@alessandrogvargas

Problem

Currently, OpenF1 does not expose an official session clock.

Applications that need to display session countdowns or elapsed session time must reconstruct the clock themselves using timestamps and race control messages. This becomes especially difficult during:

  • Red flags
  • Session suspensions
  • Delayed starts
  • Session restarts
  • Any situation where the official session clock is paused or adjusted

As a result, different applications may display different clock values for the same session.

Proposed Solution

Instead of publishing a continuously updating clock, OpenF1 could expose a clock reference state that allows clients to perform local extrapolation.

For example:

{
  "remaining_seconds": 757,
  "updated_at": "2026-06-07T18:00:00.000Z",
  "extrapolated": true
}

Where:

  • remaining_seconds is the official clock value at the reference timestamp.
  • updated_at is the timestamp when that value was valid.
  • extrapolated indicates whether the clock should continue advancing locally.

Client applications can then calculate the current clock value without requiring updates every second.

When the session clock is paused (for example during a red flag), OpenF1 could publish:

{
  "remaining_seconds": 757,
  "updated_at": "2026-06-07T18:05:12.000Z",
  "extrapolated": false
}

When the session resumes, a new reference would be published and clients would continue extrapolating from that point.

Benefits

  • Provides a single source of truth for session timing.
  • Eliminates the need for custom clock reconstruction logic.
  • Avoids sending clock updates every second.
  • Handles red flags and session interruptions correctly.
  • Keeps bandwidth and server load minimal.
  • Makes session timing consistent across all OpenF1 applications.

Additional Context

A session clock cannot always be reconstructed reliably from timestamps alone, especially during red flags and other session interruptions.

Providing an official clock reference state would allow all clients to display the same session time while keeping the implementation lightweight and efficient.

Thank you for all the work on OpenF1. It is an amazing resource for the motorsport developer community.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions