Formula 1 Live Timing & Telemetry Scraper (OpenF1, No API Key)
Pricing
from $0.35 / 1,000 results
Formula 1 Live Timing & Telemetry Scraper (OpenF1, No API Key)
$0.35/1K ๐ฅ Formula 1 session scraper! Lap times, pit stops, positions & track weather via OpenF1. No key. JSON, CSV, Excel or API in seconds. Power F1 analytics & fantasy leagues โก
Pricing
from $0.35 / 1,000 results
Rating
0.0
(0)
Developer
ninhothedev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape session-level Formula 1 data โ lap times, sector splits, pit stops, speed traps and track weather โ straight from the free OpenF1 API. No API key, no login, no proxy, no browser. Every row comes out flat and analysis-ready, with driver names and team names already joined in.
If you have ever tried to build an F1 dashboard, a fantasy-league tool or a race-strategy model, you know the pain: the official data is locked behind broadcast feeds, and most public sources only give you the final classification. This actor gives you what actually happened during the session โ every lap by every driver, every pit stop with its stationary time, and the track temperature that explains why the tyres fell apart on lap 34.
How is this different from f1-scraper?
We publish two Formula 1 actors. They do not overlap:
f1-scraper | f1-openf1-scraper (this one) | |
|---|---|---|
| Data source | Ergast / jolpica F1 API | OpenF1 API |
| Granularity | Season & race level โ historical results | Session level โ what happened lap by lap |
| Typical rows | Race winners, championship standings, constructor points, driver careers | Individual laps, sector times, pit stops, weather readings |
| Time range | 1950 โ today (full F1 history) | 2023 โ today |
| Answers | "Who won the 1988 Monaco GP?" "How many points did Ferrari score in 2010?" | "What was Norris's sector 2 on lap 41?" "How long was Bottas stationary in the pits?" |
| Best for | History, records, career stats, all-time comparisons | Timing analysis, strategy modelling, live-ish dashboards, telemetry |
Rule of thumb: want results and history โ use f1-scraper. Want what happened inside a session โ use this one. Many users run both and join them on race name / year.
What you get
Four modes, one actor:
sessions โ every session of a season
Lists all practice, qualifying, sprint and race sessions of a year, each with its session_key. Run this first to find the session you want to dig into.
laps โ lap & sector times per driver
Every lap of a session for all 20 drivers: lap time, the three sector durations, speed-trap and intermediate speeds, and a pit-out-lap flag so you can filter out in/out laps before computing race pace.
pit โ pit stops
Every stop with the full pit-lane duration and the stationary time โ the two numbers strategists actually care about.
weather โ track conditions
A time series of air temperature, track temperature, humidity, pressure, rainfall, wind speed and wind direction throughout the session.
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | select | sessions | sessions, laps, pit or weather |
year | integer | 2024 | Season to scrape. OpenF1 data starts in 2023. |
sessionKey | string | (empty) | OpenF1 session_key, e.g. 9662. Leave empty to auto-pick the latest race of that season. |
maxItems | integer | 500 | Row cap, max 5000. |
{"mode": "laps","year": 2024,"sessionKey": "9662","maxItems": 500}
Output samples
sessions
{"type": "session","session_key": 9662,"session_name": "Race","session_type": "Race","meeting_key": 1252,"year": 2024,"location": "Yas Island","country_name": "United Arab Emirates","circuit": "Yas Marina Circuit","date_start": "2024-12-08T13:00:00+00:00","date_end": "2024-12-08T15:00:00+00:00","source": "openf1","scraped_at": "2026-07-28T14:12:03+00:00"}
laps
{"type": "lap","session_key": 9662,"driver_number": 1,"driver_name": "Max VERSTAPPEN","team_name": "Red Bull Racing","lap_number": 1,"lap_duration_s": 99.877,"sector1_s": 25.002,"sector2_s": 39.931,"sector3_s": 34.944,"speed_trap_kmh": 289,"i1_speed": 290,"i2_speed": 302,"is_pit_out_lap": false,"date_start": "2024-12-08T13:03:35.033000+00:00","source": "openf1","scraped_at": "2026-07-28T14:12:03+00:00"}
pit
{"type": "pit","session_key": 9662,"driver_number": 77,"driver_name": "Valtteri BOTTAS","team_name": "Kick Sauber","lap_number": 6,"pit_duration_s": 41.144,"stop_duration_s": 21.5,"date": "2024-12-08T13:14:05.238000+00:00","source": "openf1","scraped_at": "2026-07-28T14:12:03+00:00"}
weather
{"type": "weather","session_key": 9662,"date": "2024-12-08T12:07:44.039000+00:00","air_temperature_c": 27.8,"track_temperature_c": 37.2,"humidity_pct": 42.0,"pressure_mbar": 1017.3,"rainfall": 0,"wind_direction_deg": 292,"wind_speed_ms": 1.0,"source": "openf1","scraped_at": "2026-07-28T14:12:03+00:00"}
Export as JSON, CSV, Excel, XML or via the Apify API. All fields are nullable โ missing upstream values come back as null, never as a crash.
Use cases
- F1 analytics โ build race-pace models, stint analysis and tyre-degradation curves from real lap and sector times.
- Fantasy leagues โ score drivers on true pace instead of finishing position, and spot undervalued midfielders before the deadline.
- Race dashboards โ power a live-ish timing board, a Discord bot or a Grafana panel with session data refreshed on a schedule.
- Betting research โ quantify pit-lane efficiency by team, correlate track temperature with lap-time deltas, and backtest strategy edges.
How to find a session key
- Run the actor with
mode: "sessions"and youryear. - Find the row you want in the dataset โ filter by
circuitandsession_type. - Copy its
session_keyinto thesessionKeyinput and switch mode tolaps,pitorweather.
Or just leave sessionKey empty: the actor automatically picks the latest race of the season.
Pricing
Roughly $0.5 per 1,000 items. A full race session of lap data (~1,000 laps) costs about half a dollar. The sessions mode for a whole season is ~123 rows โ a few cents.
Notes & limits
- OpenF1 covers the 2023 season onwards. For anything older, use
f1-scraper. - Data is unofficial and community-maintained. It is not affiliated with, endorsed by, or connected to Formula 1, the FIA or any team.
- Live sessions have a short delay; historical sessions are complete and stable.
- The actor retries transient errors automatically and fails loudly (
RuntimeError) if a run would produce zero rows, so you never get a silently empty dataset.
Related actors
- F1 Scraper (Ergast historical results) โ full F1 history since 1950: results, standings, constructors.
- ESPN Scores Scraper โ live scores and schedules across major leagues.
- Sports Scraper โ multi-sport fixtures, results and tables.
- OpenLigaDB Scraper โ German football (Bundesliga & more), free and keyless.
Legal
This actor reads a public, keyless, community API. Only publicly available sporting data is collected โ no personal data, no authentication, no scraping of gated content. "Formula 1", "F1" and related marks are trademarks of Formula One Licensing BV; this project is an independent tool and is not affiliated with them.