fastf1
Original:🇺🇸 English
Translated
Formula 1 data — race schedules, results, lap timing, driver and team info. Powered by the FastF1 library. Covers F1 sessions, qualifying, practice, race results, sector times, tire strategy. Use when: user asks about F1 race results, qualifying, lap times, driver stats, team info, the F1 calendar, or Formula 1 data. Don't use when: user asks about other motorsports (MotoGP, NASCAR, IndyCar, WEC, Formula E). Don't use for F1 betting odds or predictions — use kalshi or polymarket instead. Don't use for F1 news articles — use sports-news instead.
3installs
Added on
NPX Install
npx skill4agent add machina-sports/sports-skills fastf1Tags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →FastF1 — Formula 1 Data
Setup
F1 requires extra dependencies (fastf1 + pandas). Install with:
bash
which sports-skills || pip install sports-skills[f1]If already installed without F1 support, add the extra:
bash
pip install sports-skills[f1]If fails with a Python version error, the package requires Python 3.10+. Find a compatible Python:
pip installbash
python3 --version # check version
# If < 3.10, try: python3.12 -m pip install sports-skills[f1]
# On macOS with Homebrew: /opt/homebrew/bin/python3.12 -m pip install sports-skills[f1]No API keys required.
Quick Start
Prefer the CLI — it avoids Python import path issues:
bash
sports-skills f1 get_race_schedule --year=2025
sports-skills f1 get_race_results --year=2025 --event=MonzaPython SDK (alternative):
python
from sports_skills import f1
schedule = f1.get_race_schedule(year=2025)
results = f1.get_race_results(year=2025, event="Monza")Commands
get_race_schedule
Get race schedule for a season.
- (int, required): Season year
year
get_race_results
Get race results (positions, times, points).
- (int, required): Season year
year - (str, required): Event name (e.g., "Monza", "Silverstone")
event
get_session_data
Get detailed session data (qualifying, race, practice).
- (int, required): Year
session_year - (str, required): Event name
session_name - (str, optional): "Q" (qualifying), "R" (race), "FP1", etc. Default: "Q"
session_type
get_driver_info
Get driver information for a season.
- (int, required): Season year
year - (str, optional): Driver code or name. Omit for all drivers.
driver
get_team_info
Get team information for a season.
- (int, required): Season year
year - (str, optional): Team name. Omit for all teams.
team
get_lap_data
Get lap-by-lap timing data.
- (int, required): Season year
year - (str, required): Event name
event - (str, optional): Session type. Default: "R"
session_type - (str, optional): Driver code. Omit for all drivers.
driver
Examples
User: "Show me the 2025 F1 calendar"
- Call
get_race_schedule(year=2025) - Present schedule with event names, dates, and circuits
User: "How did Verstappen do at Monza?"
- Call for final classification
get_race_results(year=2025, event="Monza") - Call for lap times
get_lap_data(year=2025, event="Monza", session_type="R", driver="VER") - Present finishing position, gap to leader, fastest lap, and tire strategy
User: "Compare qualifying times at Silverstone"
- Call
get_session_data(session_year=2025, session_name="Silverstone", session_type="Q") - Call for all drivers
get_lap_data(year=2025, event="Silverstone", session_type="Q") - Present Q1/Q2/Q3 times sorted by position
Troubleshooting
- command not found: Package not installed. Run
sports-skills. If pip fails with a Python version error, you need Python 3.10+ — see Setup section.pip install sports-skills[f1] - : Same as above — install the package. Prefer the CLI over Python imports to avoid path issues.
ModuleNotFoundError: No module named 'sports_skills' - ImportError on : F1 module requires extra dependencies beyond the base package. Run
from sports_skills import f1to add fastf1 + pandas.pip install sports-skills[f1] - No data for future events: FastF1 only returns data for completed sessions. Future races appear in the schedule but have no session data.
- Slow first request: FastF1 downloads and caches session data locally. First call for a given session may take 10-30 seconds. Subsequent calls are fast.
- Event name not found: Use the exact event name from . Common circuit names like "Monza" or "Silverstone" usually work as aliases.
get_race_schedule() - false /
fastest_lapempty in race results: FastF1 doesn't always populate these fields. To find the actual fastest lap, usefastest_lap_timeand find the minimumget_lap_data()across all drivers.lap_time