# Formula1 — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> 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.

**Category:** Sports | **Website:** [formula1.com/](https://formula1.com/) | **Docs:** [parse.bot/marketplace/e20d976d-ec54-433c-b025-2680e9e4dea3/formula1-com-api](https://parse.bot/marketplace/e20d976d-ec54-433c-b025-2680e9e4dea3/formula1-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-formula1-com-api-e20d976d/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_award_results

Get specific award results such as Driver of the Day. Returns voting data with percentages and driver details for each meeting in the season.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `award_path` | string | Yes | Award identifier path. Use 'driver-of-the-day' for full-season results, or append a meeting filter such as 'driver-of-the-day?meeting=1229' to scope to a specific Grand Prix. |
| `year` | string | Yes | Season year (e.g. 2024) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-formula1-com-api-e20d976d/get_award_results \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"award_path":"<string>","year":"<string>"}'
```

### get_driver_standings

Get Drivers' Championship standings for a season. Returns all drivers with their championship points and positions. Note: the drivers array may be unordered by position; sort by positionNumber client-side if needed.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `year` | string | Yes | Season year (e.g. 2024, 2025) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-formula1-com-api-e20d976d/get_driver_standings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"year":"<string>"}'
```

### get_fastest_laps

Get fastest lap times recorded during a race, ranked by lap time. Includes lap number, time of day, average speed, and classified time for each driver.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `meeting_id` | string | Yes | Meeting ID obtained from get_meetings_list |
| `year` | string | Yes | Season year (e.g. 2024) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-formula1-com-api-e20d976d/get_fastest_laps \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"meeting_id":"<string>","year":"<string>"}'
```

### get_meetings_list

Get list of Grand Prix meetings for a season. Returns an array of meeting objects with location names, numeric IDs, and country information. Use the meeting ID (value field) to query session-specific endpoints.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `year` | string | Yes | Season year (e.g. 2024, 2025) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-formula1-com-api-e20d976d/get_meetings_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"year":"<string>"}'
```

### get_pit_stop_summary

Get pit stop summary for a race including stop times and lap numbers for each driver. Ordered chronologically by lap number.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `meeting_id` | string | Yes | Meeting ID obtained from get_meetings_list |
| `year` | string | Yes | Season year (e.g. 2024) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-formula1-com-api-e20d976d/get_pit_stop_summary \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"meeting_id":"<string>","year":"<string>"}'
```

### get_practice_result

Get practice session results (FP1, FP2, or FP3) for a specific Grand Prix meeting. Returns lap times, gaps, and laps completed for all drivers.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `meeting_id` | string | Yes | Meeting ID obtained from get_meetings_list |
| `session_number` | string | No | Practice session number: 1, 2, or 3 |
| `year` | string | Yes | Season year (e.g. 2024) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-formula1-com-api-e20d976d/get_practice_result \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"meeting_id":"<string>","session_number":"<string>","year":"<string>"}'
```

### get_qualifying_result

Get qualifying session results including Q1, Q2, and Q3 lap times for each driver, along with grid positions and laps completed.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `meeting_id` | string | Yes | Meeting ID obtained from get_meetings_list |
| `year` | string | Yes | Season year (e.g. 2024) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-formula1-com-api-e20d976d/get_qualifying_result \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"meeting_id":"<string>","year":"<string>"}'
```

### get_race_result_detail

Get detailed race results for a specific Grand Prix meeting including all finishing positions, race times, gaps to leader, laps completed, and points scored.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `meeting_id` | string | Yes | Meeting ID obtained from get_meetings_list (e.g. 1229) |
| `year` | string | Yes | Season year (e.g. 2024) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-formula1-com-api-e20d976d/get_race_result_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"meeting_id":"<string>","year":"<string>"}'
```

### get_race_results_by_season

Get full season schedule including race winners for each event. Returns event listings with top 3 finishers, meeting details, circuit info, and calendar information. Includes both race and testing events.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `year` | string | Yes | Season year (e.g. 2024) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-formula1-com-api-e20d976d/get_race_results_by_season \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"year":"<string>"}'
```

### get_session_datasets

List all available data sessions for a Grand Prix meeting. Useful for discovering which result types (race, qualifying, practice, fastest laps, pit stops, starting grid) are available for a given meeting.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `meeting_id` | string | Yes | Meeting ID obtained from get_meetings_list |
| `year` | string | Yes | Season year (e.g. 2024) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-formula1-com-api-e20d976d/get_session_datasets \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"meeting_id":"<string>","year":"<string>"}'
```

### get_starting_grid

Get the starting grid positions for a race. Returns each driver's grid position and qualifying time.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `meeting_id` | string | Yes | Meeting ID obtained from get_meetings_list |
| `year` | string | Yes | Season year (e.g. 2024) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-formula1-com-api-e20d976d/get_starting_grid \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"meeting_id":"<string>","year":"<string>"}'
```

### get_team_standings

Get Constructors' Championship standings for a season. Returns all teams with championship points, position, and their drivers.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `year` | string | Yes | Season year (e.g. 2024) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-formula1-com-api-e20d976d/get_team_standings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"year":"<string>"}'
```

### get_world_champion_by_year

Get the World Champion driver for a given year. Finds the driver with positionNumber 1 from the driver standings. Returns upstream_error if no champion data is available for the requested season.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `year` | string | Yes | Season year (e.g. 2024) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-formula1-com-api-e20d976d/get_world_champion_by_year \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"year":"<string>"}'
```
