Formula 1 Scraper
Pricing
from $0.50 / 1,000 results
Formula 1 Scraper
Formula 1 qualifying and race results from ESPN, one row per driver and session with the position and nationality, plus IndyCar races and the drivers' and constructors' standings. Practice sessions are skipped, so a race weekend with 22 drivers is 44 rows, or 88 with a sprint.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
deriverge s.r.o.
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Formula 1 Scraper reads race weekends from ESPN and returns one row per driver and session: the qualifying and race classification with each driver's position and nationality, the Grand Prix name and the session's start time. IndyCar races come as one row per driver. Choose the dates of a weekend and click Start; the 2026 Azerbaijan Grand Prix gave 44 rows, 22 drivers in qualifying and 22 in the race. Lap times, gaps and the drivers' teams are not in these rows, and points come only in the standings. It costs $1.00 per 1,000 results on the Free plan ($0.50 on Business), and the $5 of monthly credit in Apify's Free plan covers about 5,000 results.
What does a classification row contain?
| Field | Description |
|---|---|
league, name | Series (f1 or indycar) and the event as ESPN names it, e.g. Qatar Airways Azerbaijan Grand Prix. |
round | Session: Qual or Race, plus SS (sprint qualifying) and SR (the sprint) on sprint weekends. Practice sessions are dropped. IndyCar rows have null, as ESPN lists only the race for its events. |
startsAt | Start of the session in UTC. In Baku qualifying began at 2026-09-25T12:00:00.000Z and the race at 2026-09-26T11:00:00.000Z. |
competitorName, competitorId | The driver and ESPN's driver ID. |
standingPosition | Place in the session's classification: 1 is pole position in qualifying and the win in the race. |
participants[0].winner | true for the race winner only. |
participants[0].location | The driver's nationality as ESPN writes it, e.g. Britain or Monaco. |
gameId | ESPN's ID of the race weekend, shared by every row of the weekend. |
status, statusDetail | post and Final after the session, pre and the start time in US Eastern time before it. |
broadcasts | US broadcaster ESPN lists; Apple TV for Formula 1 in 2026. |
url | The race page on espn.com. null for IndyCar races, for which ESPN has no page of its own. |
key | Stable row ID built from the weekend, the session, its name and the driver, e.g. espn:f1:600057444:401839112:Race:5503. |
standingScore and periodScores stay empty for racing, and venue is null, so the circuit is not named. Racing news rows carry ESPN's racing stories with title, summary, publishedAt and url.
How to scrape Formula 1 results
- In Leagues, keep
f1andindycaror remove one. - Leave What to return on Qualifying and race results for classifications. Standings gives the championship tables, Teams the 11 Formula 1 teams and Racing news ESPN's racing stories.
- Enter the dates of the weekend in From date and To date, for example
2026-09-24to2026-09-27for Baku. A range of up to 120 days returns every weekend held in it. - Click Start. The Output tab shows one row per driver and session, ready to export as CSV, Excel or JSON or to read through the API:
{"leagues": ["f1"],"mode": "scoreboard","dateFrom": "2026-09-24","dateTo": "2026-09-27"}
Example output
The race winner's row from a run on 28 September 2026.
{"key": "espn:f1:600057444:401839112:Race:5503","type": "game","sport": "motorsport","league": "f1","leagueName": "Formula 1","gameId": "600057444","name": "Qatar Airways Azerbaijan Grand Prix","shortName": "Qatar Airways Azerbaijan GP","round": "Race","startsAt": "2026-09-26T11:00:00.000Z","status": "post","statusDetail": "Final","completed": true,"seasonYear": 2026,"home": null,"away": null,"participants": [{"id": "5503","kind": "athlete","name": "George Russell","shortName": "G. Russell","location": "Britain","score": null,"winner": true,"record": null,"position": 1,"homeAway": null,"periodScores": [],"logo": "https://a.espncdn.com/i/teamlogos/countries/500/gbr.png"}],"competitorName": "George Russell","competitorId": "5503","standingPosition": 1,"standingScore": null,"periodScores": [],"venue": null,"broadcasts": ["Apple TV"],"odds": null,"url": "https://www.espn.com/f1/race/_/id/600057444"}
Championship standings and scheduled runs
Standings returns one row per driver and per constructor. For Formula 1, group says Driver Standings or Constructor Standings. A constructor row names the team in teamId and has its total in stats.points; in the table read on 22 September 2026 Mercedes led with 503 points ahead of Ferrari on 358. A driver row identifies the driver in athleteId, leaves teamId empty and has the total in stats.championshipPts; on 30 September 2026 ESPN listed 23 Formula 1 drivers, led by Kimi Antonelli with 302 points. Formula 1 rows also carry stats.rank and the points scored at each Grand Prix under a three-letter code such as AUS, MIA or AZE, with 0 where nothing was scored or the race is still to come. IndyCar has a drivers' table only: 33 drivers on 30 September 2026, each with stats.rank and stats.championshipPts.
To collect results as they happen, save the input as a task with a moving range such as -3 to today, turn on Return only what changed since the last run and schedule it daily. The mode compares each driver's session status and position, so a classification comes back when ESPN first publishes it and again for every driver whose place changes. In Standings, a driver or constructor comes back when the points change.
How much does it cost to scrape Formula 1 results?
| Free plan | Starter | Scale | Business | |
|---|---|---|---|---|
| 1,000 results | $1.00 | $0.80 | $0.65 | $0.50 |
You pay only for the events in the table. There is no start fee, and compute time and proxies are included.
A weekend with qualifying and the race for 22 drivers is 44 rows: $0.044 on the Free plan and $0.022 on Business. A sprint weekend adds SS and SR and comes to 88 rows, $0.088 on the Free plan.
Limits
- Classification rows carry positions only. Lap times, gaps, laps completed, pit stops, grid positions, the points of the session and the driver's team are missing.
- Practice sessions are always skipped; the remaining sessions ESPN lists for a weekend are all kept.
- ESPN puts no betting lines on race classifications, so
oddsis alwaysnull. - One run reads up to 120 days and stops at Maximum rows: 200 in the prefilled form, 2,000 when the field is left out.
FAQ
Is it legal to scrape Formula 1 results from ESPN?
Session results and race calendars are public sports facts that ESPN shows to every visitor, and the actor reads them from ESPN's public JSON feeds without logging in. Drivers appear with their name and nationality as part of the classification; nothing else about them is collected. You are responsible for how you use the data.
Which IndyCar races are covered?
The races ESPN lists for the IndyCar Series. At the end of September 2026 the latest was the Grand Prix of Monterey on 6 September, which a run with empty dates still returned with 25 drivers.
Related scrapers
Support
This actor is built and maintained by deriverge s.r.o., a software company based in the Czech Republic. If a run fails or a field you need is missing, please open an issue in the Issues tab or write to us at info@deriverge.com. We respond in English and Czech. Runs can be scheduled in Apify Console or started from the API tab, which has examples for Python, JavaScript and cURL and works with Make, Zapier, n8n and the Apify MCP server. If the actor saves you time, a short review helps other people find it.