OpenF1 · Capability
OpenF1 API
OpenF1 is a free and open-source API providing real-time and historical Formula 1 data including car telemetry, lap timing, race control, weather, pit stops, team radio, and championship standings.
What You Can Do
GET
Listsessions
— List F1 sessions
/sessions
GET
Listmeetings
— List Grand Prix meetings
/meetings
GET
Listdrivers
— List drivers for a session
/drivers
GET
Listlaps
— List laps with sector and speed-trap times
/laps
GET
Getcardata
— High-frequency car telemetry (RPM, throttle, brake, gear, speed, DRS)
/car_data
GET
Getlocation
— Three-dimensional car location on track
/location
GET
Getposition
— Driver running order during a session
/position
GET
Getintervals
— Real-time intervals between drivers (race only)
/intervals
GET
Listpitstops
— List pit-lane events
/pit
GET
Liststints
— List tyre stints with compound and age
/stints
GET
Getweather
— Track weather conditions during a session
/weather
GET
Listracecontrol
— Race control messages, flags, and incidents
/race_control
GET
Listteamradio
— List team radio recordings
/team_radio
MCP Tools
listsessions
List F1 sessions
read-only
idempotent
listmeetings
List Grand Prix meetings
read-only
idempotent
listdrivers
List drivers for a session
read-only
idempotent
listlaps
List laps with sector and speed-trap times
read-only
idempotent
getcardata
High-frequency car telemetry (RPM, throttle, brake, gear, speed, DRS)
read-only
idempotent
getlocation
Three-dimensional car location on track
read-only
idempotent
getposition
Driver running order during a session
read-only
idempotent
getintervals
Real-time intervals between drivers (race only)
read-only
idempotent
listpitstops
List pit-lane events
read-only
idempotent
liststints
List tyre stints with compound and age
read-only
idempotent
getweather
Track weather conditions during a session
read-only
idempotent
listracecontrol
Race control messages, flags, and incidents
read-only
idempotent
listteamradio
List team radio recordings
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: OpenF1 API
description: OpenF1 is a free and open-source API providing real-time and historical Formula 1 data including car telemetry,
lap timing, race control, weather, pit stops, team radio, and championship standings.
tags:
- Openf1
- API
created: '2026-05-06'
modified: '2026-05-06'
capability:
consumes:
- type: http
namespace: openf1
baseUri: https://api.openf1.org/v1
description: OpenF1 API HTTP API.
resources:
- name: sessions
path: /sessions
operations:
- name: listsessions
method: GET
description: List F1 sessions
inputParameters:
- name: session_key
in: query
type: integer
- name: meeting_key
in: query
type: integer
- name: year
in: query
type: integer
- name: country_name
in: query
type: string
- name: session_type
in: query
type: string
- name: session_name
in: query
type: string
- name: circuit_short_name
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: meetings
path: /meetings
operations:
- name: listmeetings
method: GET
description: List Grand Prix meetings
inputParameters:
- name: meeting_key
in: query
type: integer
- name: year
in: query
type: integer
- name: country_name
in: query
type: string
- name: circuit_short_name
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: drivers
path: /drivers
operations:
- name: listdrivers
method: GET
description: List drivers for a session
inputParameters:
- name: session_key
in: query
type: integer
- name: meeting_key
in: query
type: integer
- name: driver_number
in: query
type: integer
- name: team_name
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: laps
path: /laps
operations:
- name: listlaps
method: GET
description: List laps with sector and speed-trap times
inputParameters:
- name: session_key
in: query
type: integer
- name: driver_number
in: query
type: integer
- name: lap_number
in: query
type: integer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: car-data
path: /car_data
operations:
- name: getcardata
method: GET
description: High-frequency car telemetry (RPM, throttle, brake, gear, speed, DRS)
inputParameters:
- name: session_key
in: query
type: integer
- name: driver_number
in: query
type: integer
- name: speed
in: query
type: integer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: location
path: /location
operations:
- name: getlocation
method: GET
description: Three-dimensional car location on track
inputParameters:
- name: session_key
in: query
type: integer
- name: driver_number
in: query
type: integer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: position
path: /position
operations:
- name: getposition
method: GET
description: Driver running order during a session
inputParameters:
- name: session_key
in: query
type: integer
- name: driver_number
in: query
type: integer
- name: position
in: query
type: integer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: intervals
path: /intervals
operations:
- name: getintervals
method: GET
description: Real-time intervals between drivers (race only)
inputParameters:
- name: session_key
in: query
type: integer
- name: driver_number
in: query
type: integer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: pit
path: /pit
operations:
- name: listpitstops
method: GET
description: List pit-lane events
inputParameters:
- name: session_key
in: query
type: integer
- name: driver_number
in: query
type: integer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: stints
path: /stints
operations:
- name: liststints
method: GET
description: List tyre stints with compound and age
inputParameters:
- name: session_key
in: query
type: integer
- name: driver_number
in: query
type: integer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: weather
path: /weather
operations:
- name: getweather
method: GET
description: Track weather conditions during a session
inputParameters:
- name: session_key
in: query
type: integer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: race-control
path: /race_control
operations:
- name: listracecontrol
method: GET
description: Race control messages, flags, and incidents
inputParameters:
- name: session_key
in: query
type: integer
- name: driver_number
in: query
type: integer
- name: category
in: query
type: string
- name: flag
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: team-radio
path: /team_radio
operations:
- name: listteamradio
method: GET
description: List team radio recordings
inputParameters:
- name: session_key
in: query
type: integer
- name: driver_number
in: query
type: integer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
port: 8080
namespace: openf1-rest
description: REST adapter for OpenF1 API.
resources:
- path: /sessions
name: listsessions
operations:
- method: GET
name: listsessions
description: List F1 sessions
call: openf1.listsessions
outputParameters:
- type: object
mapping: $.
- path: /meetings
name: listmeetings
operations:
- method: GET
name: listmeetings
description: List Grand Prix meetings
call: openf1.listmeetings
outputParameters:
- type: object
mapping: $.
- path: /drivers
name: listdrivers
operations:
- method: GET
name: listdrivers
description: List drivers for a session
call: openf1.listdrivers
outputParameters:
- type: object
mapping: $.
- path: /laps
name: listlaps
operations:
- method: GET
name: listlaps
description: List laps with sector and speed-trap times
call: openf1.listlaps
outputParameters:
- type: object
mapping: $.
- path: /car_data
name: getcardata
operations:
- method: GET
name: getcardata
description: High-frequency car telemetry (RPM, throttle, brake, gear, speed, DRS)
call: openf1.getcardata
outputParameters:
- type: object
mapping: $.
- path: /location
name: getlocation
operations:
- method: GET
name: getlocation
description: Three-dimensional car location on track
call: openf1.getlocation
outputParameters:
- type: object
mapping: $.
- path: /position
name: getposition
operations:
- method: GET
name: getposition
description: Driver running order during a session
call: openf1.getposition
outputParameters:
- type: object
mapping: $.
- path: /intervals
name: getintervals
operations:
- method: GET
name: getintervals
description: Real-time intervals between drivers (race only)
call: openf1.getintervals
outputParameters:
- type: object
mapping: $.
- path: /pit
name: listpitstops
operations:
- method: GET
name: listpitstops
description: List pit-lane events
call: openf1.listpitstops
outputParameters:
- type: object
mapping: $.
- path: /stints
name: liststints
operations:
- method: GET
name: liststints
description: List tyre stints with compound and age
call: openf1.liststints
outputParameters:
- type: object
mapping: $.
- path: /weather
name: getweather
operations:
- method: GET
name: getweather
description: Track weather conditions during a session
call: openf1.getweather
outputParameters:
- type: object
mapping: $.
- path: /race_control
name: listracecontrol
operations:
- method: GET
name: listracecontrol
description: Race control messages, flags, and incidents
call: openf1.listracecontrol
outputParameters:
- type: object
mapping: $.
- path: /team_radio
name: listteamradio
operations:
- method: GET
name: listteamradio
description: List team radio recordings
call: openf1.listteamradio
outputParameters:
- type: object
mapping: $.
- type: mcp
port: 9090
namespace: openf1-mcp
transport: http
description: MCP adapter for OpenF1 API for AI agent use.
tools:
- name: listsessions
description: List F1 sessions
hints:
readOnly: true
destructive: false
idempotent: true
call: openf1.listsessions
with:
session_key: tools.session_key
meeting_key: tools.meeting_key
year: tools.year
country_name: tools.country_name
session_type: tools.session_type
session_name: tools.session_name
circuit_short_name: tools.circuit_short_name
inputParameters:
- name: session_key
type: integer
description: session_key
- name: meeting_key
type: integer
description: meeting_key
- name: year
type: integer
description: year
- name: country_name
type: string
description: country_name
- name: session_type
type: string
description: session_type
- name: session_name
type: string
description: session_name
- name: circuit_short_name
type: string
description: circuit_short_name
outputParameters:
- type: object
mapping: $.
- name: listmeetings
description: List Grand Prix meetings
hints:
readOnly: true
destructive: false
idempotent: true
call: openf1.listmeetings
with:
meeting_key: tools.meeting_key
year: tools.year
country_name: tools.country_name
circuit_short_name: tools.circuit_short_name
inputParameters:
- name: meeting_key
type: integer
description: meeting_key
- name: year
type: integer
description: year
- name: country_name
type: string
description: country_name
- name: circuit_short_name
type: string
description: circuit_short_name
outputParameters:
- type: object
mapping: $.
- name: listdrivers
description: List drivers for a session
hints:
readOnly: true
destructive: false
idempotent: true
call: openf1.listdrivers
with:
session_key: tools.session_key
meeting_key: tools.meeting_key
driver_number: tools.driver_number
team_name: tools.team_name
inputParameters:
- name: session_key
type: integer
description: session_key
- name: meeting_key
type: integer
description: meeting_key
- name: driver_number
type: integer
description: driver_number
- name: team_name
type: string
description: team_name
outputParameters:
- type: object
mapping: $.
- name: listlaps
description: List laps with sector and speed-trap times
hints:
readOnly: true
destructive: false
idempotent: true
call: openf1.listlaps
with:
session_key: tools.session_key
driver_number: tools.driver_number
lap_number: tools.lap_number
inputParameters:
- name: session_key
type: integer
description: session_key
- name: driver_number
type: integer
description: driver_number
- name: lap_number
type: integer
description: lap_number
outputParameters:
- type: object
mapping: $.
- name: getcardata
description: High-frequency car telemetry (RPM, throttle, brake, gear, speed, DRS)
hints:
readOnly: true
destructive: false
idempotent: true
call: openf1.getcardata
with:
session_key: tools.session_key
driver_number: tools.driver_number
speed: tools.speed
inputParameters:
- name: session_key
type: integer
description: session_key
- name: driver_number
type: integer
description: driver_number
- name: speed
type: integer
description: speed
outputParameters:
- type: object
mapping: $.
- name: getlocation
description: Three-dimensional car location on track
hints:
readOnly: true
destructive: false
idempotent: true
call: openf1.getlocation
with:
session_key: tools.session_key
driver_number: tools.driver_number
inputParameters:
- name: session_key
type: integer
description: session_key
- name: driver_number
type: integer
description: driver_number
outputParameters:
- type: object
mapping: $.
- name: getposition
description: Driver running order during a session
hints:
readOnly: true
destructive: false
idempotent: true
call: openf1.getposition
with:
session_key: tools.session_key
driver_number: tools.driver_number
position: tools.position
inputParameters:
- name: session_key
type: integer
description: session_key
- name: driver_number
type: integer
description: driver_number
- name: position
type: integer
description: position
outputParameters:
- type: object
mapping: $.
- name: getintervals
description: Real-time intervals between drivers (race only)
hints:
readOnly: true
destructive: false
idempotent: true
call: openf1.getintervals
with:
session_key: tools.session_key
driver_number: tools.driver_number
inputParameters:
- name: session_key
type: integer
description: session_key
- name: driver_number
type: integer
description: driver_number
outputParameters:
- type: object
mapping: $.
- name: listpitstops
description: List pit-lane events
hints:
readOnly: true
destructive: false
idempotent: true
call: openf1.listpitstops
with:
session_key: tools.session_key
driver_number: tools.driver_number
inputParameters:
- name: session_key
type: integer
description: session_key
- name: driver_number
type: integer
description: driver_number
outputParameters:
- type: object
mapping: $.
- name: liststints
description: List tyre stints with compound and age
hints:
readOnly: true
destructive: false
idempotent: true
call: openf1.liststints
with:
session_key: tools.session_key
driver_number: tools.driver_number
inputParameters:
- name: session_key
type: integer
description: session_key
- name: driver_number
type: integer
description: driver_number
outputParameters:
- type: object
mapping: $.
- name: getweather
description: Track weather conditions during a session
hints:
readOnly: true
destructive: false
idempotent: true
call: openf1.getweather
with:
session_key: tools.session_key
inputParameters:
- name: session_key
type: integer
description: session_key
outputParameters:
- type: object
mapping: $.
- name: listracecontrol
description: Race control messages, flags, and incidents
hints:
readOnly: true
destructive: false
idempotent: true
call: openf1.listracecontrol
with:
session_key: tools.session_key
driver_number: tools.driver_number
category: tools.category
flag: tools.flag
inputParameters:
- name: session_key
type: integer
description: session_key
- name: driver_number
type: integer
description: driver_number
- name: category
type: string
description: category
- name: flag
type: string
description: flag
outputParameters:
- type: object
mapping: $.
- name: listteamradio
description: List team radio recordings
hints:
readOnly: true
destructive: false
idempotent: true
call: openf1.listteamradio
with:
session_key: tools.session_key
driver_number: tools.driver_number
inputParameters:
- name: session_key
type: integer
description: session_key
- name: driver_number
type: integer
description: driver_number
outputParameters:
- type: object
mapping: $.