OpenF1 Formula 1 Telemetry Scraper avatar

OpenF1 Formula 1 Telemetry Scraper

Pricing

from $13.00 / 1,000 result items

Go to Apify Store
OpenF1 Formula 1 Telemetry Scraper

OpenF1 Formula 1 Telemetry Scraper

Export Formula 1 sessions, drivers, laps, pit stops, intervals, weather, and live car telemetry from the OpenF1 live data source. Filter by year, session, driver, and meeting to get historical and live F1 race data.

Pricing

from $13.00 / 1,000 result items

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

ParseForge Banner

🏎️ OpenF1 Formula 1 Telemetry Scraper

πŸš€ Export Formula 1 sessions, laps, telemetry, weather, and team radio in seconds. Pull historical and live F1 data from 2023 onwards across 12 data modes, filterable by year, session, driver, and meeting. No API key, no registration, no scraping browser.

πŸ•’ Last updated: 2026-05-22 Β· πŸ“Š 50+ fields per record Β· 🏎️ 12 data modes Β· πŸ“… 2023-present coverage Β· 🌍 every race weekend

The OpenF1 Formula 1 Telemetry Scraper exports the open F1 live data catalog and returns up to 50+ structured fields per record across sessions, race weekends, drivers, laps, intervals, pit stops, weather, in-car telemetry, tyre stints, position changes, race control messages, and team radio recordings. The underlying feed mirrors the official Formula 1 timing stream and has been one of the most cited open motorsport sources since 2023.

Coverage spans every Grand Prix weekend from the 2023 season onwards, including Sprint Saturdays, Sprint Shootouts, qualifying sessions, free practice, and full Grand Prix races. Records are returned as CSV, Excel, JSON, or XML in under a minute. All filters run on the source, so you skip every parser and reverse-engineering step.

🎯 Target AudienceπŸ’‘ Primary Use Cases
F1 analysts, fantasy & betting platforms, sports media, telemetry hobbyists, data scientists, broadcasters, racing strategistsDriver and team performance dashboards, fantasy league scoring, lap-by-lap timing widgets, weather-correlated strategy models, archival race datasets, in-car telemetry ML training

πŸ“‹ What the OpenF1 Scraper does

Twelve data modes in a single Actor:

  • 🏁 Sessions. Every practice, qualifying, sprint, and race session with circuit, country, GMT offset, and timestamps.
  • πŸ† Meetings. Full race weekend metadata (Grand Prix name, official name, circuit image, country flag).
  • πŸ‘€ Drivers. Per-session driver lineup with team name, driver number, and full name.
  • ⏱️ Laps. Lap-by-lap duration plus per-sector times for every car on track.
  • πŸ“ Intervals. Gap-to-leader and interval between successive cars during a session.
  • πŸ› οΈ Pit stops. Pit duration and lap number for every stop.
  • 🌦️ Weather. Air and track temperature, humidity, wind speed sampled live.
  • πŸš— Car telemetry. Speed, throttle, brake, RPM, gear, and DRS state per car.
  • πŸ›ž Tyre stints. Compound, stint number, lap range, and tyre age at start.
  • πŸ“ Position changes. Live running order updates throughout a session.
  • 🚦 Race control. Yellow flags, virtual safety car, blue flags, and incident messages.
  • πŸ“» Team radio. Direct links to original team radio recordings per driver.

Each record carries cross-mode keys (sessionKey, meetingKey, driverNumber) so you can JOIN sessions to laps, weather, telemetry, or stints in your warehouse.

πŸ’‘ Why it matters: Formula 1 timing data powers fantasy leagues, betting models, broadcast graphics, and strategy ML pipelines. Building your own ingestion pipeline means decoding live timing protocols, handling sector splits, and re-syncing on every red flag. This Actor skips all of that.


🎬 Full Demo

🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded telemetry dataset.


βš™οΈ Input

InputTypeDefaultBehavior
maxItemsinteger10Records to return. Free plan caps at 10, paid plan at 1,000,000.
modestring"sessions"One of 12 data modes: sessions, meetings, drivers, laps, intervals, pit, weather, car_data, stints, position, race_control, team_radio.
yearinteger2024Season year. Applies to sessions, meetings, and drivers.
sessionTypestringnullRace, Qualifying, Practice, Sprint, Sprint Shootout, or Sprint Qualifying.
sessionKeyintegernullSpecific session ID. Required for laps, intervals, pit, weather, car_data, stints, position, race_control, team_radio.
meetingKeyintegernullSpecific race weekend ID.
driverNumberintegernullFilter by driver number (1 = Verstappen, 44 = Hamilton, etc.).

Example: every 2024 race session.

{
"maxItems": 50,
"mode": "sessions",
"year": 2024,
"sessionType": "Race"
}

Example: lap-by-lap times for a single race session.

