OpenF1 Racing Data Scraper - Drivers and Teams
Pricing
from $1.20 / 1,000 results
OpenF1 Racing Data Scraper - Drivers and Teams
Collect OpenF1 driver, team, session and meeting identifiers from the latest or selected race session.
Pricing
from $1.20 / 1,000 results
Rating
0.0
(0)
Developer
Ben
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
🏎️ OpenF1 Racing Data Scraper — Drivers, Teams & Session Lineups
Pull live Formula 1 driver and team lineups from the free OpenF1 API into clean JSON, CSV or Excel. Get driver number, full name, team, team colour, country code, headshot URL, session key and meeting key for any session (or latest). Built for race-weekend monitors, fantasy products, media CMS enrichment and no-code pipelines. Export to JSON/CSV/Excel, run on a schedule, call via API, or connect to Make, Zapier or n8n.
🔎 What is the OpenF1 Racing Data Scraper?
OpenF1 publishes current F1 session data through a public HTTP API — no browser, no paid unblocker, no login. This Actor calls that feed, normalizes each driver into one flat row, and writes results to the default Apify dataset. Defaults stay small (3 drivers) so first runs and Store auto-tests finish in seconds, while maxResults can scale up to a full grid when you need every entry.
Unlike scraping f1.com HTML or third-party fantasy sites, this path stays on the first-party OpenF1 interface. That keeps TLS and IP friction low, preserves stable session_key / meeting_key identifiers, and makes daily or hourly schedules practical on a normal Apify plan.
What data does it extract?
- Driver identity:
driver_number,full_name,name_acronym - Team:
team_name,team_colour(hex colour for UI themes) - Profile:
country_code,headshot_urlwhen OpenF1 provides one - Session links:
session_key,meeting_keyfor joining other OpenF1 endpoints - Traceability:
source(OpenF1),scraped_at(UTC ISO timestamp)
Fields that are missing for a particular driver are returned as null rather than invented. Use session_key and meeting_key as join keys if you later pull laps, intervals or weather from OpenF1 yourself.
⬇️ Input
| Field | Type | Description |
|---|---|---|
sessionKey | string | OpenF1 session key, or latest for the most recent session. Default and prefill: latest. |
maxResults | integer | Max driver rows written to the dataset (1–1000). Default: 3. |
Leave sessionKey empty or set it to latest for the current session. Use a numeric session key when you need a specific free practice, qualifying or race session from the OpenF1 documentation. Keep maxResults small while testing filters; raise it only after a proof run looks correct.
Example input
{"sessionKey": "latest","maxResults": 3}
⬆️ Output
Each matching driver is one default-dataset item. Download JSON, CSV, Excel, XML, RSS or JSONL from the Dataset tab, or use the run’s dataset-items URL via API. Pay-per-event charges apply per dataset item written (plus the small actor-start event).
{"driver_number": 1,"full_name": "Lando NORRIS","name_acronym": "NOR","team_name": "McLaren","team_colour": "F47600","country_code": "GBR","headshot_url": "https://media.formula1.com/...","session_key": 11342,"meeting_key": 1291,"source": "OpenF1","scraped_at": "2026-08-07T12:00:00+00:00"}
The overview dataset view is designed for table browsing in Console: number, name, team and session keys first, with headshot URL available for enrichment workflows.
💡 Use cases
- 📅 Race-weekend monitors: schedule a Task before free practice, qualifying or the race to snapshot the official driver list and team colours into a sheet or database.
- 📊 Fantasy / prediction apps: keep driver–team mappings current without fragile HTML scrapers that break every redesign.
- 📰 Media & CMS enrichment: attach headshot URLs and brand colours to live blogs, newsletters and social templates.
- 🔗 No-code pipelines: connect Apify to Make, Zapier or n8n and push new rows whenever you re-run the Task.
- 🧪 Research & historical grids: pass a fixed
sessionKeyfrom OpenF1’s session catalogue to rebuild lineups for a specific meeting.
⚙️ How it works
- Validate and bound
maxResults; defaultsessionKeytolatestwhen empty. - Call
https://api.openf1.org/v1/driverswith the session parameter and a descriptive User-Agent. - Retry transient HTTP timeouts, 429s and 5xx responses with backoff.
- Normalize each driver object into one flat row with stable field names.
- Push rows to the default dataset (each item is a result event under PAY_PER_EVENT).
- If OpenF1 is unreachable or returns no drivers, finish successfully with a warning and an empty dataset (soft-fail) so scheduled runs do not go “under maintenance” for empty filters.
The Actor uses limited permissions and only needs to write its result dataset.
⏱ Scheduling and automation
Create an Apify Schedule on a saved Task (for example Friday 10:00 local track time, or every hour during a race weekend). Keep filters in the Task so operators can change them without editing external workflows.
For custom code, call POST /v2/acts/benthepythondev~openf1-racing-data-scraper/runs, poll until the run is terminal, then GET the default dataset items. Never embed an Apify token in a public frontend.
💰 Pricing
Transparent pay-per-event pricing: a small charge when a run starts, then a per-result charge for each driver row written to the default dataset. The input limit controls both dataset size and result-event spend. Empty soft-fail runs still incur only the start event (and platform compute), not result events.
🛡️ Data quality and responsible use
OpenF1 data can lag live timing feeds, omit headshots for some drivers, or change field coverage between seasons. Always keep session_key / meeting_key and verify high-stakes decisions against the authoritative OpenF1 or FOM sources.
This is not an official Formula One Management or FIA product. Do not use scraped sports data for harassment, illegal betting schemes, or anything that violates the upstream terms. If you redistribute, preserve attribution and respect applicable IP and privacy rules.
❓ FAQ
Do I need an OpenF1 API key?
No. The public driver list endpoint used here does not require authentication for standard reads.
What does sessionKey: "latest" mean?
OpenF1 resolves latest to the most recent session it knows about. For a fixed historical session, pass that session’s numeric key from OpenF1’s session catalogue.
Why only 3 results by default?
Bounded defaults keep Store auto-tests under five minutes and first-run cost low. Raise maxResults once the filters look right (a full modern grid is typically ~20 drivers).
Can I export CSV or Excel?
Yes — open the default dataset after the run and pick the format, or call the dataset items API with your preferred format parameter.
Is empty output a failure?
If OpenF1 is down or the session has no drivers, the run finishes successfully with a warning and an empty dataset. Check the Actor log for the soft-fail message.
How are duplicates handled?
Each driver row from OpenF1 is written once per run. Use driver_number + session_key as a natural upsert key downstream.
Is this legal / ToS-safe?
You are calling a public API that OpenF1 exposes for data use. You remain responsible for complying with OpenF1’s terms, local law, and any redistribution limits. This Actor does not bypass logins or CAPTCHAs.
How do I get support?
Open an issue on the Actor page with the run ID, a redacted input example and the field you expected. Do not post API tokens or private credentials in a public issue.
If this dataset helped, please leave a short Apify Store review. Reviews help prioritize maintenance and show other users which workflows work in production.
🔗 You might also like
- thesportsdb-scraper — multi-sport events and teams
- openligadb-matches-scraper — open football match data
- espn-scoreboards-scraper — live scoreboards across leagues
Keywords: openf1 scraper, formula 1 data api, f1 drivers scraper, f1 team lineup, openf1 apify, racing data export, session key latest, formula one json, motorsport dataset, csv excel export, scheduled f1 monitor, sports data automation, driver headshot url, meeting key openf1, fantasy f1 data, race weekend lineup