---
title: "Get the historical web dataset"
method: GET
path: "/api/v2/history/web-data"
---

# Get the historical web dataset

`GET /api/v2/history/web-data`

## Request

- Base URL: `https://api.racecalendar.app`
- URL: `https://api.racecalendar.app/api/v2/history/web-data`
- Auth: none declared

Returns the materialized F1DB dataset used by historical website pages and SEO. Large cached JSON; prefer this over per-race fetches when rendering the full archive.

## Response `200`

Materialized historical web page and SEO dataset

- HistoricalWebDataPayload
  - `generatedAt` string, required
  - `qualifyingResults` HistoricalWebQualifyingResult[], required
    - `format` string, required
    - `kind` 'pre-qualifying' | 'qualifying', required
    - `r` number, required
    - `rows` HistoricalWebQualifyingResultRow[], required
      - union[]
        - union
          - string
          - string, nullable
          - number, nullable
    - `y` number, required
  - `raceResults` HistoricalWebRaceResult[], required
    - `r` number, required
    - `rows` HistoricalWebRaceResultRow[], required
      - union[]
        - union
          - string
          - string, nullable
          - HistoricalWebRaceFastestLap, nullable
            - `lap` number, nullable, required
            - `rank` number, nullable, required
            - `speed` number, nullable, required
            - `time` string, nullable, required
          - number, nullable
          - number
    - `y` number, required
  - `seasons` HistoricalWebSeason[], required
    - `constructorStandings` HistoricalWebConstructorStanding[], required
      - `constructorId` string, required
      - `constructorName` string, required
      - `nationality` string, required
      - `points` number, required
      - `position` number, required
      - `wins` number, required
    - `driverStandings` HistoricalWebDriverStanding[], required
      - `constructors` string[], required
      - `driverCode` string, nullable, required
      - `driverId` string, required
      - `fullName` string, required
      - `nationality` string, required
      - `points` number, required
      - `position` number, required
      - `wins` number, required
    - `races` HistoricalWebRace[], required
      - `circuitId` string, required
      - `circuitName` string, required
      - `countryName` string, required
      - `date` string, required
      - `locality` string, required
      - `raceName` string, required
      - `round` number, required
      - `url` string, required
      - `winnerConstructorName` string, nullable, required
      - `winnerName` string, nullable, required
    - `seasonUrl` string, required
    - `year` number, required
  - `source` HistoricalWebDataSource, required
    - `artifactSha256` string, required
    - `commit` string, required
    - `license` 'CC BY 4.0', required
    - `licenseUrl` string, required
    - `name` 'F1DB', required
    - `publishedAt` string, required
    - `releaseUrl` string, required
    - `repositoryUrl` string, required
    - `version` string, required

## Other responses

- `304`: Not modified
- `400`: Invalid request. Typed RFC 9457-compatible JSON (`ErrorResponse`) keeps `ok: false` plus `error` for iOS clients.
- `404`: Resource not found. Typed RFC 9457-compatible JSON (`ErrorResponse`) keeps `ok: false` plus `error` for iOS clients.
- `429`: Too many requests. Public calendar, season, standings, and track GET routes do not currently return 429; they only advertise an informational RateLimit ceiling. MCP cache-miss queries under `/api/v2/mcp/*` may return 429 with Retry-After. Identity and referral routes keep their existing D1 budgets.
- `500`: Internal server error. Typed RFC 9457-compatible JSON (`ErrorResponse`) keeps `ok: false` plus `error` for iOS clients.

---

[API](https://skmtc.dev/racecalendar/apis/race-calendar-formula-1-api.md) · [All operations](https://skmtc.dev/racecalendar/apis/race-calendar-formula-1-api/llms.txt) · [OpenAPI document](https://skmtc.dev/racecalendar/apis/race-calendar-formula-1-api/revisions/b2c2532b5f80?raw)
