---
title: "Compare two Formula 1 competitors"
method: GET
path: "/api/v2/mcp/comparisons"
---

# Compare two Formula 1 competitors

`GET /api/v2/mcp/comparisons`

## Request

- Base URL: `https://api.racecalendar.app`
- URL: `https://api.racecalendar.app/api/v2/mcp/comparisons`
- Auth: none declared

Compares two drivers or constructors in one season using sourced championship data. Cache hits skip the miss limiter; cache misses share a route-family budget and may return 429 with Retry-After.

## Query parameters

- `kind` 'driver' | 'constructor', required: Whether left and right identify drivers or constructors.
- `left` string, required: Left competitor id or name.
- `right` string, required: Right competitor id or name.
- `year` string, required: Four-digit championship year for the comparison.

## Response `200`

Sourced comparison of two drivers or constructors in one season

- McpCompetitorComparisonPayload
  - `comparison` object, required
    - `pointsDifference` number, required
    - `positionAdvantage` number, required
    - `winsDifference` number, nullable, required
  - `generatedAt` string, required
  - `kind` 'driver' | 'constructor', required
  - `leader` 'left' | 'right' | 'tie', required
  - `left` McpCompetitorSummary, required
    - `id` string, required
    - `name` string, required
    - `nationality` string, nullable, required
    - `points` number, required
    - `position` integer, required
    - `teams` string[], required
    - `wins` number, nullable, required
  - `methodology` string, required
  - `right` McpCompetitorSummary, required
    - `id` string, required
    - `name` string, required
    - `nationality` string, nullable, required
    - `points` number, required
    - `position` integer, required
    - `teams` string[], required
    - `wins` number, nullable, required
  - `source` object, required
    - `label` string, required
    - `updatedAt` string, required
    - `url` string, uri, required
  - `year` integer, required

## Other responses

- `400`: Invalid request. Keeps `ok: false` and `error` for existing JSON clients.
- `429`: MCP data query rate limit exceeded after a cache miss. Includes Retry-After and RateLimit headers.
- `500`: Feature query failed. Keeps `ok: false` and `error` for existing JSON 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)