{
"maxItems": 1000,
"mode": "laps",
"sessionKey": 9462
}

⚠️ Good to Know: lap, telemetry, weather, and radio modes need a sessionKey to scope the query. Run the sessions mode first to discover the keys you want, then pass them into the deeper modes. Car telemetry is sampled at high frequency, so a single race session can return hundreds of thousands of rows.


πŸ“Š Output

Each record is tagged with a recordType and carries the relevant subset of 50+ fields. Download the dataset as CSV, Excel, JSON, or XML.

🧾 Schema

FieldTypeExample
πŸ–ΌοΈ imageUrlstring | null"https://media.formula1.com/.../bahrain.jpg"
🏷️ recordTypestring"sessions"
πŸ”‘ sessionKeynumber9462
πŸ”‘ meetingKeynumber1228
πŸ”’ driverNumbernumber | null1
πŸ‘€ fullNamestring | null"Max Verstappen"
🏁 teamNamestring | null"Red Bull Racing"
🏷️ sessionNamestring | null"Race"
🎯 sessionTypestring | null"Race"
🏎️ circuitShortNamestring | null"Sakhir"
🌐 countryNamestring | null"Bahrain"
πŸ“ locationstring | null"Sakhir"
πŸ“† dateStartISO 8601"2024-02-21T07:00:00+00:00"
πŸ“† dateEndISO 8601"2024-02-21T16:00:00+00:00"
πŸ“… yearnumber2024
⏱️ lapNumber, lapDurationnumber12, 89.234
🟒 durationSector1, durationSector2, durationSector3number26.012, 30.451, 32.771
πŸ›ž compound, stintNumber, tyreAgeAtStartstring, number"SOFT", 1, 0
πŸ› οΈ pitDurationnumber23.456
🚦 gapToLeader, interval, positionstring, number"+0.0", "+1.234", 1
🚦 category, flag, messagestring"Flag", "YELLOW", "TURN 4"
πŸ“» recordingUrlstring | null"https://livetiming.formula1.com/.../radio.mp3"
🌦️ airTemperature, trackTemperature, humidity, windSpeednumber21.4, 28.9, 47, 2.1
πŸš— speed, throttle, brake, rpm, gear, drsnumber321, 100, 0, 11200, 8, 12
πŸ•’ scrapedAtISO 8601"2026-05-22T00:00:00.000Z"

πŸ“¦ Sample records


✨ Why choose this Actor

Capability
🏎️12 data modes. Sessions, meetings, drivers, laps, intervals, pit stops, weather, telemetry, stints, positions, race control, radio.
πŸ”‘Cross-mode keys. sessionKey, meetingKey, and driverNumber let you JOIN any mode in your warehouse.
πŸ“‘Live and historical. Pulls the latest live timing data plus every season from 2023 onwards.
⚑Fast. 10 records in seconds, full session telemetry in under a minute.
πŸ›žStrategy-grade detail. Compound, tyre age, sector splits, pit duration, weather, and DRS state.
🚫No authentication. Works with the public F1 data feed. No login, no API key.
πŸ”Always fresh. Every run fetches the latest data, so your dataset reflects current session state.

πŸ“Š Accurate timing data is the foundation of every fantasy league, betting model, broadcast graphic, and strategy dashboard in modern motorsport.


πŸ“ˆ How it compares to alternatives

ApproachCostCoverageRefreshFiltersSetup
⭐ OpenF1 Telemetry Scraper (this Actor)$5 free credit, then pay-per-use2023-present, every sessionLive per runyear, session, driver, meeting, mode⚑ 2 min
Official F1 live timing feedPaid licensingLiveStreamingSpecialized client required🐒 Weeks
Sportradar / Stats Perform$$$$ enterpriseLive + historicalStreamingMany⏳ Days
Custom scrapers off race websitesFreePatchyManualNoneπŸ•’ Variable

Pick this Actor when you want full-coverage F1 data, server-side filtering, and no licensing negotiations.


πŸš€ How to use

  1. πŸ“ Sign up. Create a free account with $5 credit (takes 2 minutes).
  2. 🌐 Open the Actor. Go to the OpenF1 Formula 1 Telemetry Scraper page on the Apify Store.
  3. 🎯 Set input. Pick a mode (start with sessions), set the year, and choose maxItems.
  4. πŸš€ Run it. Click Start and let the Actor collect your data.
  5. πŸ“₯ Download. Grab your results in the Dataset tab as CSV, Excel, JSON, or XML.

⏱️ Total time from signup to downloaded dataset: 3-5 minutes. No coding required.


πŸ’Ό Business use cases

🎯 Fantasy & Betting Platforms

  • Real-time driver scoring engines
  • Lap-by-lap odds shading models
  • Tyre strategy props (which compound at lap X)
  • Pit stop timing markets

