Discover/ergast.com API
live

ergast.com APIergast.com

Access Formula 1 data from 1950 to present via 19 endpoints covering race results, standings, lap times, pit stops, drivers, and constructors.

Endpoints
19
Updated
3mo ago
Try it
Maximum number of results to return.
Result offset for pagination.
api.parse.bot/scraper/bd695366-8089-4ae0-a38a-7263d35d59f3/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/bd695366-8089-4ae0-a38a-7263d35d59f3/get_seasons?limit=2' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 19 totalclick to expand

Get a list of all F1 seasons supported by the API. Returns paginated results of season years with Wikipedia links.

Input
ParamTypeDescription
limitintegerMaximum number of results to return.
offsetintegerResult offset for pagination.
Response
{
  "type": "object",
  "fields": {
    "MRData": "object containing SeasonTable with Seasons array of season objects (season year and Wikipedia URL)"
  },
  "sample": {
    "data": {
      "MRData": {
        "url": "https://api.jolpi.ca/ergast/f1/seasons.json",
        "limit": "3",
        "total": "77",
        "xmlns": "",
        "offset": "0",
        "series": "f1",
        "SeasonTable": {
          "Seasons": [
            {
              "url": "https://en.wikipedia.org/wiki/1950_Formula_One_season",
              "season": "1950"
            },
            {
              "url": "https://en.wikipedia.org/wiki/1951_Formula_One_season",
              "season": "1951"
            },
            {
              "url": "https://en.wikipedia.org/wiki/1952_Formula_One_season",
              "season": "1952"
            }
          ]
        }
      }
    },
    "status": "success"
  }
}

About the ergast.com API

The Ergast API mirror exposes 19 endpoints covering every layer of Formula 1 data from the 1950 season onward — race schedules, qualifying times, championship standings, lap-by-lap timing, and pit stop records. Endpoints like get_race_results return finishing positions, points, and fastest laps for all drivers in a given round, while get_lap_times delivers per-lap per-driver timing data for any race in the historical archive.

Race, Qualifying, and Timing Data

get_race_results accepts a season (year or 'current') and round (number or 'last') and returns a RaceTable containing each driver's finishing position, points scored, and timing details including fastest laps. get_qualifying_results returns Q1, Q2, and Q3 lap times for the same round parameters. For granular analysis, get_lap_times accepts an optional lap_number and returns a Laps array with individual Timings entries per driver. get_pit_stops lets you filter by stop_number — useful for isolating all first stops across a race — and returns lap, stop number, wall-clock time, and duration for each stop.

Standings and Season Coverage

get_driver_standings and get_constructor_standings both accept a round parameter so you can reconstruct the championship table at any point mid-season, not just at the year's end. get_seasons_for_driver and get_seasons_for_constructor return the full list of seasons a given driver_id or constructor_id appeared in, which is useful for computing career spans without iterating every season manually.

Reference Data — Drivers, Constructors, Circuits

get_drivers returns driverId, three-letter code, full name, dateOfBirth, and nationality. All list endpoints support limit and offset for pagination. get_circuit_info returns a Location object with latitude, longitude, locality, and country for a given circuit_id. get_finishing_status returns all status codes (Finished, Accident, +1 Lap, etc.) with counts, optionally scoped to a season or a specific round — useful for reliability analysis across teams or eras.

Filtering by Driver or Constructor

get_driver_season_results and get_constructor_season_results let you pull every race result for a specific driver_id or constructor_id within a season. The constructor variant includes results for both drivers on the team, making it straightforward to compare teammates race by race. Driver identifiers follow a consistent slug format (e.g., hamilton, max_verstappen, leclerc), as do constructor identifiers (red_bull, ferrari, mercedes).

Common use cases
  • Build a season-by-season championship tracker using get_driver_standings and get_constructor_standings at each round.
  • Analyze pit stop strategy patterns across a season using get_pit_stops filtered by stop_number.
  • Compare teammate qualifying performance lap-by-lap using get_qualifying_results Q1/Q2/Q3 fields.
  • Reconstruct historical grid-to-finish position deltas using get_race_results across multiple seasons.
  • Map every F1 circuit with GPS coordinates using get_circuit_info Location lat/long fields.
  • Calculate driver career statistics by combining get_seasons_for_driver with per-season results from get_driver_season_results.
  • Track constructor reliability by counting DNF status codes via get_finishing_status filtered by season and team.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Ergast have an official developer API?+
Yes. Ergast published a public REST API at ergast.com/mrd/. The service was officially retired at the end of 2024, so this Parse mirror provides continued access to the same dataset and endpoint structure.
What does `get_lap_times` return, and does it cover all laps in a race automatically?+
It returns a Laps array with a Timings entry per driver for the requested lap. You must pass a specific lap_number; without it the response defaults to a single lap rather than the full race. To get every lap, iterate lap_number from 1 up to the race distance.
Does the API cover sprint race results or sprint qualifying formats introduced in recent seasons?+
Sprint race results and sprint shootout qualifying are not currently exposed as dedicated endpoints — the API covers the main race, standard qualifying (Q1/Q2/Q3), race schedules, and historical standings. You can fork this API on Parse and revise it to add a sprint results endpoint if that data is needed.
How far back does the historical data go, and are all fields populated for early seasons?+
The dataset covers seasons from 1950 onward. Detailed fields like pit stop durations and lap times are only available from 2012 onward; earlier seasons may have partial or absent timing data. Race results and standings are generally complete for the full archive.
Can I get driver or constructor data filtered by both nationality and season simultaneously?+
The get_drivers and get_constructors endpoints support filtering by season but do not accept a nationality filter. You can retrieve the season-filtered list and filter by nationality client-side, or fork the API on Parse and revise it to expose nationality as a query parameter.
Page content last updated . Spec covers 19 endpoints from ergast.com.
Related APIs in SportsSee all →
ncaa.com API
Access live college sports scores, game schedules, detailed boxscores, play-by-play breakdowns, and team statistics across NCAA sports. Search for specific contests and retrieve comprehensive game information for any NCAA sport, division, or team.
bet365.bet.br API
Access live betting odds, featured sports events, and real-time scores directly from bet365 Brazil's platform across multiple sports including Formula 1 and in-play markets. Get current match results, browse available betting categories, and view homepage promotions all through structured data endpoints.
nfl.com API
Access real-time NFL data including game schedules, scores, player statistics, team rosters, standings, injury reports, fantasy rankings, and the latest news — all from nfl.com.
maxpreps.com API
Access high school sports data from MaxPreps. Search for schools, retrieve team rosters and schedules, look up athlete profiles, and browse national or state rankings across all sports.
axs.com API
Search for events, performers, and venues across AXS.com to find tickets, pricing, and availability information in your area or by category. Browse featured events, explore venues by city, and access detailed event information all in one place.
pdga.com API
Access player profiles, ratings history, tournament events, live scoring, world rankings, and the course directory from the Professional Disc Golf Association.
bwfbadminton.com API
Track badminton tournaments worldwide by browsing the BWF calendar, viewing tournament draw brackets, and retrieving detailed match results with player stats and scores. Stay updated on competitions and analyze matchups with comprehensive tournament data from the Badminton World Federation.
formula1.com API
Get comprehensive Formula 1 data including race results, qualifying sessions, practice sessions, pit stops, and driver/team standings from 1950 to present. Track live race schedules, fastest laps, starting grids, and historical world champions to stay updated on all F1 season information.