# Formula 1 Odds API | Formula 1 Odds, Player Props & Results
URL: https://sockodds.com/leagues/f1-odds-api/

> Our Formula 1 odds API delivers Formula 1 odds, player props and results for every race from 9 bookmakers, 8 Australian. Free tier available.

Our Formula 1 odds API delivers FIA Formula One World Championship odds, player props, status and results for every race from 9 bookmakers, 8 of them Australian. `leagueID=F1`. Free tier available.

Whether you're building a betting app, an odds comparison tool or a pricing model, the Formula 1 odds API gives you structured data in the SportsGameOdds v2 shape so you can move fast.

## Formula 1 Odds API Features

Every endpoint is filterable, so you pull exactly the markets you need. Coverage spans 0 teams and 3 events currently carried, with 100 market families.

Available Formula 1 betting markets include:

- Head to head / moneylines (2-way and 3-way markets)
- Lines, spreads and handicaps
- Totals (over/under)
- Alternative lines
- Player props and game props
- Period-specific markets (`season`)

All market data is pre-match, refreshed every ~2 minutes; see [pricing](https://sockodds.com/pricing/) for what each plan can see.

## Formula 1 Player Props API

Access 7 Formula 1 player proposition markets through the same endpoint — Podium, Points / score, Constructor race, Constructor race wins, Constructor championship, Race wins — for every player the books price. See the [player prop odds API](https://sockodds.com/player-props-odds-api/) for the market list across every sport.

Filter by `playerID`, stat type or bookmaker to return only the props you need.

## Formula 1 Odds API with Results

SockOdds delivers Formula 1 odds and event data together in one response — no need to stitch data from multiple sources. Each response includes:

- Upcoming Formula 1 events with status flags
- Home and away team data with ids
- Players with production ids where present
- Full odds coverage: lines, totals, head to head, props and alternative lines
- Results and `scoringSupported` flags where the source grades

Line movement tracking is yours to build: every bookmaker entry carries `lastUpdatedAt`, and finished events are retained.

## Quick start: your first Formula 1 odds API call

Getting Formula 1 odds takes a single HTTP request:

```
https://api.sockodds.com/v2/events?apiKey=YOUR_API_KEY&oddsAvailable=true&leagueID=F1&limit=10
```

This returns all available markets — lines, totals, head to head and props — for upcoming Formula 1 events.

To narrow to a specific market, use the `oddID` parameter, with `PLAYER_ID` standing for every player:

```
https://api.sockodds.com/v2/events?apiKey=YOUR_API_KEY&oddsAvailable=true&leagueID=F1&oddID=podium-PLAYER_ID-game-yn-yes&includeOpposingOdds=true
```

OddIDs follow the format `{statID}-{statEntityID}-{periodID}-{betTypeID}-{sideID}`, where the entity is a player for props and `home`, `away` or `all` for team and game markets.

Tips to keep responses fast:

- Add `bookmakerID=picklebet,betright` to limit to the bookmakers you care about
- Use `includeOpposingOdds=true` so you only need to specify one side of a market
- Keep your `oddID` list tight — only request markets you're actively using

### What a Formula 1 response looks like

Every event returns an `odds` object keyed by `oddID`. Here's a real market from the feed with the bookmaker list cut to two books:

```json
{
  "eventID": "f1_2026_canadian_grand_prix",
  "leagueID": "F1",
  "odds": {
    "podium-alex-albon-game-yn-yes": {
      "oddID": "podium-alex-albon-game-yn-yes",
      "opposingOddID": null,
      "marketName": "Podium Finish",
      "statID": "podium",
      "statEntityID": "alex-albon",
      "periodID": "game",
      "betTypeID": "yn",
      "sideID": "yes",
      "fairOdds": null,
      "bookOdds": 20000,
      "byBookmaker": {
        "betright": {
          "available": true
        },
        "picklebet": {
          "available": true
        }
      }
    }
  }
}
```

Two things worth noting. Odds values are strings, not numbers, so `-108` arrives as `"-108"` — that keeps the leading `+` intact on underdog prices — and every book also carries `decimal`, because Australian books quote decimal. `bookOdds` is the consensus with the vig left in; `fairOdds` is the de-vigged price on Base and above, `null` where it cannot be computed.

## Formula 1 Odds API Technical Specifications

### API Architecture

- **REST API** — Simple HTTP endpoints with JSON responses, identical to the SportsGameOdds v2 paths
- **Polling, not push** — the feed refreshes every ~2 minutes; `/v2/stream/events` is reserved and answers 501 rather than pretending
- **Rate limits** — per-key, per-minute meters that bind under concurrency; plans sized to your usage
- **Authentication** — secure API key access via the `x-api-key` header or `apiKey` query parameter

### Data Update Speed

- **Odds updates** — every ~2 minutes across every bookmaker lane
- **Event status** — `status` flags and `info.stale` tell you exactly how current a price is

### Developer Resources

- [Interactive documentation](https://sockodds.com/docs/) — live examples, copy-paste snippets and an [AI (vibe coding)](https://sockodds.com/docs/info/ai-vibe-coding/) context
- [SDKs & libraries](https://sockodds.com/docs/sdk/) — the SportsGameOdds SDKs for TypeScript, Python, Ruby, Go and Java work unchanged with the base URL pointed here
- [Postman collection](https://sockodds.com/postman-collection/) — pre-built requests ready to run
- [Support](https://sockodds.com/docs/help/) — email support on every plan, priority on paid plans

### Formula 1 betting market coverage in the SockOdds API, by category

| Market category | Example markets | Markets | Availability | Typical bookmakers |
| --- | --- | --- | --- | --- |
| **Player props** | Podium yes/no, Points / score, Constructor race, Constructor race wins O/U, Constructor championship, Race wins O/U, Championship | 7 oddIDs | Pre-match | [Picklebet](https://sockodds.com/bookmakers/picklebet-odds-api/), [BetRight](https://sockodds.com/bookmakers/betright-odds-api/), [PointsBet](https://sockodds.com/bookmakers/pointsbet-odds-api/), [Sportsbet](https://sockodds.com/bookmakers/sportsbet-odds-api/), [Pinnacle](https://sockodds.com/bookmakers/pinnacle-odds-api/), [Ladbrokes](https://sockodds.com/bookmakers/ladbrokes-odds-api/) |

**See every Formula 1 market with its exact oddID** in the [markets browser](https://sockodds.com/docs/data-types/markets/?league=F1).

## Use Cases

- [Arbitrage](https://sockodds.com/use-cases/arbitrage-betting-api/) & [+EV tools](https://sockodds.com/use-cases/positive-ev-betting-api/) — compare Formula 1 odds across every Australian bookmaker to uncover arbitrage opportunities and positive expected value angles.
- [Odds comparison platforms](https://sockodds.com/use-cases/odds-comparison-api/) — display Formula 1 odds from every book side by side for comprehensive line shopping.
- **Pricing models & trading** — use Formula 1 market data as inputs for proprietary pricing algorithms and betting strategies.
- [Sports analytics & research](https://sockodds.com/use-cases/sports-betting-machine-learning/) — examine Formula 1 line movements and betting-market patterns, and build predictive models on retained events.
- [Betting automation](https://sockodds.com/use-cases/odds-alert-bot-api/) — build systems that monitor Formula 1 lines across bookmakers and trigger actions when your target odds appear.
- [Sportsbook & fantasy apps](https://sockodds.com/use-cases/sports-betting-app-api/) — power your Formula 1 product with reliable odds, status and bet-slip deeplinks.

## Formula 1 Odds API Documentation

Our interactive documentation covers everything you need to integrate Formula 1 odds into your project:

- Full endpoint reference with parameters and response schemas
- Live request and response examples
- Code snippets in Python, JavaScript, Ruby, Go and Java
- Authentication setup and API key management
- Rate limiting and the `notice` field
- Error handling and troubleshooting

[View documentation](https://sockodds.com/docs/)

For more on querying `/v2/events` with Formula 1-specific examples, see the [API documentation](https://sockodds.com/docs/basics/).

## Frequently asked questions

### What Formula 1 betting markets does the API cover?

7 distinct markets right now: Podium, Points / score, Constructor race, Constructor race wins, Constructor championship, Race wins, Championship and more — pre-match, across 9 bookmakers.

### Does the API cover props, status and results in one feed?

Yes, from the same request. A single `/v2/events` call returns the game lines, the props, the event status and the results the source has, so there is no separate results API to reconcile. Each market carries `scoringSupported` and the event carries `status.finalized`.

### How often is Formula 1 odds data updated?

Every ~2 minutes across every bookmaker lane. Each bookmaker entry carries `lastUpdatedAt`.

### Can I get historical Formula 1 odds data?

Finished events are retained, so your archive starts when you start pulling. Opening and closing lines are not snapshotted yet.

### Is there a free trial?

Yes — a free Lite key covers AFL and NRL; Base unlocks every league including Formula 1. [Get a key →](https://sockodds.com/signup/)

### Which bookmakers are included?

9 bookmakers price Formula 1, 8 of them Australian: Picklebet, BetRight, PointsBet, Sportsbet, Pinnacle, Ladbrokes, Neds, Unibet and more.

### Are live Formula 1 odds available?

Event status is live; prices are pre-match first and refresh every ~2 minutes.

### How are markets identified in the API?

Every market uses a structured oddID in the format `{statID}-{statEntityID}-{periodID}-{betTypeID}-{sideID}` — for example `podium-PLAYER_ID-game-yn-yes`. The same pattern lets you construct, filter and parse markets programmatically.

### Can I compare bookmaker odds?

Yes — every market returns prices from every supporting bookmaker under one `oddID`, so lining up the best available price across Picklebet, BetRight, PointsBet, Sportsbet and the rest is straightforward.

## Start building today

Free plan available. Set up in 5 minutes. Scale when you're ready.