πŸ“Ί Sports Media & Broadcasters

  • Live timing widgets for editorial sites
  • Lap chart and gap visualizations
  • Auto-generated race recaps from race control feed
  • Embedded telemetry comparison clips

πŸ“Š Race Strategy & Analytics

  • Stint length and compound performance models
  • Weather-correlated lap-time regressions
  • DRS effectiveness studies per circuit
  • Sector-by-sector driver benchmarking

πŸ† Teams, Sponsors & Brands

  • Sponsor exposure analytics tied to running order
  • Driver performance dashboards for partners
  • Historical comparison decks for sales
  • Real-time hospitality screen feeds

πŸ”Œ Automating OpenF1 Telemetry Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

  • 🟒 Node.js. Install the apify-client NPM package.
  • 🐍 Python. Use the apify-client PyPI package.
  • πŸ“š See the Apify API documentation for full details.

The Apify Schedules feature lets you trigger this Actor on any cron interval. Run every 30 seconds during a live session for real-time fantasy scoring, or refresh once a day after each Grand Prix.


🌟 Beyond business use cases

Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

πŸŽ“ Research and academia

  • Tyre compound degradation studies
  • Aerodynamic and DRS-effect papers
  • Driver consistency and reaction-time analyses
  • Reproducible race datasets for sports science

🎨 Personal and creative

  • Indie F1 fantasy apps and Twitch overlays
  • Custom lap-chart visualizations
  • Race recap videos with auto-generated graphics
  • Hobbyist telemetry dashboards

🀝 Non-profit and civic

  • Motorsport history archives
  • STEM teaching materials on data and physics
  • Inclusive community sites for non-paying F1 fans
  • Open-data showcases at conferences

πŸ§ͺ Experimentation

  • Train ML models on lap-time prediction
  • Prototype pit-stop strategy simulators
  • Benchmark agent pipelines on live sport data
  • Build voice assistants that summarize races

πŸ€– Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:


❓ Frequently Asked Questions

🧩 How does it work?

Pick a data mode, set filters like year or session, click Start, and the Actor pulls the data and returns one clean record per session, lap, stint, or radio message. No browser automation, no captchas, no setup.

πŸ“ How accurate is the data?

The feed mirrors the official Formula 1 live timing stream. Lap times, sector splits, weather, and telemetry samples are the same values you see on the F1 broadcast graphics.

πŸ” How fresh is the live data?

During a live session the source updates within seconds. Schedule the Actor every 30 seconds for near-real-time fantasy scoring, or once per session for archival pulls.

πŸ“… How far back does coverage go?

Every Grand Prix weekend from the 2023 season onwards is included, with full session, lap, telemetry, weather, and radio coverage.

⏰ Can I schedule regular runs?

Yes. Use Apify Schedules to trigger this Actor on any cron interval. Common patterns: every 30 seconds during live sessions, every hour during a race weekend, or once per Grand Prix.

πŸ›ž Can I get tyre stints and pit timing?

Yes. Run with mode: "stints" for compound and stint range, or mode: "pit" for per-stop pit duration with lap number.

πŸ“» Are team radio recordings included?

Yes. Run with mode: "team_radio" to get a direct link to the original recording for each team radio transmission.

πŸ’³ Do I need a paid Apify plan to use this Actor?

No. The free Apify plan is enough for testing and small runs (10 records per run). A paid plan lifts the limit and gives you access to scheduling, higher concurrency, and larger telemetry pulls.

πŸ” What happens if a run fails or gets interrupted?

Apify automatically retries transient errors. If a run still fails, inspect the log in the Runs tab, fix the input, and re-run. Partial datasets from failed runs are preserved so you never lose progress.

The underlying live timing data is published as a free open feed. Commercial use is generally allowed for analytics and editorial work. Review the downstream terms of your specific use case, and note that the official F1 logos and trademarks remain the property of Formula One Group.

πŸ†˜ What if I need help?

Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.


πŸ”Œ Integrate with any app

OpenF1 Telemetry Scraper connects to any cloud service via Apify integrations:

  • Make - Automate multi-step workflows
  • Zapier - Connect with 5,000+ apps
  • Slack - Get live race notifications in your channels
  • Airbyte - Pipe telemetry into your warehouse
  • GitHub - Trigger runs from commits and releases
  • Google Drive - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes. Push live timing into your fantasy backend, or alert your team in Slack the moment a yellow flag drops.


πŸ’‘ Pro Tip: browse the complete ParseForge collection for more reference-data scrapers.


πŸ†˜ Need Help? Open our contact form to request a new scraper, propose a custom data project, or report an issue.


⚠️ Disclaimer: this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Formula One Group, the FIA, OpenF1, or any F1 team. All trademarks mentioned are the property of their respective owners. Only publicly available open motorsport data is collected.