F1 Race Results and Standings Scraper avatar

F1 Race Results and Standings Scraper

Pricing

from $12.00 / 1,000 result items

Go to Apify Store
F1 Race Results and Standings Scraper

F1 Race Results and Standings Scraper

Scrapes Formula 1 race results, qualifying, sprint, standings, drivers, constructors, circuits, and schedules from the Ergast API. Returns each record as a flat row for analysis.

Pricing

from $12.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

5 days ago

Last modified

Share

ParseForge

F1 Race Results and Standings Scraper

Scrape F1 race results, qualifying, sprint, standings, drivers, constructors, circuits, and schedules from the Ergast API, up to a million rows per run. Every row is flat and ready for analysis. No API key, no rate limits, no setup. Export to CSV, JSON, Excel, or XML.

Formula 1 data is scattered across PDFs, news sites, and unofficial APIs. This Actor pulls clean, structured data straight from the Ergast F1 database, the same source used by researchers and hobbyists for over a decade. Pick an endpoint, set a season or round, and get every row in one fixed schema.

Who uses itWhat they scrape Ergast F1 for
F1 data analystsBuild season-long datasets for lap time and points analysis
Sports journalistsPull race results and standings for race weekend reporting
Fantasy F1 playersGet driver and constructor performance data to optimize lineups
Researchers and studentsCollect historical F1 data for academic projects or visualizations
App developersPopulate F1 apps with schedules, results, and standings

What it does

This Actor collects F1 race results, qualifying, sprint results, driver and constructor standings, driver, constructor, circuit, and race schedule data from the Ergast API and returns each record as a flat row.

  • 🏁 Race results: full finishing order with position, points, and status for any race
  • ⏱️ Qualifying and sprint: grid positions and sprint results for every session
  • πŸ† Championship standings: driver and constructor points after each round
  • πŸ‘€ Drivers and constructors: one row per driver or team with codes and details
  • πŸ—ΊοΈ Circuits: track names, locations, and country data
  • πŸ“… Race schedule: every round of a season with dates and circuit info

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Ergast F1 data

πŸ“Š Build a season dataset.

A data analyst runs the Actor with endpoint results and season 2024 to collect every race result, then joins it with qualifying data for a complete performance picture.

πŸ“° Report on a race weekend.

A journalist sets season current and round to the latest race, pulls results and standings, and uses the CSV export to create tables for an article.

🏎️ Optimize a fantasy lineup.

A fantasy F1 player scrapes driver standings and recent results to compare form and pick the best drivers for the next race.

πŸ“ˆ Analyze historical trends.

A researcher collects constructor standings from 2000 to 2024 to study team performance over decades.

πŸ“± Power an F1 app.

A developer schedules the Actor to fetch the race schedule and results weekly, feeding a mobile app with up-to-date data.

Why choose this scraper

What you get
No API key or registrationThe Ergast API is public and free, so you can start scraping immediately
Flat, analysis-ready rowsEvery record is returned as a simple object with consistent field names
Historical data back to 1950Ergast covers every F1 season, so you can build long-term datasets
Flexible filteringCombine season, round, driver, constructor, and circuit to target exactly what you need

How it compares

No other Store actor targets Ergast F1 the same way, so the honest comparison is with the alternatives teams actually weigh.

F1 Race Results and Standings ScraperBuild it in-houseBy hand
SetupRun it now, zero configDays of engineeringNone, but hours per pull
When Ergast F1 changesMaintained for youYou fix itYou re-learn the page
Proxies, retries, anti-botBuilt inYour problemBrowser only
OutputFixed JSON schema, CSV/Excel exportWhatever you buildCopy-paste
CostPay per resultEngineering timeAnalyst hours

Configure the run

Drive the Actor from endpoint, season, round, driver, constructor, and circuit filters, alone or together, and only matching rows reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
"maxItems": 10,
"endpoint": "results",
"season": "2024"
}

A larger pull:

{
"maxItems": 200,
"endpoint": "results",
"season": "2024"
}

Pricing

Pay-per-result: $0.016 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$1.60
1,000 results$16.00
10,000 results$160.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the F1 Race Results and Standings Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Ergast F1 through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/f1-ergast-results-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check your filters. If you set a season and round that do not exist together, or a driverId that is misspelled, the API returns nothing. Try clearing optional fields and running again.

Why is my dataset missing some rows?

The maxItems field limits how many results are returned. Increase it to cover the full season or endpoint you need.

What does the 'current' season value do?

Setting season to current tells the Actor to use the latest season available in the Ergast database. This is useful for ongoing seasons.

Can I get data for a specific circuit?

Yes, use the circuitId field with values like monaco or silverstone. Combine it with a season to get results for that track.

Why are some fields empty in the output?

Ergast sometimes has missing data for older races or certain sessions. Empty fields are normal and reflect gaps in the source database.

FAQ

QuestionAnswer
What is the Ergast API?Ergast is a free, open-source database of Formula 1 data maintained by the community. It has been the standard source for F1 statistics since 2008 and covers every season from 1950 to the present.
Do I need an API key?No. The Ergast API is public and does not require registration or authentication. You can start scraping immediately.
What endpoints can I scrape?You can scrape race results, qualifying results, sprint results, drivers, constructors, circuits, driver standings, constructor standings, and the race schedule.
Can I filter by season or round?Yes. Set the season field to a year like 2024, or use current for the ongoing season. The round field lets you target a specific race.
Can I filter by driver or constructor?Yes. Use driverId like max_verstappen or constructorId like ferrari to get only rows for that driver or team.
What is the maximum number of results?You can set maxItems up to 1,000,000. The default is 10, but for full seasons you should increase it.
What format is the data returned in?Each record is a flat JSON object. You can export the dataset to CSV, JSON, Excel, or XML from the Apify platform.
Does this include live data?Ergast updates shortly after each session ends, but it is not a live timing feed. For real-time data, consider a different source.
Is the data free to use?Yes, Ergast data is free for non-commercial use. Check the Ergast terms for commercial applications.
Can I schedule this Actor to run automatically?Yes, you can set up a schedule in Apify to run the Actor daily, weekly, or after each race weekend.

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Ergast Developer API. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.