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.

Run with Naftiko Openf1API

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

openf1-capability.yaml Raw ↑
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: $.