# GET /v2/fixtures/{id}/odds/winning

Group: Betting odds

Winning odds: for each side’s win price, the chance the price implies and how often sides at that price have actually won — the data source’s own figures, a quick read on whether the market under- or overrates a side. Pro, Business and Enterprise plans.

Plans: Pro and up (other plans get 403 endpoint_not_in_plan).

Note: expectedWinPercentage is what the price implies (about 100 / decimal, rounded; the bookmaker’s margin is left in); actualWinPercentage is how often a side at that price won, per the data source — it does not publish the sample or the period. The price is the source’s own pre-match pick and need not equal any current or opening price of /v2/fixtures/{id}/odds. Two-way: there is no draw entry. A side is null where the source has no figures for it (it can list one side only); both sides and updatedAt are null for fixtures it does not cover — most minor leagues, doubles, matches far ahead. Refreshed like the odds (about 30 seconds in play).

## Parameters

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `id` | path | yes | our numeric id (positive integer) |

## Response

- `data`: `WinningOdds`
- Objects: WinningOdds (https://sportsapi.app/markdown/en/reference.md#winningodds)

## Errors

- 403 endpoint_not_in_plan — Free and Starter keys
- 403 history_not_in_plan — the fixture is older than your plan’s history
- 404 not_found — an id we never issued

Plus the common errors (https://sportsapi.app/markdown/en/docs.md#errors).

## Request

cURL:

```bash
curl -H "Authorization: Bearer sk_live_…" \
    "https://api.sportsapi.app/v2/fixtures/{id}/odds/winning"
```

TypeScript:

```ts
const { data, meta } = await client.fixtures.winningOdds(id);
```

Python:

```python
res = client.fixtures.winning_odds(id)
```

Go:

```go
res, err := client.Fixtures.WinningOdds(ctx, id)
```

CLI:

```bash
$ sportsapi fixtures winning-odds <id>
```

## Example response

```json
{ "data": { "fixtureId": 701230, "updatedAt": "2026-11-06T01:20:00.000Z",
    "home": { "fractional": "33/20", "decimal": 2.65, "expectedWinPercentage": 38, "actualWinPercentage": 38 },
    "away": { "fractional": "157/100", "decimal": 2.57, "expectedWinPercentage": 39, "actualWinPercentage": 47 } } }
```

---

Base URL: https://api.sportsapi.app. Send your API key as `Authorization: Bearer <key>` on every /v2 request; keys are created in the dashboard (https://sportsapi.app/dashboard).
HTML: https://sportsapi.app/docs/odds/fixtures-winning-odds · All docs: https://sportsapi.app/markdown/en/docs.md
