MOTORSPORT / CAR RACING API

Car racing data, with every session in view.

Plan car race API integrations around the event, the competitive session, and the individual entry. Use a shared event model for schedules and results, then add the timing details your series actually provides.

Start with the fields that matter.

The following is an application-side planning checklist. These names illustrate concepts; they are not a promise that any particular provider uses this contract.

Field conceptSuggested typeWhy it matters
session_idstringA stable identity for practice, qualifying, or a race.
entry_idstringAn entry in this session; not just a car number.
laps_completedinteger or nullProgress as reported by the selected source.
elapsed_msnumber or nullA duration with a documented timing basis.
classification_statusstringWhether the displayed order is provisional or final.

Keep classes and sessions separate

A multi-class race can have an overall order and a class order. Give each a clear label rather than placing both in one generic position field. Keep the grid, current order, and final classification separate as well. A driver name or vehicle number is useful display content, but the source entry identifier should control updates.

Make the first version inspectable.

Begin with a small, fictional fixture and write down the expected display for a missing measurement, a revised result, and an unfamiliar status. Keep identifiers and original source values available so a later correction reaches the right record. Do not make a smooth interface substitute for a clear data contract.

The bundled samples use a shared envelope with a sample: true flag, a source reference, an event, a result state, and a sport_data object. The additional fields on this page are design concepts; the small fixture does not attempt to implement every possible field.

Read the fixture contract

Questions for your provider evaluation

Confirm event and historical coverage, field meanings, update and correction behavior, authentication, and the permissions for your intended display. Inspect actual sample responses rather than assuming that a familiar endpoint name guarantees the information you need.

A provider credential and a finished frontend are separate pieces of a production system. This site includes neither a private ingestion service nor secret credentials. Use the local examples to establish the interface behavior before implementing the selected provider’s supported access path.

What happens when a lap is missing?

Keep the measurement unavailable and preserve the entry state supplied by the source. Do not infer retirement or a zero-duration lap from a missing value. An incomplete observation, a stopped entry, and an unclassified finish deserve different labels.

What is included in the local sample?

A fictional event, three invented entries, illustrative durations, a provisional classification, and selected discipline-specific fields. It is bundled with this site and does not refresh from an external source.

TAKE THE NEXT LAP

Your next racing project starts here.

Pick a discipline. Explore the data model. Build something worth following.

Explore the docs